我正在将我们的游戏转移到新的本地货币支付系统。
它适用于成功的测试支付,但是当我想用测试用户测试失败的支付时,它的行为并不像我预期的那样。
根据此处的 Facebook 文档,它将发送一个看起来像这样的 javascript 对象:
{
"payment_id": 375225169259274,
"quantity": 1,
"status": "completed",
"signed_request": "bjyedxDDlRj..."
}
当我使用设置总是成功测试付款时,会发送此 javascript 对象。
但是,当我使用设置always fail测试付款时,不会发送此 javascript 对象。
Facebook 支付对话框显示:“这是测试凭据的预期失败。” 而且我还在服务器上收到实时更新,但付款对话框保持打开状态,并带有Retry和Cancel选项。
当我点击取消时,游戏只收到一个带有用户取消错误代码的 javascript 对象,但没有收到付款失败的错误代码。
Facebook 文档特别指出
JS 回调返回的订单状态可以是已 启动、已完成或已失败。仅当状态已完成时,开发人员才应履行订单。如果您看到已启动的状态,则表明付款尚未完成。您应该向用户显示一条消息,让他们知道付款待处理,并且一旦付款完成,订单就会被履行。
所以我假设我应该"status":"failed"
在付款失败时获得一个 javascript 对象。
有人遇到同样的问题吗?如果付款失败,有谁知道如何知道客户端?这只是测试付款的问题吗?