【问题标题】:IOS Receipt validation IllegalArgumentExceptionIOS 收据验证 IllegalArgumentException
【发布时间】:2014-04-04 23:01:21
【问题描述】:

我使用与问题中所示类似的代码。 Java and AppStore receipt verification

但我最终还是得到了

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

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

我发的和下面的差不多

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

【问题讨论】:

    标签: java ios app-store


    【解决方案1】:

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

    【讨论】:

    • 这似乎很奇怪,不是吗?也许您从 Apple 获得的收据与您的后端收到的方式有所不同?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-24
      • 2015-12-26
      • 2015-01-08
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 2023-04-05
      • 2014-07-19
      相关资源
      最近更新 更多