支付宝小程序的支付功能开发

步骤:

1、获取用户授权

2、获取tradeNo

3、发起支付

// a.3 支付宝支付
  // #ifdef MP-ALIPAY
  _payByAli(payItemObj,paySource) {
    let that = this;
    
    // 下单开始start
    // 1 获取用户授权
    my.getAuthCode({
      scopes: 'auth_user',
      success: auth => {
        let authCode=auth.authCode;
        
        // 2 获取tradeNo
        let params={
          uin:common.getGlobalUserInfo().id,
          payType:1,
          paySource:paySource,
          total:payItemObj.receivable*100,
          orderId:payItemObj.id,
          auth_code:authCode,
          grant_type:'authorization_code',
        };
        request.setRequest('/payment/order',params,true).then(res => {
          if (res.data.status === 1) {
            if(!res.data.data.tradeNo){
              request.setErrorMessage('没有获取到tradeNo');
              return;
            }
            let tradeNo=res.data.data.tradeNo;
            
            // 3 发起支付
            my.tradePay({
              tradeNO: tradeNo,
              success: (result) => {
                if (result.resultCode != 9000) {
                  request.setErrorMessage(result.memo);
                } else {
                  // 跳转到订单详情页面
                  my.alert({
                    content: '支付成功',
                    buttonText: '确定',
                    success: () => {
                      // 充值支付后跳转到我的页面
                      if(paySource==1){
                        my.navigateTo({
                          url:'/pages/consume/consume'
                        })
                      }else{
                        console.log("支付成功");
                      }
                    }
                  });
                  
                }
              },
              fail: (err) => {
                request.setErrorMessage('支付异常');
              }
            });
            
          } else if (res.data.status < 1) {
            //<=0:人工返回的错误信息
            request.setErrorMessage(res.data.msg);
          } else {
            request.setErrorMessage();
          }
        });
      
      },
      fail: err => {
        request.setErrorMessage('获取用户授权失败');
      }
    });
    // 下单结束end
  },
  // #endif

 

你可能感兴趣的:(uniapp)