關於第三方支付實現
- 1.點選第一個支付按鈕,後臺自己生成一個訂單,成功之後進入下一個支付頁面
- 2.點選取消,返回上一個介面
- 3.點選確定,呼叫後臺支付介面,後臺開始呼叫支付寶介面預下單,生成加簽後的移動端需要的引數,返回給移動端
- 移動端拿到 支付需要的引數,呼叫支付功能,代開第三方支付的app進行支付,支付成功,支付寶返回成功狀態碼給移動端,然後從第三方app返回自己的app
- 支付寶後臺非同步返回成功的訊息給 app的後臺
- 自己的app收到支付成功的響應,就請求後臺介面,看是否成功,如果成功,則進入支付成功的介面
- 失敗提示失敗,增加個 如果對訂單有任何疑問的超連結,人工解決這些異常狀況
1. 關於支付寶整合
-
- 支付遇到的bug
- 與後臺聯調的過程中,傳參的時候,報網路繁忙的錯誤,是因為傳的引數不對,必須使用後臺給的加簽之後的引數,才可以。
例如後臺返回一下格式的資料,那麼 aliPayOrderString 的值就是我們要傳的參
{
"seq": "321321",
"code": 0,
"msg": "sucessfull",
"resMap": {},
"aliPayOrderString": "alipay_sdk=alipay-sdk-java-dynamo&app_id9%3A52&version=1.0"
}
- 與後臺聯調,在支付成功的時候,沒有跳回app, 沒有接收到來自支付寶支付成功9000的回撥,導致後臺查詢不到支付成功的訂單,是由於客戶端沒有配置 urlScheme ,導致支付寶沒法返回app
-
- 支付接入流程
- 申請app的配置所需要的 appid、 應用公鑰、應用私鑰 ,需要填寫的資訊如下:
1. 進入網站,點選開發接入,掃碼登陸
2. 使用場景選擇第三方應用
3. 名稱:appname
4. 提供給我 appid:應用ID,呼叫API時用來識別開發者
5. private_key:應用私鑰,pkcs8格式
6. 簽約才能獲取應用金鑰:使用公司支付寶 ,
聯絡人填法人
(簽約需要時間的,以及上架慢一點估計要3天+)
- 配置所有引數之後,支付第一步 :需後臺拿著相關引數加簽,返回加簽之後的引數給app移動端; 支付第二步,發起支付,呼叫支付方法,呼叫支付寶客戶端,支付寶付款介面進行付款,支付寶使用應用公鑰對交易資料進行驗籤,(付款成功失敗支付寶都會一部回撥結果給後臺,再次請求後臺介面,根據後臺返回的結果,來真正判斷是否付款成功)付款成功與失敗都返回自己的app,收到支付寶的回撥; 支付第三步:若支付寶返回成功。app端收到9000支付成功的回撥,再次呼叫後臺介面,若後臺介面返回支付成功,則提示使用者支付成功。
- APP移動端所有工作完成的之後,後臺還需要做訂單核對功能
2. 關於微信支付整合
-
- 微信支付中遇到的BUG
- 在支付的過程完成的時候,返回0,由於訂單號不對的原因,用正確規則行成的訂單號才可以,調起app支付的功能。
-
- 微信支付接入流程
- 在微信開放平臺新建一個app, 獲取專案需要配置引數的appid、appkey、微信支付商戶號、API金鑰
- 其餘的步驟同支付寶
tips: 仔細看第三方文件,加強自己文件閱讀的能力。不懂的多問,多積累,學會感恩