Google电子钱包:使用PHP在数据库中存储订单ID

时间:2014-06-04 03:50:54

标签: php android-pay

创建订阅时,我会记录在数据库中创建的orderID,以便稍后引用它以处理取消postback。我的取消postback似乎永远不会奏效。

我的postback会在创建原始订单时存储原始订单,然后在取消时尝试引用该订单并更新数据库,但orderID略有不同且无法正确更新。

这是直接从数据库中解码的JWT存储的orderID

GWDG_S.886160e8-49b6-4f92-b485-9787c4cb4c06.0..0

这是在订阅取消期间根据控制台中的firebug发送的orderID

GWDG_S.886160e8-49b6-4f92-b485-9787c4cb4c06.0.

这是通过电子邮件发送给取消订阅的用户的orderID

GWDG_S.886160e8-49b6-4f92-b485-9787c4cb4c06

我不确定这里发生了什么。我如何考虑这些变化?

欢迎任何输入!谢谢!

2 个答案:

答案 0 :(得分:1)

似乎无法在我的沙箱中重现...

订阅购买

在测试网页

javscript alert box


买家的沙盒钱包

buyer wallet sandbox


回发数据

这是我发给自己的调试电子邮件,显示购买和后续取消回发


email screenshot


买家确实收到的信息相信是"递增"每次订阅续订时,您看到的交易号码(除非我由Google员工纠正) -

e.g。在第5次续订[...]6a6c4.0..5


一段时间内取消回传示例:

long subscription cancellation

答案 1 :(得分:0)

看起来您需要将orderID标准化为最后一种格式。对于这个特殊的,正如下面的正则表达式那样。

preg_match('([^\.]+\.[^\.])\.', $orderID, $matches);
$orderID = $matches[1];