小程序 支付功能

工作日志 随手笔记 仅供参考

/**
   * 支付订单
   */
  payOrder:function(event){
    var that = this;
    var order_hash = event.currentTarget.dataset.orderHash;
   

    //console.log(order_hash);
    //呼起微信支付
    wx.request({
      url: 'http://********/mpay/order/process',//接口名
      method: 'POST',
      data: {
        hash: order_hash, 
        platform: 'miniProgram',
        channel: 'weixin'
      },
      header: {
        'appid': 'fZ4wruPFDWZTEwD1gUhbkez0CUmeWGJx',
        'mbcore-access-token': wx.getStorageSync('access_token'),
        'mbcore-auth-token': wx.getStorageSync('auth_token')
      },
      success: function (res) {
        console.log(res);
      
        if (res.data.code == 1) {
          //呼起微信支付
          wx.requestPayment({
            'timeStamp': res.data.result.parameters.timeStamp,
            'nonceStr': res.data.result.parameters.nonceStr,
            'package': res.data.result.parameters.package,
            'signType': 'MD5',
            'paySign': res.data.result.parameters.paySign,
            'success': function (res) {
              console.log(res);  //支付完成后 从后台调接口 看后台是否收到支付成功的状态
               wx.request({
               url: 'http://*********/mpay/order/validate',  //支付成功的状态
                method:'POST',
                data:{
                  hash: order_hash
                },
                header: {
                  'appid': 'fZ4wruPFDWZTEwD1gUhbkez0CUmeWGJx',
                  'mbcore-access-token': wx.getStorageSync('access_token'),
                  'mbcore-auth-token': wx.getStorageSync('auth_token')
                },
                success:function(res){
                  console.log(res)
                  var status = res.data.result.status;
        
                  if (status == 2) { // 判断如果status == 2支付成功 显示支付成功 更新数据
                    wx.showToast({
                      title: '支付成功',
                    })
                    that.setData({
                      order_state:'已支付'
                    })
                      
                    
                  }else {
                    wx.showToast({
                      title: '支付失败,请稍后刷新',
                    })
                  }

                }
              })
              

            },
            'fail': function (res) {
              console.log(res);
              wx.showToast({
                title: '支付失败',
                icon:'none'
              })
            }
          })
          
        } else  {
          var msg = res.data.result.msg;
              wx.showToast({
                title: msg, // 支付完成不可以在支付
                icon:'none'
              })
         
        }
      },
      fail: function (err) {
        console.log(err)
        //提示错误信息
        wx.showToast({
          title: '订单取消失败',
          icon: 'none',
          duration: 2000
        })
      }
    });
  },

 如果已经支付成功  提示无法支付 



猜你喜欢

转载自blog.csdn.net/acitylion/article/details/80917801