我使用的问题与此处显示的代码类似。 Java and AppStore receipt verification
但我最终还是得到了
{"status":21002, "exception":"java.lang.IllegalArgumentException"}
Base64编码会出现问题吗?我是否必须将base64编码的字符串转换为十六进制或其他内容?。
我发布的内容类似于以下
{"receipt-data" : "eyJzaWduYXR1cmUiOiJBbjNJVER0VVNmZWNhaGMxR.....
答案 0 :(得分:3)
问题在于Java内的Base64编码。当我在IOS中进行编码并将其作为来自服务器的请求而不使用Java中的任何编码时,它就可以工作了。
答案 1 :(得分:1)
我遇到了类似的问题,并且在尝试验证服务器上的收据时收到Apple的java.lang.IllegalArgumentException。问题是我的base64编码逻辑是在编码字符串中插入换行符。一旦我更新了我的代码以确保没有新的换行符插入到编码的字符串中,我就能够成功验证我对Apple服务器的收据。