1. 程式人生 > >微信H5支付 遇到坑的一些解決方法

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

解決辦法

1. 商家引數格式有誤,請聯絡商家解決

a.對於前後端分離的開發模式 前端發起請求 服務端請求微信h5支付統一下單介面 返回引數mweb_url 給前端 然後前端調起微信h5支付

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

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

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

2.微信支付回撥地址的控制器列印資料為空的話 就應該是列印資料的位置不對 一般應該在NotifyProcess這個方法裡列印$data資料 這樣就有資料了

3.微信支付返回

a.這個時候 列印下 mweb_url 看看是不 prepay_id 為空值

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

微信生成的預支付回話標識,用於後續介面呼叫中使用,該值有效期為2小時,針對H5支付此引數無特殊用途

d.解決辦法

1.這個prepay_id 說的是第一次生成 然後兩小時之內有效 可以在兩個小時內生成 這個 prepay_id 兩小時之後 這個訂單號無法生成prepay_id的值 再呼叫 就會出現 支付失效請重新下單
2.操作場景一般是 使用者調起微信支付 就已經生成一個prepay_id 但是沒有支付的話 兩個小時之後 這個訂單號 就會失效
3.業務處理的話 建一個偽訂單表 和 自己的真訂單號的 id 繫結 如果連結的prepay_id為空的話 就給偽訂單表裡 加一條資料 然後通過偽訂單號 進行調起訂單 回撥的時候 先判斷有沒有在偽訂單表裡 有的話 就去取真訂單表的訂單號 然後完成狀態更改