Php 谷歌钱包:如何在成功处理程序中包含订单ID?

Php 谷歌钱包:如何在成功处理程序中包含订单ID?,php,javascript,android-pay,Php,Javascript,Android Pay,我正在用PHP和HTML/JavaScript在一个网站上实现Google Wallet for Digital Goods Google将等待10秒钟,让postback.php以200/ok响应并输出订单ID。如果发生这种情况,它将向信用卡收费并调用success\u handler函数。但是,在10秒无响应后,它将取消事务并触发失败处理程序功能 我想保护自己不受服务器速度慢的影响,只想在调用成功处理程序的情况下交付数字产品。为了防止欺诈,我需要验证订单ID是否正确(因为successhan

我正在用PHP和HTML/JavaScript在一个网站上实现Google Wallet for Digital Goods

Google将等待10秒钟,让postback.php以200/ok响应并输出订单ID。如果发生这种情况,它将向信用卡收费并调用success\u handler函数。但是,在10秒无响应后,它将取消事务并触发失败处理程序功能

我想保护自己不受服务器速度慢的影响,只想在调用成功处理程序的情况下交付数字产品。为了防止欺诈,我需要验证订单ID是否正确(因为successhandler是客户端)


如何将交易的订单ID输入成功处理程序,以便在我的系统中进行验证,如果所有匹配项都匹配,则确保我收到了钱并交付了数字商品?正如您所指出的,为了防止欺诈,您需要向服务器检查调用成功处理程序的事务是否与对服务器进行的相应回发调用相匹配

您需要匹配两个回调返回的订单ID。订单Id是成功处理程序或服务器回发(在“响应”->“订单Id”下)中返回的jwt的一部分:


完美!因此,成功/失败处理程序函数包含一个结果参数
success\u handler=function(result)
,该参数保存所有必要的信息(特别是订单ID或错误类型)。从那里我可以调用
result['response']['orderId']
以及
result['request']['sellerData']
。有道理!:-)谢谢你,我相信你提供的关于故障处理程序的信息并不十分准确。根据本文档所述,我认为
failure\u handler=function(result)
会给我
result['request']['sellerData']
result['response']['errorType']
。后者是正确的,但对于卖方数据和对象“层”中的任何值,都在
结果['request']['request']['price']
下(另一个“request”层)。还是我读错了什么?