客戶端支付過程(簡單記憶一下):
開始當然是集成SDK的相關步驟,默認配置完成。
用戶需要支付--〉向自己服務器發送需支付商品信息--〉((這里服務器要做的)。。。。)--〉服務器向客戶端返回參數
接下來的過程支付寶和微信分開:
1.支付寶:--〉服務器返回的參數(前提是服務器都已經加密過,參數可以直接用)--〉直接調起支付(支付寶在調起的時候,需要另一個參數schem,這里犯過錯誤)--〉支付--〉支付完成
若手機沒有安裝支付寶客戶端,發起網頁支付,支付成功后會直接回調,發起支付時的回調block;
若手機裝有支付寶客戶端,跳轉支付,回調,需要在appdelegate中實現appdelegate openurl 方法,,,,(這里遇到問題是,將schem寫錯了,導致不能在支付成功后,跳回自己的程序),,,,schem正確的情況下,會回跳自己的程序
--〉接收到支付完成結果--〉,,,(根據文檔說法,,需要調起支付查詢接口,查詢支付結果),,,-——〉確定支付結果--〉 選擇適當的方法通知相應界面做相應的改變
2.微信:--〉服務器返回參數--〉從參數中提取相應的值(賦值給微信自己的實體類PayReq的相應屬性partnerId prepayId package nonceStr timeStamp sign這幾個屬性)調用支付接口--〉支付--〉返回支付結果--〉需要在appdelegate中實現openURL方法(與支付寶這一步一樣), 并且result 的結果 有它的寫法 [WXApi handleOpenURL:url delegate:self],實現這個方法后都會在支付完成后調起,回調方法,onResp (在appdelegate方法中實現,并且需要遵守 WXApiDelegate 協議 ,導入WXApi.h文件)--〉得到支付完成消息--〉調起支付查詢接口--〉確定支付結果——〉通知相應界面變化