React實現微信公衆號支付

 請求後臺接口獲取weChatData數據

請求後臺接口獲取weChatData數據

然後實現下面代碼

/**
     * 微信公衆號支付的數據
     */
    if (weChatData !== oldWeChatData && weChatData) {
      if (typeof WeixinJSBridge === "undefined") {
        if (document.addEventListener) {
          document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(weChatData), false);
        } else if (document.attachEvent) {
          document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(weChatData));
          document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(weChatData));
        }
      } else {
        this.onBridgeReady(weChatData);
      }
    }

 下面代碼裏面就是直接拉起微信支付,支付結果的操作

/**
   * 拉起微信公衆號支付
   * @param response
   */
  onBridgeReady = (response) => {
    if (response.package === undefined) {
      return;
    }
    WeixinJSBridge.invoke(
      'getBrandWCPayRequest', {
        "appId": response.appid,     //公衆號名稱,由商戶傳入
        "timeStamp": response.timestamp,         //時間戳,自1970年以來的秒數
        "nonceStr": response.nonce_str, //隨機串
        "package": response.package,
        "signType": response.signType,         //微信簽名方式:
        "paySign": response.paySign //微信簽名
      },
      function (res) {
        if (res.err_msg === "get_brand_wcpay_request:ok") {
          router.push('/results/check');
        } else if (res.err_msg === "get_brand_wcpay_request:cancel") {
          message.info("支付取消");
        } else if (res.err_msg === "get_brand_wcpay_request:fail") {
          router.push('/results/check');
        } else {
          message.info(res.err_msg);
        }
        WeixinJSBridge.log(response.err_msg);
      }
    );

  };

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章