Ошибка IAP Facebook Instant Game: {код: НЕИЗВЕСТНО, сообщение: Продукт не доступен для покупки}

Я разрабатываю игру для клиента и мы сейчас тестируем платежи/покупки.

Итак, на странице настройки покупок в приложении я: 1.) добавил учетную запись Dev в список тестировщиков 2.) создал продукт

Мой код выглядит так:

let supportedAPIs:any = FBInstant.getSupportedAPIs();
if(supportedAPIs.includes('payments.purchaseAsync'))
{
    console.log('payments supported...');

    FBInstant.payments.onReady(() => {
        console.log('payments ready...');

        FBInstant.payments.purchaseAsync({
            productID: 'my_temp_prod'
        }).then((purchase) => {
            console.log(purchase);
        }).catch((err) => {
            console.log(err);
        });
    });
}

Я попытался запустить его на Android, и однажды он показал мне следующее:

введите здесь описание изображения

После нажатия «ОК» диалоговое окно оплаты не отображалось, и я никогда не мог получить диалоговое окно оплаты на Android.

Затем я попытался протестировать его в версии для настольного браузера, и код просто приводит к ошибке {code: "UNKNOWN", message: "Product not purchaseable"}.

Я все еще могу видеть, что «поддерживаемые платежи» и «платежи готовы» вышли из системы, поэтому я знаю, что по крайней мере эта часть работает, но я не могу вызвать тестовое диалоговое окно.

Мы ничего не упускаем? У нас уже есть настройка платежного аккаунта.

введите здесь описание изображения


person threedollarbill    schedule 25.06.2018    source источник


Ответы (1)


Ок, получается надо использовать consumePurchaseAsync после удачной покупки. Вы также можете использовать getPurchasesAsync, чтобы проверить, остались ли какие-либо оставшиеся покупки, которые необходимо выполнить.

Плохо, я думал, что покупки для мгновенных игр работают, как обычные игры FB (там не нужно было «потреблять» продукты). Для тех, кто может быть потерян, я надеюсь, что это поможет.

person threedollarbill    schedule 26.06.2018