目录
my.tradePay
alipay.trade.create
公共请求参数
请求参数
alipay.system.oauth.token
公共请求参数
请求参数
my.getAuthCode
支付是小程序生态中的重要一环,但支付宝给出的文档确不够详细,大大增加了小程序的开发难度,本文旨在说明支付宝小程序唤起支付的详细过程,用以降低开发文档的阅读难度。
支付需要配置能力列表中的小程序支付能力和获取会员基础信息的能力。
my.tradePay
根据小程序API文档给出的说明,my.tradePay是用于发起支付的 API,实例代码如下:
// .jsmy.tradePay({// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号trade_notradeNO: '11152100110410533667792',success: (res) => {my.alert({content: JSON.stringify(res),});},fail: (res) => {my.alert({content: JSON.stringify(res),});}});
但其中tradeNO参数需要调用统一收单交易创建接口(alipay.trade.create)来获得,需要注意:
alipay.trade.create接口在小程序场景中buyer_id参数必填,且入参的buyer_id(用户 user_id,2088 开头)必须和前端唤起支付的支付宝账号一致。
alipay.trade.create
所以调用alipay.trade.create接口需要以下参数:
公共请求参数
请求参数
sign由上面的参数与私钥计算而来,详情参见签名。
user_id即用户ID,需要通过alipay.system.oauth.token接口获得。
alipay.system.oauth.token
调用接口需要以下参数:
公共请求参数
请求参数
需要注意的是,auth_code是用户授权码,需要通过my.getAuthCodeAPI获取。
my.getAuthCode
实例如下:
my.getAuthCode({scopes: 'auth_user',success: (res) => {my.alert({content: res.authCode,});},});
综上所述,支付宝小程序唤起支付以下步骤进行:
1、调用my.getAuthCodeAPI获取用户授权码authCode。
2、调用alipay.system.oauth.token接口,传入authCode以及其他必选参数获得user_id。
3、调用alipay.trade.create接口,传入user_id及其他必选参数获取tradeNO。
4、调用my.tradePayAPI发起支付,从而唤起支付宝支付功能。