支付宝小程序Serverless 资金能力API·cloud.fund.transferAccount.transfer
cloud.fund.transferAccount.transfer 是单笔转账到支付宝账户接口,提供通过API接口完成企业自身支付宝账户到支付宝账户的转账功能。
使用该API前,请确认你的小程序应用已经添加 转账到支付宝账户 功能
入参说明
字段名 | 类型 | 必填 | 说明 |
---|---|---|---|
outBizNo | String | 是 | 商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。 |
transAmount | String | 是 | 订单总金额,单位为元,精确到小数点后两位,取值范围[0.1,100000000]。 |
payee | PayeeInfo | 是 | 收款方信息。详细字段见下面PayeeInfo对象说明。 |
orderTitle | String | 是 | 转账业务的标题,用于在支付宝用户的账单里显示。 |
PayeeInfo 对象说明
字段名 | 类型 | 必填 | 说明 |
---|---|---|---|
identity | String | 是 | 参与方的唯一标识。 |
identity_type | String | 是 | 参与方的标识类型,目前支持如下类型:1、ALIPAY_USER_ID 支付宝的会员ID 2、ALIPAY_LOGON_ID:支付宝登录号,支持邮箱和手机号格式。 |
name | String | 否 | 参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。 |
调用示例
在云函数中调用
// 云函数中使用云调用无需引入其他依赖,只需要使用ctx.cloud调用
module.exports = async function (ctx) {
let payeeInfo = new Object({
identity: this.data.payeeId,
identity_type: 'ALIPAY_USER_ID'
});
const res = await ctx.cloud.fund.transferAccount.transfer({
// 参数接收自云函数调用端传入的参数
outBizNo: ctx.args.outBizNo,
transAmount: ctx.args.transAmount,
payee: payeeInfo,
orderTitle: ctx.args.orderTitle
});
return res;
};
支持传入appAuthToken进行三方代调用
// 云函数中使用云调用无需引入其他依赖,只需要使用ctx.cloud调用
module.exports = async function (ctx) {
let payeeInfo = new Object({
identity: this.data.payeeId,
identity_type: 'ALIPAY_USER_ID'
});
const res = await ctx.cloud.fund.transferAccount.transfer({
// 参数接收自云函数调用端传入的参数
outBizNo: ctx.args.outBizNo,
transAmount: ctx.args.transAmount,
payee: payeeInfo,
orderTitle: ctx.args.orderTitle
}, {
// appAuthToken参数接收自云函数调用处传入的参数
appAuthToken: ctx.args.appAuthToken
});
return res;
};
在小程序页面调用
alipay-serverless-sdk 版本&=1.0.0
var payee = new Object({
identity: this.data.payeeId,
identity_type: 'ALIPAY_USER_ID'
});
const res = await cloud.fund.transferAccount.transfer({
outBizNo: '2077353455543433',
transAmount: '0.01',
payee: payeeInfo,
orderTitle: '测试'
});
alipay-serverless-sdk 版本<1.0.0
var payee = new Object({
identity: this.data.payeeId,
identity_type: 'ALIPAY_USER_ID'
});
const res = await cloud.fund.transferAccount.transfer(generateOutBizNo(), '0.01', payee, '测试');
返回数据示例
{
"code":"10000",
"msg":"Success",
"out_biz_no":"201808080001",
"order_id":"20190801110070000006380000250621",
"pay_fund_order_id":"20190801110070001506380000251556",
"status":"SUCCESS",
"trans_date":"2019-08-21 00:00:00"
}