3

我使用与问题中显示的代码类似的代码。 Java 和 AppStore 收据验证

但我最终还是得到了

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

Base64编码有问题吗?我是否必须将 base64 编码的字符串转换为十六进制或其他?

我发布的内容类似于以下内容

{"receipt-data" : "eyJzaWduYXR1cmUiOiJBbjNJVER0VVNmZWNhaGMxR.....
4

2 回答 2

3

问题在于 Java 中的 Base64 编码。当我在 IOS 中进行编码并将其用作来自服务器的请求而没有在 Java 中进行任何编码时,它就起作用了。

于 2013-02-18T07:48:00.010 回答
1

我遇到了类似的问题,并且在尝试验证服务器上的收据时收到了来自 Apple 的 java.lang.IllegalArgumentException。问题是我的 base64 编码逻辑在编码字符串中插入了换行符。一旦我更新了我的代码以确保没有新的换行符被插入到编码的字符串中,我就能够成功地根据 Apple 的服务器验证我的收据。

于 2014-04-04T14:37:14.507 回答