0

我正在为客户开发游戏,我们现在正在测试付款/购买。

所以在应用内购买设置页面中,我已经: 1.) 向测试人员列表添加了一个开发帐户 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"}错误。

我仍然可以看到“支持付款”和“付款准备就绪”已注销,因此我知道至少该部分正在工作,但我无法显示测试对话框。

我们错过了什么吗?我们也已经设置了付款帐户。

在此处输入图像描述

4

1 回答 1

0

好的,事实证明您必须consumePurchaseAsync在成功购买后使用。您还可以使用getPurchasesAsync来检查是否还有剩余的购买需要完成。

我的错,我认为购买即时游戏就像普通的 FB 游戏一样(你不必在那里“消费”产品)。对于任何可能迷路的人,我希望这会有所帮助。

于 2018-06-26T17:57:25.807 回答