微信开发中如何实现微信支付接入
创始人
2024-11-22 20:42:15
0次

今早收到微信通知,昨天申请的微信支付的接入申请已经通过,顾早上的时候就顺便把微信支付给接入了。由于之前我就使用 Ping++ 接入了支付宝的即时到账服务,所以在这个基础上增加一个微信支付的接入,想想就是分分钟的事情。

配置 Ping++ 后台

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

配置正确之后,需要简单地修改后端发起支付的代码,因为支付宝和微信支付在 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}

这部分我认为是一分钟就可以搞定!

修改前端代码

到这里,其实只留了两分钟给前端了,不过这个足矣。因为我之前使用 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';
        }
    })
},

这样在展示二维码的时候就可以这样:


    
        
        
    

    

请使用微信扫码支付

这样用户就可以在选择微信支付的时候,正确看到微信收款的二维码了!两分钟!

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...