我们正试图将谷歌钱包与数字商品集成在一起或2天前,11月15日我们设法努力工作。但是,当第二天再次检查第二天甚至今天,虽然代码仍然相同,但我们没有改变它的字母,它仍然没有工作,给我们这个错误:

哦哦。有问题。

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

问题的详细信息:不幸的是,我们无法使用商家的服务器确认您的购买。您的订单已被取消。如果持续这个问题,请联系商家。

我们使用的代码是这样的:

    $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]=> Google [请求]=> stdclass对象 ( [名称]=>产品1。 [描述]=>您可以从我们的商店购买1个产品。谢谢你。 [价格]=> 9.99 [CurrencyCode]=> USD [谢斯达达特]=>客户名称,电子邮件地址 )

[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
.

正确指定了回波URL,我们正在使用沙箱进行测试。

这是谷歌的问题吗?他们是否正在研究软件或某事,这就是导致问题的原因?或者我们在这里做错了吗?。

任何帮助将多得多。谢谢。

有帮助吗?

解决方案

意味着评论,但它不会适合...

将错误点指向您的回波处理程序。我刚试过沙箱,事物看起来很好。

not 一个php dev,所以这可能是不准确的 - 你是否响应了hostacicetagcode?同样,这仅基于我的读取上面的代码(我认为我只看到http 200?)

我可以想到的唯一其他事情是你要回应的滞后是超过10秒(?) - 哪个可以解释为什么可能是另一个原因你已经记录了数据,但谷歌<罢工>仍然取消了它。

* 攻击通过文本:您将数据获取到日志,因为谷歌将向您发送数据,这是您是否正常响应,这是最重要的

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

ref: https://developers.google.com/commerce/钱包/数字/文档/回发#响应

hth。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top