其实在一个网站或者 app 服务中接入支付并不是什么难事,只要你不害怕去做,认真去了解整个支付的交互流程,实现起来真的是最多半个小时的事情。本文是在使用 ping++ 集成支付功能的基础之上,实现微信支付,大概只需要五分钟。
今早收到微信通知,昨天申请的微信支付的接入申请已经通过,顾早上的时候就顺便把微信支付给接入了。由于之前我就使用 Ping++ 接入了支付宝的即时到账服务,所以在这个基础上增加一个微信支付的接入,想想就是分分钟的事情。
配置 Ping++ 后台
待你申请的微信支付通过之后,你会拿到四个非常关键的信息。
配置正确之后,需要简单地修改后端发起支付的代码,因为支付宝和微信支付在 Ping++ 的系统中是有细微的差别的,具体是 extra 这个参数的区别:使用支付宝即时到账的时候,在 extra 部分需要传入 success_url 作为同步跳转需要,而微信支付则需要在 extra 字段传入对于的 product_id ,这部分的代码可以这样:
switch ( $channel ) { case #39;alipay_pc_direct #39; : $extra[ #39;success_url #39;] = url( #39;/payment/done #39;); break; case #39;wx_pub_qr #39;: $extra[ #39;product_id #39;] = $this- wechatOrder(); break; default: //more extra comes here}
这部分我认为是一分钟就可以搞定!
修改前端代码
到这里,其实只留了两分钟给前端了,不过这个足矣。因为我之前使用 Vuejs 重构了支付的组件,所以在增加微信之后的时候就是加一些条件判断就OK,不过需要特别注意一点就是,微信支付是只支持扫码的,并没有什么跳转链接的概念,所以我们需要一个处理二维码的库,这里就可以直接使用我之前推荐的 vue-qrcode 的了。
then((response) = { if(this.channel === #39;wx_pub_qr #39;) { this.status = #39;paying #39;; this.qrcodeUrl = response.data.credential.wx_pub_qr; this.timeId = setInterval(() = { if (this.status == #39;success #39;) { clearInterval(this.timeId); this.checkPaymentDone(response.data.id); }, 5000) checkPaymentDone(chargeId) { axios.post( #39;/payment/check #39;, { chargeId: chargeId }).catch(error = { this.status = #39;exception #39;; }).then(response = { if (response.data.finished) { this.status = #39;success #39;; },
这样在展示二维码的时候就可以这样:
div v-show= status == #39;paying #39; p v-show= channel == #39;wx_pub_qr #39; qrcode :value= qrcodeUrl v-if= qrcodeUrl :options= { size: 170 } /qrcode p 请使用微信扫码支付 /p /div
这样用户就可以在选择微信支付的时候,正确看到微信收款的二维码了!两分钟!
以上内容就是关于5 分钟实现微信支付接入教程方法,希望能帮助到大家。
相关推荐:
用h5做出微信的支付过程的实现步骤
Thinkphp整合微信支付功能详解
微信小程序开发之总结支付功能错误
以上就是5 分钟实现微信支付接入教程的详细内容,更多请关注php中文网其它相关文章!
微信app下载
微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!