• 微信支付开发若干问题总结,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了。如果还有什么问题可以留言问我。

  • 相关阅读:
    Linux netstat 命令入门知识
    Linux文件预读对系统的影响
    Ubuntu下配置Hadoop环境
    Debian Wheezy 安装Nginx+HHVM
    Linux Glibc库严重安全漏洞检测与修复方案
    关于系统时间的几个问题
    C语言的整型溢出问题
    Django Nginx配置
    linux上安装mysql5.7
    日期、时间选择器
  • 原文地址:https://www.cnblogs.com/caicaizi/p/6062313.html
Copyright © 2020-2023  润新知