微信公众号支付的进坑之路,希望能初次开发的朋友们少点弯路
本人初次开发微信公众号支付,看官方文档,网上查找相关资料,也是磕磕碰碰才根据公司需求完成相对功能。我这里就主要说一下核心的功能实现,基本配置看官方就可以了。我就直接对着代码说明了
1.主要步骤
1.统一下单API接口
2.生成支付参数
3.调用官方的SDK接口进行支付
4.支付回调,异步接收回调结果
2.准备
这里要感谢下大神的分享,我是在码云上下载了一份大神封装好的代码进行功能修改的,代码写的很好,也很好懂,详见博文:http://baijunyao.com/article/78。有源码,可以下载的。
3.核心模块
两个主要部分,建立一个控制器,然后把大神精心封装的微信支付类放在thinkphp里面去,这个大神源码中都有,我就说说我是怎么改的吧:
我建立的控制器,里面有四个方法
buyPoint() 商品的界面
pay() 支付
weixinpay_js() 商品界面ajax传递订单数据生成订单
notify() 支付回调,notify_url接收页面
这是控制器里面的四个方法,还有两个html的
这个是buyPoint商品页面的一个ajax,用户点击微信支付的时候把订单信息传递到weixinpay_js方法中生成一条订单数据,生成后带着订单号跳转到pay的方法中去。
pay.html这个页面就没什么东西了,官方的js,我做了个进入页面就直接加载js,调用出微信支付的接口,进行支付。
然后支付成功的话会和微信支付一样,有成功页面提示,但微信官方说这个不保证绝对可靠,所以我们还是到notify方法中去做判断然后处理
4.个人心得
1.微信的操作不太好查找错误,我是通过file_put_contents()函数把参数不断生成文件来查看对比的,如果是数组用var_export转换成字符串
2.生成订单的参数都不能少,基本报错都在统一下单和生成订单参数那里。
3.微信支付授权目录,这个路径是写到你index.php的所在的目录。
第一次写,不详之处还请见谅,有问题也可以加我微信king-ais,当然我下班之余肯定会尽力帮助的
网友评论