2013-02-15 50 views
3

我使用類似的代碼,如在此處顯示的問題。 Java and AppStore receipt verificationIOS收據驗證IllegalArgumentException

但我還是最終得到

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

它可以在Base64編碼的問題?我是否必須將base64編碼的字符串轉換爲十六進制或其他內容?

我發佈類似於以下

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

回答

3

問題是在Java裏面Base64編碼。當我在IOS內進行編碼並將其作爲來自沒有使用Java編碼的服務器的請求時,它就起作用了。

+1

似乎很奇怪,這會有所作爲,不是嗎?也許您從Apple收到的收據和後端收到的收據有所不同? – 2013-12-10 21:51:07

1

我有一個類似的問題,並嘗試驗證我的服務器上的收據時,從Apple收到java.lang.IllegalArgumentException。問題在於我的base64編碼邏輯是在編碼字符串中插入換行符。一旦我更新我的代碼以確保沒有新的換行符被插入到編碼字符串中,我就能夠成功地驗證我的收據是否對Apple服務器。