微信支付-JSAPI模式开发

之前写了两篇文章都不是关于技术类的,这个号主要还是以分享技术为主,第三篇必须得上技术类的文章,不然会对不起大家的,所以就有了今天的文章。

现在微信支付开发很火,也不是特别难,网上也很多别人整理的教程,也有官方开发文档。主要是每个人在开发的过程中常常会遇到一些不同的小问题,然后怎么去解决这才是最关键的。作为web开发者,尤其是后端开发者,不会微信支付开发的话就真的很low。

最近做了一个在线租车的微信项目,项目其中正好有微信支付这个功能,我在做的过程中也遇到了一些小问题,虽说之前也做过,但之前都没遇到过这些问题。最后经过自己的思考和网上查资料,一个一个方法的去调试,最后完美的解决了。

以下是我做微信支付功能的相关效果截图:

图片[1]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[2]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[3]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[4]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[5]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

以下是我的开发步骤:

注明:我用的是Thinkphp框架搭的项目,所以这个微信支付功能是在TP的基础上实现的。

第一步:需要以下资料

'WX_APPID' => '微信公众号应用ID'

'APPSECRET' => '微信公众号应用密钥'

'MCHID' => '微信商户ID'

'KEY' => '微信商户密钥'

微信商户密钥如何设置:

图片[6]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

第二步:支付目录授权配置

图片[7]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

第三步:上传类库

路径:

/Libs/ThinkPHP/Library/Vendor/WxPayPubHelper

微信支付-JSAPI模式没有用到证书,也可以不用上传证书。

图片[8]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

路径:

/Libs/ThinkPHP/Library/Vendor/SendMessage

这个是微信公众号主动给用户推送消息的类,当订单支付完成时执行这个方法,给用户推一个消息,通知用户订单支付成功,此功能我主要是为了用户体验而加的。

图片[9]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

第四步:配置文件

图片[10]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

第五步:控制器

图片[11]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[12]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[13]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[14]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[15]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

第六步:支付页面

图片[16]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[17]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

图片[18]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

到此为止,微信JSAPI支付功能就全部做好了。

我在做微信支付的过程中出现了一个比较麻烦的问题,耗费了我半天的时间才解决的,就是在支付过程中回调通知地址的URL不规则,导致虽然支付成功了,但获取不到订单信息以及对订单信息的处理。微信支付要求回调通知URL必须不能带参数,如:“你的域名

/index.php/home/WxJsAPI/notify/”。因为我用的是Thinkphp的路由模式3,此路由带了参数,如:“你的域名/index.php?s=/home/WxJsAPI/notify/”。(凡是URL里带有“?”的,都算是带了参数)

我最后的解决方法是,重写服务器的URL,让Thinkphp的三种模式都兼容。所以我就在Nginx的配置文件里rewrite了URL,如:

图片[19]-微信支付-JSAPI模式开发-JieYingAI捷鹰AI

当然,如果你是第一次做,肯定会遇到各种问题,如果你是新手,遇到的问题都不知道为什么,即使你做过了再做我相信还是可能由于细节上的疏忽会出现问题的,不过不要烦躁,耐心的去发现问题,耐心的去调试,最后一定可以解决的。

现在是信息大爆炸时代,信息泛滥,在这样的社会环境下,好的原创文章是最需要的,最不应该被淹没的,所以我就开始写文章了。这是我写的第三篇文章,是一篇关于微信支付的技术类文章,目的是分享给有需要的朋友,大家可以一起交流进步。可能很多地方写的不好,请大家多多指出。

我一直认为写文章是最好的思考方式,不光在分享,也在沉淀自己。张德Talk上的文章主要是分享技术、产品、创业和生活的相关有趣故事和经历。欢迎关注我的微笑公众号【zhangdeTalk】。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享