微信支付开发若干问题总结,API搞死人(谢谢ζ???????http://www.thinkphp.cn/code/1620.html)

Posted caigan的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信支付开发若干问题总结,API搞死人(谢谢ζ???????http://www.thinkphp.cn/code/1620.html)相关的知识,希望对你有一定的参考价值。

近日,我研究了微信支付的API,我是用简化版的API,首先简述一下流程:

1、通过APP_ID,APP_SCRECT获取网页授权码code,

2、利用code获取用户openid/userinfo

3、第一次签名获取微信接口参数:双管齐下,APP_ID、APP_SCRECT->access_token->jsapi_ticket->签名->获取参数、

4、第二次签名获取预支付prepay_id:2步骤取得openid、APP_ID、APP_SCRECT、商户MCHID……->签名->转XML->获取prepay_id

5、第三次签名获取支付接口相应参数:相关参数url_require形式加商户KEY->签名

6、回调

 

 

我遇到问题点,主要看(Log::info())错误日志:

1、post数据为空 ,原因:路由配置错误;

2、签名错误 ,原因:未获取openid,签名参数中如果为空则不参加签名;

3、openid参数长度有误,原因:未获取openid;

4、invalid total_fee,原因:微信最小单位是1,即1分钱,不能少于1,而支付宝是0.01;

5、其次是公众号支付授权目录填写错误:正确为:

当然这是所有的支付流程,我们还需要去微信公众号后台去设置。支付授权目录
这里很重要我就是在这里折腾了很久。怎么设置呢,首先要看你支付的当前页面URL
比如是:

  1. http://www.fangbei.org/wxpay/js_api_call.php

 

复制代码

你就必须填写:

  1. http://www.fangbei.org/wxpay/

 

复制代码

假如是:

  1. http://www.fangbei.org/wxpay/order/id/56.html

 

复制代码

你就必须写:

  1. http://www.fangbei.org/wxpay/order/id/

 

复制代码

看出规律了吧,就是把最后一个反斜杠后面的内容去掉就OK了。如果还有什么问题可以留言问我。



以上是关于微信支付开发若干问题总结,API搞死人(谢谢ζ???????http://www.thinkphp.cn/code/1620.html)的主要内容,如果未能解决你的问题,请参考以下文章

***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结

微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结

微信充值页面开发总结

微信H5支付开发全过程(除内置微信以外的浏览器)

uniapp支付之微信支付

微信小程序开发问题整理,涉及到小程序支付组件以及各种API问题