蘋果在審核內購時,購買失敗, 首先能夠確定內購執(zhí)行到獲取商品這一步失敗了, 而不是驗證票據失敗, 而蘋果拒審給我們的解決方案是:
When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code “Sandbox receipt used in production,” you should validate against the test environment instead.
翻譯大體意思就是, 審核時候, 正式環(huán)境不行, 就用沙箱環(huán)境(如果是驗證票據失敗, 這個記得看下驗證票據的域名是正式環(huán)境還是沙箱環(huán)境, 具體問題具體辦) ...其實我的問題是獲取不到商品, 在代碼處的體現就是:
壓根不是在票據驗證那里, 沒辦法, 以往經驗告訴我: 問題要么在:
- 商品id, 代碼傳遞與 ITC配置的商品id 不一致;
2.銀行卡, 稅務信息在ITC是否完整;
結果檢查都沒問題, 我們知道蘋果審核時, 用的是他們自己內部的通用沙箱賬號, 也不是正式環(huán)境. 我也是沙箱賬號, 為啥都正常, 肯定是蘋果那邊網絡問題, 結果, VPN + ipV6 都試過了. 蘋果依然給你2.1 解決方案還是 本文中那段英文.
那為什么我們自己用沙箱賬號能購買成功,而蘋果卻購買失敗,后面發(fā)現xcode 的內購配置沒有打開:
蘋果測試內購的時候并沒有用到我們創(chuàng)建的沙箱賬號,沙箱賬號是給我們自己的測試用的,他們的沙箱賬號是蘋果自己配置的通用的賬號,一般都是apple.com結尾的;那為什么我們自己用沙箱賬號能購買成功,而蘋果卻購買失敗,后面發(fā)現xcode 的內購配置沒有打開,這個配置不打開蘋果那邊測試內購就是購買失敗,鏈接不上iTunes 商店,所以需要注意下,這個時候在提交內購就是成功啦!