也许这是一个愚蠢的问题,但我不是一个高级程序员.我已经成功为我的应用设置了应用内付款,但它只能在不使用回发网址的情况下运行.
我已经谷歌大约几个小时试图解决这个问题但没有成功.希望任何人都可以帮助我.我已经包含了处理帖子数据的脚本,这显然有些不对劲.这就是Google所说的:
您的服务器必须为Google发送到您的回发URL的每条HTTP POST消息发送200 OK响应.要发送此响应,您的服务器必须:
解码在POST消息的jwt参数中指定的JWT.检查以确保订单正常.获取JWT的"orderId"字段的值.发送200 OK响应,其中只包含一个正文:您在步骤3中获得的"orderId"值.
这是我写的,但据我所知,没有办法测试它(我如何模拟谷歌的帖子?).
require_once 'include/jwt.php'; // including luciferous jwt library
$encoded_jwt = $_POST['jwt'];
$decoded_jwt = JWT::decode($encoded_jwt, "fdNAbAdfkCDakJQBdViErg");
$decoded_jwt_array = (array) $decoded_jwt;
$orderId = $decoded_jwt_array['response']['orderId'];
header("HTTP/1.0 200 OK");
echo $orderId;
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.谢谢蒂姆
一年后我遇到了同样的问题,用以下代码解决了这个问题:
require_once 'include/jwt.php'; // including luciferous jwt library
$encoded_jwt = $_POST['jwt'];
$decodedJWT = JWT::decode($jwt, $sellerSecret);
// get orderId
$orderId = $decodedJWT->response->orderId;
header("HTTP/1.0 200 OK");
echo $orderId;
Run Code Online (Sandbox Code Playgroud)
Google电子钱包的In App Purchase文档相对较新,缺乏回调方面.此代码适用于沙箱和生产方面,只需确保您使用自己的卖家秘密.