一、通过授权获取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 {
// 支付失败
}
}
);