如何快速实现网站或 APP 中的微信支付接入?

2024-08-17
来源:网络整理

其实把支付集成到网站或者app服务里并不难,只要你不怕麻烦,并且认真了解整个支付交互流程,真的不会超过半个小时就能实现。本文就是基于使用ping++集成支付功能,在五分钟左右实现微信支付。

今天早上收到微信的通知,昨天申请的微信支付接入申请已经通过了审核,于是今天早上就把微信支付接入了。由于之前用过Ping++接入过支付宝的即时支付服务,所以在这个基础上添加微信支付接入也是分分钟的事情。

配置 Ping++ 后端

当你的微信支付申请通过后,你会收到四个非常关键的信息。

配置正确之后,需要简单修改一下后端支付发起代码,因为在 Ping++ 体系中支付宝和微信支付有细微的差别,具体就是在这个参数上的差别:使用支付宝即时支付时,该部分需要以同步跳转的方式传入,而微信支付则需要传入相应的字段。该部分代码可以如下:

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}

登录并复制

我认为这部分一分钟就可以完成!

修改前端代码

到此为止,留给前端的时间只剩下两分钟了,不过也够了。因为之前重构过支付组件,所以添加微信后只需要加一些条件判断就可以了。不过有一点需要注意,微信支付只支持扫码,没有跳转链接的概念,所以我们需要一个处理二维码的库。这里直接用我之前推荐的vue-就可​​以了。

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'; } }) },

登录并复制

因此,在显示二维码时,你可以执行以下操作:

请使用微信扫码支付

登录并复制

这样用户选择微信支付的时候就能正确看到微信支付二维码了!两分钟!

以上内容就是关于5分钟实现微信支付接入的教程方法,希望能够帮助到大家。

分享