微信H5支付 遇到坑的一些解決方法

解決辦法php

1. 商家參數格式有誤,請聯繫商家解決

a.對於先後端分離的開發模式 前端發起請求 服務端請求微信h5支付統一下單接口 返回參數mweb_url 給前端 而後前端調起微信h5支付

b.注意的是 微信商戶平臺 開發配置 H5支付受權域名是一級域名 例:一級域名 mark.com

c. 前端的二級域名:web.mark.com 確保前端調用mweb_url時的 前端url地址 和 H5支付受權域名是同一個域名地址下的

d. 哈哈哈 微信h5文檔說的是缺乏referer 找了很久 這個傢伙 原來是調起支付的二級域名錯了 前端應該有個二級域名去調支付才行 後臺是提供接口的 只有M層和C層 V層的傢伙仍是要前端去搞吧

微信h5支付新版詳細的介紹能夠看: https://www.cnblogs.com/txw1958/p/wxpayv3_h5.html

擴展 refer的解釋: https://www.sojson.com/blog/58.html


2.微信支付回調地址的控制器打印數據爲空的話 就應該是打印數據的位置不對 通常應該在NotifyProcess這個方法裏打印$data數據 這樣就有數據了


3.微信支付返回

a.這個時候 打印下 mweb_url 看看是不 prepay_id 爲空值

b. 而後咱們看微信H5支付文檔 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1

c. 預支付交易會話標識 prepay_id 的解釋:

微信生成的預支付回話標識,用於後續接口調用中使用,該值有效期爲2小時,針對H5支付此參數無特殊用途html

d.解決辦法

1.這個prepay_id 說的是第一次生成 而後兩小時以內有效 能夠在兩個小時內生成 這個 prepay_id 兩小時以後 這個訂單號沒法生成prepay_id的值 再調用 就會出現 支付失效請從新下單
2.操做場景通常是 用戶調起微信支付 就已經生成一個prepay_id 可是沒有支付的話 兩個小時以後 這個訂單號 就會失效
3.業務處理的話 建一個僞訂單表 和 本身的真訂單號的 id 綁定 若是連接的prepay_id爲空的話 就給僞訂單表裏 加一條數據 而後經過僞訂單號 進行調起訂單 回調的時候 先判斷有沒有在僞訂單表裏 有的話 就去取真訂單表的訂單號 而後完成狀態更改前端

相關文章
相關標籤/搜索