1

我收到如下回复。

{"status":21002, "exception":"java.lang.NullPointerException"} 

我仅使用 Base64 对收据进行编码。

我正在沙箱中测试它。

会有什么问题?谁能帮我?

4

4 回答 4

2

VIP 值得注意的是,21002 也是您在尝试验证通过根 iTunes 黑客软件(如 Urus 应用程序)发起的交易时收到的消息。

我们验证服务器端的所有交易,因此不依赖于设备,唯一获得 21002 响应的交易都不是真正的支付。

一种简单的方法来查看返回的交易 id Urus 给出了 com.urus.iap.XXXXXXX(x 是随机数),其他方法包括将包名称作为完成的交易 id 返回,所有这些都与你得到的 id 非常不同来自各种 iTunes 服务器。

我不能再推荐每个人都在一个你可以控制、测试和证明的环境中验证服务器端,这是不能被操纵的(除非你被黑了)。如果这不是一个选项,那么不要支付 21002 响应。

在 java 环境中验证 21002 的 json 响应将是: json: {"status":21002,"exception":"java.lang.ClassCastException"}

于 2012-06-19T22:20:01.077 回答
2

大家好,我得到了解决方案

只需将编码后的收据数据作为 json 编码为 base 64 并使用键“receipt-data”发送

于 2010-06-09T08:56:24.147 回答
1

我们遇到了同样的问题 - 直到我们发现我们没有在请求中包含帖子正文并且只发送了一个空请求。

于 2010-04-13T13:37:40.300 回答
0

在我的头撞到墙上 2 天后,唯一对我有用的选择: 在沙箱中测试

请注意苹果的这条建议“重要不要在设置应用程序中使用您的测试帐户登录”。

在编码为 base 64 之前,确保在测试设备上退出“测试”苹果商店帐户。

于 2012-03-25T10:36:06.867 回答