切换到新的Facebook本地货币API后,该过程正在运行,但是 我的服务器不涉及这个过程所以我真的不知道用户是否购买了硬币因为现在没有调用支付回调URL(使用静态支付)。
我尝试使用实时更新来获取Facebook数据,但可以使其正常工作,让服务器参与流程的最佳做法是什么,以便了解购买情况?
出于安全原因,我更倾向于从Facebook而不是从我的客户那里获取更新。
答案 0 :(得分:0)
在搜索日志后我找到了解决方案
有两种主要方法可以通知您购买结果,以及另一种验证付款信息的方法。
首先,Facebook将通过JavaScript回调返回订单的详细信息。发送到此回调的数据包括:
payment_id,唯一标识交易。 数量,表示已售出商品的数量。 request_id,可选地,开发人员可以在调用我们的Javascript SDK来呈现支付对话框时为交易提供他们自己的唯一标识。购买完成后,将返回此值。 status,表示交易的当前状态,即“待定”,“已完成”,“失败”等。
其次,Facebook将发布实时更新,通知开发人员新订单已完成。开发人员可以使用payment_id作为每笔交易的唯一标识参数来订阅payment_object回调以跟踪订单完成情况。
第三,在任何时候,payment_id都可用于通过Graph API验证交易的详细信息。可以使用payment_id查询关联的user_id,updated_time和amount等详细信息。 Graph API还允许您访问更多详细信息,包括与交易相关的任何退款或争议。
如果由于某种原因,JavaScript回调和实时更新都失败并且您没有收到payment_id,我们还允许您使用可选的request_id参数查询Graph API,该参数可由开发人员在调用Facebook时指定付款对话框。
请参考: https://developers.facebook.com/docs/concepts/payments/ 并: https://developers.facebook.com/docs/howtos/payments/fulfillment/#rtu