文中是在应用 Ping 集成化付款作用的前提以上,完成微信支付,大约只必须五分钟。
今天上午接到微信通知,昨日申请办理的微信支付的接入申请早已根据,顾早晨的过程中就顺带把微信支付给接入了。因为以前我便应用 Ping 接入了支付宝支付的即时到账服务项目,因此在这个基本上提升一个微信支付的接入,想一想便是一下子的事儿。
配备 Ping 后台管理待你申报的微信支付根据以后,你能取得四个十分核心的信息,实际的信息和 Ping 的连接步骤强烈推荐我们可以立即到 Ping 的帮助文件查询:https://help.pingxx.com/article/115669/
非常详尽和仔细!这也是我愿用 Ping 的因素之一吧。这一流程大约是2分钟!
简易改动后面代码配备恰当以后,必须简洁地改动后面进行付款的代码,由于支付宝钱包和微信支付在 Ping 的系统软件中是有微小的差异的,实际是 extra 这一主要参数的差别:应用支付宝钱包即时到账的情况下,在 extra 一部分必须传入 success_url 做为同歩自动跳转必须,而微信支付则需要在 extra 字段名传入针对的 product_id ,这一部分的代码可以那样:
switch ( $channel ) { case 'alipay_pc_direct' : $extra['success_url'] = url('/payment/done'); break; case 'wx_pub_qr': $extra['product_id'] = $this->wechatOrder(); break; default: //more extra comes here}这一部分我觉得是一分钟就可以解决!
改动前面代码到这儿,实际上只留了2分钟给前面了,但是这一足已。由于我以前应用 Vuejs 构建了付款的部件,因此在提升手机微信以后的情况下便是加一些标准分辨就OK,但是要注意一点便是,微信支付是只适用扫二维码的,并没什么自动跳转连接的定义,因此大家必须一个解决二维码的库,这儿就可以立即应用我以前强烈推荐的 vue-qrcode 的了。
then((response) => { if(this.channel === 'wx_pub_qr') { this.status = 'paying'; this.qrcodeUrl = response.data.credential.wx_pub_qr; this.timeId = setInterval(() => { if (this.status == 'success') { clearInterval(this.timeId); } this.checkPaymentDone(response.data.id); }, 5000) } } checkPaymentDone(chargeId) { axios.post('/payment/check', { chargeId: chargeId }).catch(error => { this.status = 'exception'; }).then(response => { if (response.data.finished) { this.status = 'success'; } })},那样在展现二维码的过程中就可以那样:
<div v-show="status == 'paying'"> <p v-show="channel == 'wx_pub_qr'"> <qrcode :value="qrcodeUrl" v-if="qrcodeUrl" :options="{ size: 170 }"> </qrcode> </p> <p>请应用微信扫码支付</p></div>那样客户就可以在挑选微信支付的情况下,恰当见到微信收钱的二维码了!2分钟!
汇总实际上在一个网站或是 App 服务项目中接入付款并不是什么难题,只要你不担心去做,用心去掌握全部付款的互动步骤,完成起來真的是较多半小时的事儿。写代码嘛,无需怕,说怼就怼!
最终别忘记关心 codecasts 微信公众号,依然会更文章内容,送书。哈哈哈哈哈
扫码咨询与免费使用
申请免费使用