使用微信jsapi官方demo,在传递参数的时候有一个小问题,会丢失参数,导致运行到一定位置提示参数错误或者参数undefined;原因是唤醒微信支付的时候使用:weixinapy/example/jsapi.php?db=需要的参数;这种方式来传递数据,在打开jsapi.php文件之后,参数还会被传递一次,就丢失了。在:example/WxPay.JsApiPay.php;文件:GetOpenid()方法中,数据会被重组,安全验证之后发送给微信服务器,微信服务器在传递给你的jsapi.php来唤醒微信支付,文件的45或者46行,$baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['QUERY_STRING'].'?out_trade_no='.$_GET['out_trade_no'].'&total_fee='.$_GET['total_fee']);这一句代码中,重新拼接上自己需要的数据,就可以完整的传递了$_GET的两个参数是我使用的,第一个是自定义的订单号,第二个是自定义的识别的编码,如果这里不重写,后续就会错误,不能唤醒支付。
微信内置浏览器唤醒微信支付的一个小隐藏坑,
最新推荐文章于 2024-07-25 10:40:43 发布