IOS支付,服务端二次验证返回21002

我在前端支付后,将receipt传到java服务端进行验证,并将receipt进行了base64编码,用的是utf-8进行编码,并将编码后的结果组成json格式,key是receipt-data,value是receipt的base64编码后的字符串,验证地址是沙箱测试环境:https://sandbox.itunes.apple.com/verifyReceipt
但是始终收到结果:{"status":21002, "exception":"java.lang.IllegalArgumentException"} 请问各位大神有没有遇到过一样问题的,求大神帮忙解决

你的jdk版本可能高了

https://blog.csdn.net/fg313071405/article/details/16987313

个人认为是你base64编码的问题,网上搜一下别人的base64代码替换一下试试,如果还有问题,查看你的秘钥和公钥有没有引用错,或者是你jdk版本的问题

已经解决了,我用的是u3d的iap插件,客户端返回的收据receipt,里面的Payload是苹果的返回的收据并已经base64编过码的,我把整个receipt又编码了一遍