H5两种微信支付的区别

  • 2019 年 11 月 24 日
  • 笔记

WeixinJSBridge.invoke() 与 wx.chooseWXPay

WeixinJSBridge.invoke()出现的版本更早 无需引用jssdk 无需wx.config方法注入 需要参数appId 使用回调 有详细的说明

而 wx.chooseWXPay出现的版本比较晚 需要jssdk注入 不需要参数appId 使用回调 只有SUCCESS 和 FAIL没有具体的说明

WeixinJSBridge.invoke()是微信浏览器的内置方法 其实wx.chooseWXPay在引用的微信jssdk文件中 也调用了WeixinJSBridge.invoke() 是对WeixinJSBridge.invoke() 的再次封装

综上所诉 这是微信前后设计的不同方法的支付 还是WeixinJSBridge.invoke更方便一些 有具体的失败回调

WeixinJSBridge.invoke(                  'getBrandWCPayRequest',                  options,                  function (res) {                      if (res.err_msg == 'get_brand_wcpay_request:ok') {                          // 使用以上方式判断前端返回,微信团队郑重提示:                          // res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。                          console.log(res.err_msg);                          if (typeof callback === 'function') {                              callback();                          }                      } else {                          console.log(err_msg);                      }                  }              );