微信内h5调用支付

在做公众号商城的时候,需要用到调用微信支付,这是微信官方文档教程

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6,详细描述了怎么调起微信支付,以下代码是我的实际业务调用微信支付完整流程

到订单页面点击提交订单按钮,此时点击事件先向后台发个请求,公司的后端人员通过代码去对接微信的系统,生成一个预订单,然后返回一个prepay_id,具体可以看官方文档里边的业务流程图。在我们刚才向接口发送请求以后,后端会把信息返回给我们,包括appId、timeStamp、nonceStr、package、signType这个值。这些值都是我们调起微信支付必须的。

代码如下:

            this.getFetch("公司后端提供的接口", data).then(res => {
              if (res.data.code * 1 === 1) {
                function onBridgeReady() {
                  WeixinJSBridge.invoke(
"getBrandWCPayRequest", {
  appId: res.data.data.jsApiId, //公众号名称,由商户传入
  timeStamp:res.data.data.timestamp, //时间戳,自1970年以来的秒数
  nonceStr: res.data.data.nonceStr, //随机串
  package: res.data.data.package,
  signType: res.data.data.signType, //微信签名方式:
  paySign: res.data.data.paySign //微信签名
},
wxResponse => {
  if (wxResponse.err_msg == "get_brand_wcpay_request:ok") {
    window.location.href = window.location.origin + "/couponPaySuccess?ordernum=" + res.data.data.id;
  }
  if (wxResponse.err_msg == "get_brand_wcpay_request:fail") {
    _this.$toast("支付失败");
  }
 if (wxResponse.err_msg == "get_brand_wcpay_request:cancel") {
   _this.$toast("支付取消");
  }
}
                  );
                }
                if (typeof WeixinJSBridge == "undefined") {
                  if (document.addEventListener) {
document.addEventListener(
  "WeixinJSBridgeReady",
  onBridgeReady,
  false
);
                  } else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", onBridgeReady);
document.attachEvent(
  "onWeixinJSBridgeReady",
  onBridgeReady
);
                  }
                } else {
                  onBridgeReady();
                }
              } else if (res.data.code * 1 === -1) {
                this.autoLogin();
              } else {
                this.$toast(res.data.msg);
                this.wxBtn=true;
              }

            });

 

微信内h5调用支付

以上是微信内h5调用支付的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>