2015-06-04 38 views
1

我在服務器端做IAP收據驗證。爲此我發送SKPaymentTransaction'transactionReceiptdataWithContentsOfURL中是否存在transactionReceipt數據?

現在transactionReceipt已過時,我試圖用:

[[NSBundle mainBundle] appStoreReceiptURL] 

但是,這是不一樣的數據(所以當然驗證失敗)。實際上它大約是其兩倍,所以我認爲它可以嵌入transactionReceipt數據。

我下載Maddy的VerifyStoreReceiptiOS,但代碼不提供給我舊的收據。

在我花費更多時間之前:appStoreReceiptURL的數據是否確實包含好的'transactionReceipt? (如果是的話,我該怎麼辦?)

回答

1

在ios7和更高版本中,收據文件包含在該設備上對此應用的此Apple ID執行的所有事務。蘋果covers本地驗證過程和receipt format以及。所以是的,你可以從這個文件中獲得特定的交易信息。 WWDC 2104,對理解新的收據格式非常有幫助。

+0

因此,我首次使用'transactionReceipt'獲得的數據/字節的確切副本? –

+0

不確定確切的副本,但收據文件明確包含所有購買信息。我誤解了你的問題,你想做一個服務器端驗證,這甚至[更簡單](https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html# // apple_ref/DOC/UID/TP40010573-CH104-SW1)。你所要做的就是將整個文件發送給蘋果公司,它將自行執行驗證,你的服務器將收到一個正確的答案。 –

+0

再一次,收據文件僅包含非消耗品。在重新安裝應用程序後,消費品交易將不會在收據中重新生成。 –