微信H5支付&退款【一】

一,什麼是H5支付?

官網定義:通過微信可以實現在非微信瀏覽器(例如:谷歌瀏覽器、Safari、360瀏覽器等)中使用微信支付的場景。說白了就是在微信外的所有瀏覽器來點擊“微信支付”然後自動喚起微信客戶端來支付。

二,準備工作

1、申請入口:登錄商戶平臺-->產品中心-->我的產品-->支付產品-->H5支付

2、瀏覽開發文檔:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1,這裏面幾乎介紹了全部流程。

3、在微信公衆平臺和微信商戶平臺拿到或配置一下參數:

         appid:公衆平臺的appid 

         商戶號:公衆平臺的商戶號

        appsecrut:商戶平臺裏的簽名密鑰(這個要保存好,現在不支持查看,忘了就得重新配置了)

        商戶支付密鑰Key:api_key 審覈通過後,在微信發送的郵件中查看

三、下單概述

1、API接口:https://api.mch.weixin.qq.com/pay/unifiedorder

2、請求參數如下:

四、退款概述(需要證書)

 1、微信支付接口中,涉及資金回滾的接口會使用到商戶證書,包括退款、撤銷接口。商家在申請微信支付成功後,可以按照以下路徑下載:微信商戶平臺(pay.weixin.qq.com)-->賬戶設置-->API安全-->證書下載 。

☆☆☆證書:

 API證書及祕鑰使用:   http://kf.qq.com/faq/180824JvUZ3i180824YvMNJj.html

 

2、API接口:https://api.mch.weixin.qq.com/secapi/pay/refund

3、請求參數如下:


五、常見問題

 1、回調頁面

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

舉個栗子:

假設您通過統一下單接口獲到的MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096

則拼接後的地址爲MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn

注意:

  1.需對redirect_url進行urlencode處理

  2.由於設置redirect_url後,回跳指定頁面的操作可能發生在:1,微信支付中間頁調起微信收銀臺後超過5秒 2,用戶點擊“取消支付“或支付完成後點“完成”按鈕。因此無法保證頁面回跳時,支付流程已結束,所以商戶設置的redirect_url地址不能自動執行查單操作,應讓用戶去點擊按鈕觸發查單操作

2、其他

原因:① 商戶側統一下單傳的終端IP(spbill_create_ip) 與用戶實際調起支付時微信檢測到的終端IP不一致導致的

          ②  統一下單與調起支付時的網絡有變動,(比如下單時是WIFI網絡,下單後切換成4G網絡再調起支付,這樣可能會引發微信的正常攔截,請保持網絡一致的情況下重新發起支付流程)

原因:①當前調起H5支付的referer爲空導致,一般是因爲直接訪問頁面調起H5支付,應按正常流程進行頁面跳轉後發起支付。

          ②如果是APP裏調起H5支付,需要在webview中手動設置referer,如(Map extraHeaders = new HashMap();
extraHeaders.put("Referer", "商戶申請H5時提交的授權域名");//例如 http://www.baidu.com ))

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章