微信支付秘钥绝对路径问题

如果你使用了微信的官方SDK,那我想其实你很容易发现这个问题

图

在微信官方PHPSDK中WxPay.Api.php这个文件中,微信支付秘钥这里的路径写的是相对路径
图

这样这样

点开路径之后我们看到的是这样这样:
图

然而我们在生产环境的时候,微信要求这个路径为绝对路径,所以我们需要对WxPay.Api.php文件的以下两行内容做修改,改成绝对路径。
图

记一个微信支付-1错误JSAPI缺少参数app|get_brand_request:Fail

最近公司要做一个H5小游戏里边涉及到微信公众号支付,中间摸爬滚打遇到了很多坑。记录一下,留待后人看。

图

我们来看一下这个方法 GetJsApiParameters

图2

怎么样,看起来像不像输出了一个JSON字符串作为微信支付JSAPI的参数?
  • 但是如果你传了字符串进去,那不好意思,一准报错,我们必须在前端把这个json字符串对象化。
    但是你以为这就完了么?不存在的。
我们的前端有一个公共的方法,会把JSON字符串转为JSON对象,但是传进去给这个微信的callpay方法,它都会自动的变成字符串(当然这也可能和我们前端框架有关系),我们试了各种方案,最后发现,不管你的数据类型是什么,在微信的jsApiCall()这个方法中,都对数据进行一下JSON.parse是最妥当的。

————————————————–分割线———————————————————–

单纯的我以为这就完了,然而并没有,再后来我们发现这样也依旧会偶尔出现唤不起微信支付的情况,所以后来我们是

图3

这么干的,尽管看起来什么也没做,但这样就是好使。如果你也遇到了同样的问题,建议你也试试这种解决方案。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×