我最初在IOS 6中構建一個ios應用程序。我試圖將其遷移到IOS 7+/IOS 8,並且在應用程序內購買驗證時遇到問題。遷移ios在應用程序購買驗證
驗證完成在服務器端。每次購買後,我將SKPaymentTransaction.transactionReceipt作爲Base64字符串發送到我的服務器(nodeJS),然後使用IAP_VERIFIER(https://github.com/pcrawfor/iap_verifier)驗證收據。
由於SKPaymentTransaction.transactionReceipt被刪除,我想將其更改爲新的NSBundle.appStoreReceiptURL,但是,當我將該收據發送到我的服務器進行驗證時,蘋果驗證認爲它是無效的。比較transacationReceipt和appStoreReceipt的Base64字符串,它們完全不同,appStoreReceipt要大得多。
如何使用新方法驗證單個應用內購買收據?
base64結果會有所不同,因爲appStoreReceiptURL內容對於所有事務是統一的,因此您不能在編碼信息(單獨)中使用差異來診斷問題。也許你應該注意任何詳細的錯誤或其他不正當行爲。噢,看看這個(蘋果在這個過程中的文檔):https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573- CH104-SW1 –