當前位置:編程學習大全網 - 源碼下載 - 微信H5支付流程

微信H5支付流程

1、用戶在商戶側完成下單,使用微信支付進行支付

2、由商戶後臺向微信支付發起下單請求( 調用統壹下單接口 )註:交易類型trade_type=MWEB

3、統壹下單接口返回支付相關參數給商戶後臺,如支付跳轉url(參數名“mweb_url”),商戶通過mweb_url調起微信支付中間頁

4、中間頁進行H5權限的校驗,安全性檢查(此處常見錯誤請見下文)

5、如支付成功,商戶後臺會接收到微信側的異步通知

6、用戶在微信支付收銀臺完成支付或取消支付,返回商戶頁面(默認為返回支付發起頁面)

7、商戶在展示頁面,引導用戶主動發起支付結果的查詢

8,9、商戶後臺判斷是否接收到微信側的支付結果通知,如沒有,後臺調用我們的 訂單查詢接口 確認訂單狀態(查單實現可參考: 支付回調和查單實現指引 )

10、展示最終的訂單支付結果給用戶

常見問題

壹、回調頁面

正常流程用戶支付完成後會返回至發起支付的頁面,如需返回至指定頁面,則可以在MWEB_URL後拼接上redirect_url參數,來指定回調頁面。

如,您希望用戶支付完成後跳轉至 ,則可以做如下處理:

假設您通過統壹下單接口獲到的MWEB_URL=

註意:

1.需對redirect_url進行urlencode處理

2.由於設置redirect_url後,回跳指定頁面的操作可能發生在:

a、微信支付中間頁調起微信收銀臺後超過5秒

b、用戶點擊“取消支付”或支付完成後點擊“完成”按鈕。因此無法保證頁面回跳時,支付流程已結束,所以商戶設置的redirect_url地址不能自動執行查單操作,應讓用戶去點擊按鈕觸發查單操作。回跳頁面展示效果可參考下圖

二、其它常見錯誤

| 網絡環境未能通過安全驗證,請稍後再試 | 1. 商戶側統壹下單傳的終端IP(spbill_create_ip)與用戶實際調起支付時微信側檢測到的終端IP不壹致導致的,這個問題壹般是商戶在統壹下單時沒有傳遞正確的終端IP到spbill_create_ip導致,詳細可參見 客戶端ip獲取指引

2. 統壹下單與調起支付時的網絡有變動,如統壹下單時是WIFI網絡,下單成功後切換成4G網絡再調起支付,這樣可能會引發我們的正常攔截,請保持網絡環境壹致的情況下重新發起支付流程

|

| 2 |

| 商家參數格式有誤,請聯系商家解決 |

1. 當前調起H5支付的referer為空導致,壹般是因為直接訪問頁面調起H5支付,請按正常流程進行頁面跳轉後發起支付,或自行抓包確認referer值是否為空

2. 如果是APP裏調起H5支付,需要在webview中手動設置referer,如(

Map<string> extraHeaders = new HashMap<string>();

extraHeaders.put("Referer", "商戶申請H5時提交的授權域名");//例如 |

|

|

| 7 |

| 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯系商家解決 | 統壹下單中 spbill_create_ip 字段必須為客戶端IP地址 |

三、QA

Q1:

1、傳遞redirect_url safari瀏覽器時支付完成後會新開壹個頁面;

2、還有就是有些ios手機使用其他瀏覽器支付完成後默認會回到safari瀏覽器。

A1:

1、目前邏輯就是這樣設計的,防止商戶無限循環調用微信客戶端

2、對的,返回需要瀏覽器的schema信息,部分瀏覽器隱藏了這個信息,在無法拿到schema信息的情況下,就會回到safari瀏覽器

  • 上一篇:C語言中DOUBLE型數據儲存結果
  • 下一篇:找APP開發公司開發壹個APP要多少錢?
  • copyright 2024編程學習大全網