一娱两、微信支付
微信支付在整體處理過(guò)程中奥邮,沒(méi)遇到坑腥光,只說(shuō)下個(gè)人認(rèn)為的注意點(diǎn):
首先崔涂,官方建議需要在服務(wù)端進(jìn)行生成訂單的步驟阳掐,這樣是為了保證支付穩(wěn)定性(客戶端會(huì)有許多異常情況:如App閃退、用戶主動(dòng)后臺(tái)退出等)冷蚂。
其次缭保,在整個(gè)支付流程中,還是會(huì)存在及少數(shù)微信支付系統(tǒng)中已經(jīng)支付成功蝙茶,但我們App中狀態(tài)沒(méi)有更新的情況艺骂,此問(wèn)題處理方案是在商戶后臺(tái)中增加查詢按鈕,點(diǎn)擊此按鈕隆夯,商戶后臺(tái)會(huì)請(qǐng)求微信的查詢訂單接口钳恕,查詢訂單最新的狀態(tài)别伏,保證當(dāng)前App后臺(tái)數(shù)據(jù)庫(kù)中訂單狀態(tài)和微信支付系統(tǒng)中保持一致。
最后忧额,在開(kāi)發(fā)中遇到客戶端App先向App后臺(tái)請(qǐng)求厘肮,請(qǐng)求完成后向微信生成訂單由客戶端請(qǐng)求生成,會(huì)造成很多訂單狀態(tài)和微信商戶后臺(tái)不一致或微信商戶后臺(tái)根本就沒(méi)有(網(wǎng)絡(luò)原因或App閃退睦番、用戶主動(dòng)后臺(tái)退出等原因)类茂,商戶后臺(tái)中增加按鈕解決。
二托嚣、支付寶支付
支付寶支付在整體處理過(guò)程中大咱,沒(méi)遇到坑,只說(shuō)下個(gè)人認(rèn)為的注意點(diǎn):
在整個(gè)支付流程中注益,還是會(huì)存在及少數(shù)支付寶支付系統(tǒng)中已經(jīng)支付成功碴巾,但我們App中狀態(tài)沒(méi)有更新的情況,此問(wèn)題處理方案是在商戶后臺(tái)中增加按鈕丑搔,點(diǎn)擊此按鈕厦瓢,商戶后臺(tái)會(huì)請(qǐng)求微信的查詢訂單接口,查詢訂單最新的狀態(tài)啤月,保證當(dāng)前App后臺(tái)數(shù)據(jù)庫(kù)中訂單狀態(tài)和支付寶支付系統(tǒng)中保持一致煮仇。
三、蘋(píng)果支付
對(duì)比微信支付和支付寶支付谎仲,蘋(píng)果支付的坑比較多浙垫,主要原因是蘋(píng)果支付驗(yàn)證訂單那一步是在客戶端驅(qū)動(dòng)自己服務(wù)器去查詢,而不是由自主服務(wù)器和支付服務(wù)器去直接溝通郑诺。由于客戶端的網(wǎng)絡(luò)環(huán)境遠(yuǎn)比服務(wù)端復(fù)雜并且蘋(píng)果支付服務(wù)器遠(yuǎn)在國(guó)外夹姥,所以導(dǎo)致遇到的問(wèn)題比較多。
1.從IAP(蘋(píng)果支付服務(wù)器)支付成功到調(diào)用客戶端辙诞,只有一次:導(dǎo)致如果用戶購(gòu)買(mǎi)成功后辙售,網(wǎng)絡(luò)就不行了,那么蘋(píng)果的 IAP 也收不到支付成功的通知飞涂,就沒(méi)法通知 APP旦部,我們也沒(méi)法給用戶發(fā)貨。
2.蘋(píng)果的IAP收到了支付成功的通知较店,但是只回調(diào)給客戶端一次士八,如果由于某些原因回調(diào)失敗了,則很難獲取訂單最新?tīng)顟B(tài)梁呈。