微信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層的家伙還是要前端去搞吧

微信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支付此參數無特殊用途

d.解決辦法

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM