導航:首頁 > APP軟體 > 蘋果伺服器掉單

蘋果伺服器掉單

發布時間:2025-02-23 13:10:13

1. IOS 內購掉單問題

向伺服器請求OrderID,向ios發起內購時傳遞給payment:

在付款成功時applicationUsername會被ios返回,取出orderid連同收據傳給伺服器。

問題就出在那個orderid上,不知道為什麼總有用戶的orderID為null,導致充值失敗。

多方查找後確定原因如下:

目前暫無替代方案。

另:App處於審核狀態時,該測試版本無法進行內購操作是正常的,不必驚慌。

2. swift 內購

a. 消耗型商品:只可以使用一次的產品,使用以後即失效,必須再次購買。
示例:小說App購買的書幣書券。
b. 非消耗型商品:只需購買一次,不會過時或隨著使用而減小的產品。
示例:游戲 App 的賽道。
c. 自動續期訂閱:容許用戶在固定時間段內購買動態內容的產品。除非用戶選擇取消,不然此類訂閱會自動續期。
示例:每個月訂閱提供流媒體服務的 App。
d. 非續期訂閱:容許用戶購買有時限性服務的產品。此 App 內購買項目的內容能夠是靜態的。此類訂閱不會自動續期。
示例:為期一年的已歸檔文章目錄訂閱。

a. 客戶端向Appstore請求購買產品(假設產品信息已經取得),Appstore驗證產品成功後,從用戶的Apple賬戶余額中扣費。
b. Appstore向客戶端返回一段receipt-data,裡面記錄了本次交易的證書和簽名信息。
c. 客戶端向我們可以信任的伺服器提供receipt-data
d. 伺服器對receipt-data進行一次base64編碼
e. 把編碼後的receipt-data發往itunes.appstore進行驗證
f. itunes.appstore返回驗證結果給伺服器
g. 伺服器對商品購買狀態以及商品類型,向客戶端發放相應的道具與推送數據更新通知

a. 驗證蘋果自動續費的合理性: 是否是切換了賬號了,是否是同一個賬號下有2個不同的appleid訂閱(訂閱類型會進行此校驗,消耗性直接走b)
b. 後台校驗成功後,創建後台訂單
c. 訂單生成後,傳入proctID發起購買請求,蘋果伺服器驗證產品成功後,從用戶的Apple賬戶余額中扣費並向客戶端返回憑證(receipt-data)
d. 客戶端拿到憑證後,向伺服器發起憑證校驗,伺服器拿到憑證進行一次base64編碼,發到蘋果伺服器進行校驗並返回結果給伺服器。
e. 伺服器對商品購買狀態以及商品類型,向客戶端發放相應的道具與推送數據更新通知

解決掉單問題前,我們要先簡單把從支付請求開始到結束的步驟按照順序排列出來,然後分析每一個步驟可能存在的調單情況。

調單的處理可分為在拿到交易訂單之後調用 IPA 創建一個 IPA 交易,並且添加到支付隊列,收到回調前跟收到回調後。
在創建後台訂單時,此時後台會把訂單信息回調,並將其已模型的形式存入Keychain中(存入Keychain中數據不會因卸載app等操作丟失)

通過校驗隊列中的transactions進行判斷,沒有的話就是沒有發起支付請求,那麼此時需要重新發起支付的請求。

通過校驗隊列中的transactions進行判斷,有的話就是已經發起支付請求但是沒有收到回調,此時需要做SKPaymentQueue.default().restoreCompletedTransactions()(恢復已經完成的 交易)

首先將transactionId和憑證更新到已存入的Keychain中,通過校驗Keychain中的transactionId是否存在,來確定是否已經收到回調,此時需要拿著存入Keychain中的憑證等到後台去校驗。

閱讀全文

與蘋果伺服器掉單相關的資料

熱點內容
有什麼好的定點的導航app 瀏覽:75
聯想電腦指紋登錄密碼忘記了怎麼辦 瀏覽:758
oracle操作系統版本 瀏覽:345
微信朋友圈不顯示聲音是怎麼回事 瀏覽:910
應用程序文件類型 瀏覽:934
結構方塊數據在哪裡 瀏覽:165
ps格式文件轉ai格式 瀏覽:319
蘋果mini2和mini4配置 瀏覽:672
編程def是什麼意思 瀏覽:290
粘貼系統文件 瀏覽:993
電腦如何用鍵盤連接網路 瀏覽:39
vc工具欄從右排列 瀏覽:5
wps可以合並pdf文件 瀏覽:436
在家學編程需要什麼基礎 瀏覽:197
資料庫null值是什麼意思 瀏覽:166
安裝steam怎麼移桌面文件 瀏覽:904
下載jdk是下載exe文件嗎 瀏覽:269
小丸怎麼把字幕文件和視頻合並 瀏覽:962
linux創建不可刪除文件 瀏覽:235
做一個網站程序多少錢 瀏覽:247

友情鏈接