近日,我研究了微信支付的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了。如果还有什么问题可以留言问我。

最新文章

  1. ASP.NET MVC 概述
  2. MEF入门之不求甚解,但力求简单能讲明白(二)
  3. TestNG之Factory
  4. 【bzoj1042】 HAOI2008—硬币购物
  5. C#获取百度新歌TOP50
  6. PLSQL_Oracle Logon Trigger的建立
  7. bjfu1277 简单递归
  8. yii 自动生成的内容,分页信息(Displaying 1-10 of 15 results.)如何修改或是yii cgridview template summary
  9. Qt Style Sheet实践(一):按钮及关联菜单(24K纯开源,一共四篇)
  10. ssh免密钥登录
  11. mysql相关日志汇总
  12. 统一我的博客文章的CSS样式代码
  13. (转)用库函数stdarg.h实现函数参数的可变
  14. 【PAT】B1012 数字分类
  15. scala-创建泛型数组(T: Manifest)
  16. Linux驱动之poll机制的理解与简单使用
  17. Maven学习(二)使用命令创建maven项目
  18. Vue(五):Vue模板语法
  19. Linux软件管理器(如何使用软件管理器来管理软件)2---安装及管理Linux应用程序
  20. Qualcomm Vuforia SDK背景

热门文章

  1. 黑马程序员——JAVA基础之List集合
  2. Unix 入门
  3. Web前端开发笔试&面试_05_other 2016104399MS
  4. 让Js顺序执行且回调之
  5. linux包之dmidecode
  6. unity 合并skinnedMeshRenderer中遇到的一个大坑
  7. MySQL下载、安装和修改root密码
  8. ASP.NET MVC 页面调整并传递参数
  9. matlab语言基础
  10. Linux 用户和用户组操作