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

微信支付开发若干问题总结,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)