苹果支付:如何解决沙盒环境下获取可恢复购买项为空
在傳統(tǒng)手游開發(fā)中免不了和蘋果支付打交道,而且蘋果也會(huì)有各種奇奇怪怪的問題和BUG 。
曾經(jīng)有一次某一個(gè)游戲出現(xiàn)了調(diào)單問題,現(xiàn)象如下(我有點(diǎn)懶,不想畫泳道圖或者時(shí)序圖):
客戶端拉起支付付款成功,OC底層收到支付成功回調(diào)->發(fā)送支付成功的收據(jù)到服務(wù)器驗(yàn)證->服務(wù)器去蘋果服務(wù)器驗(yàn)證收據(jù)超時(shí)了->返回給客戶端驗(yàn)證失敗了->客戶端重啟走恢復(fù)購(gòu)買流程->從蘋果拿到的可恢復(fù)購(gòu)買項(xiàng)是空的->無(wú)法恢復(fù)購(gòu)買。
某一個(gè)合作過(guò)的客戶端大佬很認(rèn)真的說(shuō),你們服務(wù)器有問題,蘋果那么NB的服務(wù)器,怎么會(huì)驗(yàn)證超時(shí)呢?人家某某某游戲都沒有這種情況,我笑而答道:“只要涉及到網(wǎng)絡(luò)連接和傳輸,你能百分之百確定是可靠的嗎?那你知道http在傳輸之前和傳輸過(guò)程中發(fā)生了什么事情嗎?”,客戶端大佬一時(shí)間支支吾吾,還是有點(diǎn)懷疑,后來(lái)我讓他知道貿(mào)然懷疑別人而且出口就不負(fù)責(zé)任的把鍋甩給別人不是那么好甩的。
首先,很明顯客戶端的處理流程上是有問題的,那么為什么第二次拿到的可恢復(fù)購(gòu)買項(xiàng)是空的,最直接的還是去蘋果官方文檔和論壇里找方法和結(jié)論,
他們的收據(jù)也有可能會(huì)出現(xiàn)無(wú)效的或者丟失,
你可以查看蘋果官網(wǎng)開發(fā)者文檔說(shuō)明:
總結(jié)
以上是生活随笔為你收集整理的苹果支付:如何解决沙盒环境下获取可恢复购买项为空的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode252. 会议室
- 下一篇: 聊一下CPU占用高的解决方案