近日,我研究了微信支付的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)血淋淋的教训,第二次栽这里了的更多相关文章

  1. 微信支付开发(3) JS API支付

    由于微信支付接口更新,本文档已过期,请查看新版微信支付教程.地址 http://www.cnblogs.com/txw1958/category/624506.html 本文介绍如何使用JS API支 ...

  2. 微信支付开发h5调用

    这两天做微信支付开发.碰到大坑.纠结死我了.好不容做完. 后台java:直接上代码:注意区分前后端的变量大小写... @RequestMapping(value = "/index" ...

  3. PHP微信支付开发实例

    这篇文章主要为大家详细介绍了PHP微信支付开发过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PHP微信支付开发过程,分享给大家,供大家参考,具体内容如下 1.开发环境 Thinkphp 3. ...

  4. Android开发 --微信支付开发(转载!)(开发工具:Eclipse)

    Android_APP 微信支付接口开发 日期:2015-10-06 12:47:33 作者: 来源: 人气:3549 1.首先说一下我们在开发微信支付接口的时候遇到最多和最疑惑的问题,那就是明明 a ...

  5. PHP微信支付开发之扫描支付(模式二)后如何回调

    其实在写这篇文章的时候感觉自己已经落伍了,不过笔者在百度上搜索"微信支付开发之扫描支付(模式二)后如何回调"寻找答案时,发现依旧有很多朋友没有解决这个问题,所以就把自己的解决思路分 ...

  6. PHP微信支付开发

    此链接https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_2,是微信官方的示例,无效,报错. 1.申请微信支付的开通条件?什么样的账号可以 ...

  7. 微信支付开发出现redirect_uri参数错误的解决方法

    我们在进行微信支付开发的时候会遇到出现“redirect_uri参数错误”这种情况,怎么办呢?下面就是我总结出现这种“redirect_uri参数错误”的七种可能情况,以及解决方式. 1.可能原因①: ...

  8. 微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑

    微信支付开发流程 1. 开通微信支付功能 省略 2. 下载微信的C#版的微信SDK 下载连接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chap ...

  9. 微信支付开发(11) Native支付

    关键字:微信公众平台 微信支付 Native原生支付作者:方倍工作室原文:http://www.cnblogs.com/txw1958/p/wxpay-native.html 由于微信支付接口更新,本 ...

随机推荐

  1. 黑马程序员——JAVA基础之构造函数,构造代码块

    ------- android培训.java培训.期待与您交流! ---------- 构造函数特点: 1.  函数名与类名相同 2.  不用定义返回值类型 3.  不可以写return语句 构造函数 ...

  2. 利用C#Marshal类实现托管和非托管的相互转换

    Marshal 类 命名空间:System.Runtime.InteropServices 提供了一个方法集,这些方法用于分配非托管内存.复制非托管内存块.将托管类型转换为非托管类型,此外还提供了在与 ...

  3. OpenJudge计算概论-计算书费

    /*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...

  4. js 动态 activex 组件

    function writeObject(){ var obj = document.getElementById("mydelphi"); if(!obj){ var divob ...

  5. CentOS6.4系统启动失败故障排查

    转:http://www.centoscn.com/CentosBug/osbug/2014/1028/4011.html 操作系统启动失败如下图报错: 故障现象: 从图中可以看到,操作系统启动的过程 ...

  6. SQL常见的可优化点

    # 索引相关 # ################################################### 1. 查询(或更新,删除,可以转换为查询)没有用到索引 这是最基础的步骤,需要 ...

  7. 查看当前web服务器的并发连接数

    对于web服务器来说,并发连接数是一个比较重要的参数,通过下面的命令就可以直接查看# netstat -nat | grep ":80"| grep EST | wc -l命令解释 ...

  8. C# 输出pdf文件流在页面上显示

    1 不调用itextsharp.dll的操作 /// <summary>        /// 生成pdf流        /// </summary>        /// ...

  9. SqlServer数据库正在还原的解决办法

    1)管理器不会主动刷新,需要手工刷新一下才能看到最新状态(性能方面的考虑) 2)很少情况下,恢复进程被挂起了.这个时候假设你要恢复并且回到可访问状态,要执行:  RESTORE database   ...

  10. 国内的阿里云maven私服

    <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexu ...