2018-01-15

    微信公众号支付的进坑之路,希望能初次开发的朋友们少点弯路


本人初次开发微信公众号支付,看官方文档,网上查找相关资料,也是磕磕碰碰才根据公司需求完成相对功能。我这里就主要说一下核心的功能实现,基本配置看官方就可以了。我就直接对着代码说明了

1.主要步骤

1.统一下单API接口

2.生成支付参数

3.调用官方的SDK接口进行支付

4.支付回调,异步接收回调结果

2.准备

这里要感谢下大神的分享,我是在码云上下载了一份大神封装好的代码进行功能修改的,代码写的很好,也很好懂,详见博文:http://baijunyao.com/article/78。有源码,可以下载的。

3.核心模块

两个主要部分,建立一个控制器,然后把大神精心封装的微信支付类放在thinkphp里面去,这个大神源码中都有,我就说说我是怎么改的吧:

我建立的控制器,里面有四个方法

buyPoint()        商品的界面

pay()                支付

weixinpay_js() 商品界面ajax传递订单数据生成订单

notify()              支付回调,notify_url接收页面

2018-01-15_第1张图片


2018-01-15_第2张图片


2018-01-15_第3张图片

这是控制器里面的四个方法,还有两个html的

这个是buyPoint商品页面的一个ajax,用户点击微信支付的时候把订单信息传递到weixinpay_js方法中生成一条订单数据,生成后带着订单号跳转到pay的方法中去。

2018-01-15_第4张图片

pay.html这个页面就没什么东西了,官方的js,我做了个进入页面就直接加载js,调用出微信支付的接口,进行支付。

2018-01-15_第5张图片

然后支付成功的话会和微信支付一样,有成功页面提示,但微信官方说这个不保证绝对可靠,所以我们还是到notify方法中去做判断然后处理

4.个人心得

1.微信的操作不太好查找错误,我是通过file_put_contents()函数把参数不断生成文件来查看对比的,如果是数组用var_export转换成字符串

2.生成订单的参数都不能少,基本报错都在统一下单和生成订单参数那里。

3.微信支付授权目录,这个路径是写到你index.php的所在的目录。

第一次写,不详之处还请见谅,有问题也可以加我微信king-ais,当然我下班之余肯定会尽力帮助的

你可能感兴趣的:(2018-01-15)