蘋果內(nèi)購流程
1.客戶端通過我們的服務(wù)器創(chuàng)建訂單队丝,創(chuàng)建成功我們服務(wù)器記錄訂單狀態(tài)為未支付
2.客戶端在app請求蘋果內(nèi)購支付訂單
3.用戶在客戶端支付完成并拿到蘋果的支付驗證信息缩宜,客戶端請求我們服務(wù)器驗證支付晚胡,同時我們服務(wù)器記錄該訂單的訂單號和蘋果后臺返回的支付交驗信息
4.我們服務(wù)器請求蘋果后臺驗證支付
5.客戶端請求驗證成功,app設(shè)置該訂單的狀態(tài)為已完成([[SKPaymentQueue defaultQueue] finishTransaction:transaction]):
驗證成功,服務(wù)器記錄訂單狀態(tài)為已完成捣染,給用戶打款
驗證超時绑警,服務(wù)器記錄訂單狀態(tài)為等待支付驗證鳖昌,同時app可以在手機訂單列表中再次發(fā)起支付檢驗(服務(wù)器通過第2步保存的信息去驗證)
驗證失敗,服務(wù)器記錄訂單狀態(tài)為支付失敗涩惑,同時記錄失敗原因仁期,用戶在客戶端訂單列表可以看到該訂單為何支付失敗
6.網(wǎng)絡(luò)原因等導致客戶端請求驗證失敗,app不要置該訂單的狀態(tài)為完成:
客戶端記錄該訂單的訂單號和蘋果后臺返回的支付交驗信息(用keychain記錄到數(shù)組中)竭恬,訂單列表顯示為未檢驗跛蛋,同時在app的訂單記錄里面可以再次向我們服務(wù)器發(fā)起該訂單的支付交驗(通過客戶端保存的信息)
7.客戶端再次發(fā)起之前訂單的支付驗證邏輯 為4-6步
注意:如果客戶端沒有登錄,則必須要去用戶登錄之后才能再次發(fā)起支付交驗