H5网页扫码聚合支付(一)——支付宝

一、通过授权获取auth_code

1、通过CDN方式引入支付宝jsapi

<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.min.js"></script>

2、通过getAuthCodeAPI根据主动授权或静默授权获得auth_code

ap.getAuthCode({
  scopes: ['auth_user'],
 // 主动授权:auth_user,静默授权:auth_base。或者其它scope。如需同时获取用户多项授权,可在 scopes 中传入多个 scope 值。
  success: (res) => {
  	res.authCode
  },
});

3、获得auth_code返回给后端换取 access_token、user_id

二、生成tradeNO

根据user_id,二维码id和金额返回给后端,后端会生成一个 tradeNO(支付宝交易号)
注:支付宝H5开发文档给出两种调起收银台的支付方式,我这里用的是使用支付宝交易号进行调起,
详细方法请前往(https://myjsapi.alipay.com/jsapi/native/trade-pay.html)

三、根据tradeNO调起支付宝收银台

  ap.tradePay(
              {
                tradeNO: JSON.parse(data.expend.pay_info).tradeNO
              },
              (res) => {
                // ap.alert(res.resultCode);
                if (res.resultCode == 9000) {
                  // 支付成功
                } else if (res.resultCode == 8000 || res.resultCode == 6001) {
                  // 正在处理中 || 取消
                } else {
                  // 支付失败
                }
              }
            );
上一篇:报错:无效的列类型: 1111


下一篇:SpringBoot统一处理返回结果和异常情况