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