用于数字商品的Google电子钱包停止运作

时间:2013-11-17 12:06:13

标签: postback android-pay

我们正在努力将Google电子钱包与数字商品整合在一起,或者是2天前,我们已经设法让它运转起来。但是,当第二天甚至今天再次检查时,虽然代码保持不变,但我们没有更改其中的字母,它仍然无效,给我们这个错误:

哦,哦。有一个问题。

由于技术问题,我们无法完成您的购买。

以下问题的详细信息:很遗憾,我们无法通过商家的服务器确认您的购买。您的订单已被取消。如果此问题仍然存在,请与商家联系。

我们使用的代码是:

    $response = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : file_get_contents("php://input");

    $response = substr_replace($response, "", 0, 4);   //remove "

    $response = JWT::decode($response, $sellerSecretKey);

    header("HTTP/1.1 200 OK");

就像我说它在两天前工作正常而且我感觉它现在也在工作,因为在我们的日志文件中我们打印出这个回复

stdClass对象 (     [iss] =>谷歌     [请求] => stdClass对象         (             [name] =>产品1。             [描述] =>您从我们的商店购买了1件商品。谢谢。             [price] => 9.99             [currencyCode] =>美元             [sellerData] =>客户名称,电子邮件地址         )

[response] => stdClass Object
    (
        [orderId] => GWDG_S.c7a66f5b-4674-43f0-be16-2b72f69a7445
    )

[typ] => google/payments/inapp/item/v1/postback/buy
[aud] => 03083876603093172875
[iat] => 1384689627
[exp] => 1384689647

正确指定了回发网址,我们正在使用沙箱进行测试。

这是Google的问题吗?他们是在研究软件还是什么东西,这是导致问题的原因吗?或者我们在这里做错了什么?。

任何帮助都会被贬低。谢谢。

1 个答案:

答案 0 :(得分:0)

意味着评论但不适合......

该错误指向Postback handler中的内容。我刚试过沙箱,事情似乎很好。

一个php dev所以这可能不准确 - 您是否使用orderId回复了Postback?同样,这只是基于我对上面代码的阅读(我我只看到http 200?)

我能想到的唯一另一件事是你回答的滞后时间超过10秒(?) - 可以解释为什么可能是你记录数据的另一个原因,但谷歌仍然取消了它。

* 打击文字:您需要记录数据,因为Google会向您发送数据,而不管您是否正确回复

  

使用卖家秘密解码JWT后,您可以确保购买蛋糕并将其记录下来。 在10秒内接收回发,您的服务器必须发送200 OK响应,其中唯一的内容是“orderId”字段的值。如果没有,Google会取消该交易。

     

参考:https://developers.google.com/commerce/wallet/digital/docs/postback#responding

H个。