先向服務(wù)器請(qǐng)求OrderID,向ios發(fā)起內(nèi)購(gòu)時(shí)傳遞給payment:
SKMutablePayment *payment = [SKMutablePayment paymentWithProduct:product]; payment.applicationUsername = @"OrderID";??
在付款成功時(shí)applicationUsername會(huì)被ios返回摄悯,取出orderid連同收據(jù)傳給服務(wù)器。
問(wèn)題就出在那個(gè)orderid上再层,不知道為什么總有用戶的orderID為null汁尺,導(dǎo)致充值失敗。
多方查找后確定原因如下:
? 通過(guò)公司渠道咨詢了蘋果的人員粥谬,得到的回應(yīng)是:使用applicationUsername來(lái)存儲(chǔ)訂單號(hào)或者username等用法其實(shí)是一種錯(cuò)誤的用法娇妓,這個(gè)參數(shù)其實(shí)是給蘋果自己用的兔跌,用于識(shí)別出非法欺詐的內(nèi)購(gòu),而不是給開發(fā)者使用(我特么暈死)峡蟋。? 目前線上發(fā)現(xiàn)上iOS13和以下還是有數(shù)據(jù),但是預(yù)計(jì)后續(xù)的所有iOS版本這個(gè)值將不再可用华望。
原文鏈接:https://www.cnblogs.com/jxst441192/p/13711709.html
目前暫無(wú)替代方案蕊蝗。
另:App處于審核狀態(tài)時(shí),該測(cè)試版本無(wú)法進(jìn)行內(nèi)購(gòu)操作是正常的赖舟,不必驚慌蓬戚。