5.0.0 • Published 3 years ago

alipaytest-serverless-sdk v5.0.0

Weekly downloads
1
License
ISC
Repository
-
Last release
3 years ago

Alipay Serverless SDK

支付宝小程序端Serverless配套SDK,让您享受极简编程体验的同时,快速集成支付宝、阿里云等阿里经济体开放的各项核心能力。

Installation 安装

npm install alipay-serverless-sdk --save
npm install @alicloud/mpserverless-sdk --save

alipay-serverless-sdk 依赖 @alicloud/mpserverless-sdk,使用时需要传入 mpserverless-sdk 实例进行初始化

Usage 快速示例

// 1. 引入必要的 sdk
import MPServerless from '@alicloud/mpserverless-sdk';
import cloud from 'alipay-serverless-sdk';

// 2. 在 app.js 中对 sdk 进行初始化
// 2.1 初始化 MPServerless
my.serverless = my.serverless || new MPServerless({
  uploadFile: my.uploadFile,
  request: my.request,
  getAuthCode: my.getAuthCode,
}, {
  // 2.2 参数能在小程序云服务空间详情中获取
  appId: '',
  spaceId: '',
  clientSecret: '',
  endpoint: ''
});
// 2.3 初始化 alipay-serverless-sdk
cloud.init(my.serverless);

// 3. 在想要使用的页面导入 alipay-serverless-sdk 即可使用
// 比如在 page.js
import cloud from 'alipay-serverless-sdk';

cloud.base.qrcode.create(urlParam, queryParam, describe);

API Doc

将API Doc中API的上两级标题中的英文(转首字符小写驼峰格式),用点号拼接在一起作为前缀,就是这个API的完整引用路径。Alipay Serverless SDK致力于保持良好的API命名,以符合开发者的编程直觉。

下面是几个典型的例子。

import cloud from 'alipay-serverless-sdk';

//调用基础能力-用户授权-获取授权访问令牌API
cloud.base.oauth.getToken

//调用营销能力-小程序模板消息-发送模板消息API
cloud.marketing.templateMessage.send

//调用营销能力-兑换券使用
cloud.marketing.exchangevoucher.use

//调用会员能力-支付宝身份认证-生成认证链接API
cloud.member.identification.certify

//调用支付能力-花呗分期-创建花呗分期交易API
cloud.payment.huabei.create

// 调用资金能力-无密转账到支付宝账户-单笔转账API
cloud.fund.transferAccount.transfer

// 调用资金能力-B2C现金红包-发放现金红包
cloud.fund.b2cRedPacket.send

//调用安全能力-文本风险识别-检测内容风险API
cloud.security.textRisk.detect

//调用阿里云能力-短信-发送API
cloud.aliyun.shortMessage.send

基础能力 Base

用户授权 OAuth

获取授权访问令牌

  • API声明

getToken(code: string)

  • 入参说明
字段名类型必填说明
codestring授权码,用户对应用授权后得到
  • 出参说明

可前往alipay.system.oauth.token查看更加详细的参数说明。

刷新授权访问令牌

  • API声明

refreshToken(refreshToken: string)

  • 入参说明
字段名类型必填说明
refreshTokenstring刷新令牌,上次换取访问令牌时得到,见出参的refresh_token字段
  • 出参说明

可前往alipay.system.oauth.token查看更加详细的参数说明。


小程序二维码 Qrcode

创建小程序二维码

  • API声明

create(urlParam: string, queryParam: string, describe: string)

  • 入参说明
字段名类型必填说明
urlParamstring小程序中能访问到的页面路径,例如:page/component/component-pages/view/view
queryParamstring小程序的启动参数,打开小程序的query ,在小程序 onLaunch的方法中获取
describestring二维码描述
  • 出参说明

可前往alipay.open.app.qrcode.create查看更加详细的参数说明。


营销能力 Marketing

小程序模板消息 TemplateMessage

发送模板消息

  • API声明

send(toUserId: string, formId: string, userTemplateId: string, page: string, data: string)

  • 入参说明
字段名类型必填说明
toUserIdstring发送消息的支付宝账号
formIdstring用户发生的交易行为的交易号,或者用户在小程序产生表单提交的表单号,用于信息发送的校验
userTemplateIdstring用户申请的模板id号,固定的模板id会发送固定的消息
pagestring小程序的跳转页面,用于消息中心用户点击之后详细跳转的小程序页面,例如:page/component/index
datastring开发者需要发送模板消息中的自定义部分来替换模板的占位符,例如:{"keyword1": {"value" : "12:00"},"keyword2": {"value" : "20180808"},"keyword3": {"value" : "支付宝"}}
  • 出参说明

可前往alipay.open.app.mini.templatemessage.send查看更加详细的参数说明。


兑换券 Exchangevoucher

创建兑换券模板

  • API声明

create(outBizNo: string, brandName: string, voucherName: string, quantity: number, publishStartTime: string, publishEndTime: string, validPeriod: string, availableTime: string, description: string, extensionInfo: string)

  • 入参说明
字段名类型必填说明
outBizNostring外部业务单号。用作幂等控制。同一个pid下相同的外部业务单号作唯一键。
brandNamestring品牌名。用于在卡包中展示,长度不能超过12个字符。
voucherNamestring券名称。用于在卡包中展示,长度不能超过20个字符。展示的实际名称为:券名称+兑换券。如,voucher_name为咖啡。则,卡包展示名称为:咖啡兑换券。
quantitynumber拟发行券的数量。单位为张。该数值必须是大于0的整数。
publishStartTimestring发放开始时间,早于该时间不能发券。发放开始时间不能大于当前时间15天。格式为:yyyy-MM-dd HH:mm:ss
publishEndTimestring发放结束时间,晚于该时间不能发券。券的发放结束时间和发放开始时间跨度不能大于90天。发放结束时间必须晚于发放开始时间。格式为:yyyy-MM-dd HH:mm:ss
validPeriodstring券有效期。具体取值规则可前往alipay.marketing.exchangevoucher.template.create查看更加详细的参数说明。
availableTimestring券可用时段。具体取值规则可前往alipay.marketing.exchangevoucher.template.create查看更加详细的参数说明。
descriptionstring券使用说明。JSON数组字符串,最多可以有10条,每条最多50字。不采用时输入"[]"
extensionInfostring扩展字段,JSON字符串。具体取值规则可前往alipay.marketing.exchangevoucher.template.create查看更加详细的参数说明。
  • 出参说明

可前往alipay.marketing.exchangevoucher.template.create查看更加详细的参数说明。

发放兑换券

  • API声明

send(templateId: string, userId: string, outBizNo: string)

  • 入参说明
字段名类型必填说明
templateIdstring券模板ID。
userIdstring支付宝用户ID 。
outBizNostring外部业务订单号,用于幂等控制,相同template_id和out_biz_no认为是同一次业务。
  • 出参说明

可前往alipay.marketing.voucher.send查看更加详细的参数说明。

使用兑换券

  • API声明

use(voucherId: string, userId: string, outBizNo: string)

  • 入参说明
字段名类型必填说明
voucherIdstring待使用的券id ,来自发券接口alipay.marketing.voucher.send
userIdstring支付宝用户ID ,必须保证待使用的券ID归属于该支付宝用户ID。
outBizNostring外部业务号,用户幂等控制。相同voucher_id和out_biz_no被认为是同一次核销。
  • 出参说明

可前往alipay.marketing.exchangevoucher.use查看更加详细的参数说明。

查询兑换券

  • API声明

query(voucherId: string)

  • 入参说明
字段名类型必填说明
voucherIdstring券ID(券唯一标识, 发券接口返回参数) 。
  • 出参说明

可前往alipay.marketing.voucher.query查看更加详细的参数说明。


会员能力 Member

支付宝身份认证 Identification

身份认证初始化

  • API声明

init(outerOrderNo: string, bizCode: string, identityParam: IdentityParam, merchantConfig: MerchantConfig)

  • 入参说明
字段名类型必填说明
outerOrderNostring商户请求的唯一标识,商户要保证其唯一性,值为32位长度的字母数字组合,建议前面几位字符是商户自定义的简称,中间可以使用一段时间,后段可以使用一个随机或递增序列
bizCodestring认证场景码,入参支持的认证场景码和商户签约的认证场景相关,可选值有如下,FACE:多因子人脸认证;CERT_PHOTO:多因子证照认证;CERT_PHOTO_FACE:多因子证照和人脸认证;SMART_FACE:多因子快捷认证
identityParamIdentityParam需要验证的身份信息参数
merchantConfigMerchantConfig商户个性化配置

IdentityParam对象说明

字段名类型必填说明
identityTypestring身份信息参数类型,必须传入CERT_INFO
certTypestring证件类型,当前支持身份证,必须传入IDENTITY_CARD
certNamestring真实姓名
certNostring证件号码

MerchantConfig对象说明

字段名类型必填说明
returnUrlstring需要回跳的目标URL地址,一般指定为商户业务页面
  • 出参说明

可前往alipay.user.certify.open.initialize查看更加详细的参数说明。

生成认证链接

  • API声明

certify(certifyId: string)

  • 入参说明
字段名类型必填说明
certifyIdstring本次申请操作的唯一标识,由身份认证初始化接口调用后生成,后续的操作都需要用到
  • 出参说明

可前往alipay.user.certify.open.certify查看更加详细的参数说明。

身份认证记录查询

  • API声明

query(certifyId: string)

  • 入参说明
字段名类型必填说明
certifyIdstring身份认证操作的唯一标识,由身份认证初始化接口调用后生成
  • 出参说明

可前往alipay.user.certify.open.query查看更加详细的参数说明。


支付能力 Payment

通用接口 Common

创建交易

  • API声明

create(subject: string, outTradeNo: string, totalAmount: string, buyerId: string)

  • 入参说明
字段名类型必填说明
subjectstring订单标题
outTradeNostring商户订单号,64个字符以内,可包含字母、数字、下划线,需保证在商户端不重复
totalAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围0.01,100000000
buyerIdstring买家的支付宝用户ID,如果为空,会从传入的码值信息中获取买家ID
  • 出参说明

可前往alipay.trade.create查看更加详细的参数说明。

查询交易

  • API声明

query(outTradeNo: string)

  • 入参说明
字段名类型必填说明
outTradeNostring交易创建时传入的商户订单号
  • 出参说明

可前往alipay.trade.query查看更加详细的参数说明。

交易退款

  • API声明

refund(outTradeNo: string, refundAmount: string)

  • 入参说明
字段名类型必填说明
outTradeNostring交易创建时传入的商户订单号
refundAmountstring需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
  • 出参说明

可前往alipay.trade.refund查看更加详细的参数说明。

关闭交易

  • API声明

close(outTradeNo: string)

  • 入参说明
字段名类型必填说明
outTradeNostring交易创建时传入的商户订单号
  • 出参说明

可前往alipay.trade.close查看更加详细的参数说明。

撤销交易

  • API声明

cancel(outTradeNo: string)

  • 入参说明
字段名类型必填说明
outTradeNostring交易创建时传入的商户订单号
  • 出参说明

可前往alipay.trade.cancel查看更加详细的参数说明。


花呗分期 Huabei

创建花呗分期交易

  • API声明

create(subject: string, outTradeNo: string, totalAmount: string, buyerId: string, extendParams: HuabeiConfig)

  • 入参说明
字段名类型必填说明
subjectstring订单标题
outTradeNostring商户订单号,64个字符以内,可包含字母、数字、下划线,需保证在商户端不重复
totalAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围0.01,100000000
buyerIdstring买家的支付宝用户ID,如果为空,会从传入的码值信息中获取买家ID
extendParamsHuabeiConfig花呗交易扩展参数

HuabeiConfig对象说明

字段名类型必填说明
hbFqNumstring花呗分期数,仅支持传入3、6、12
hbFqSellerPercentstring代表卖家承担收费比例,商家承担手续费传入100,用户承担手续费传入0,仅支持传入100、0两种
  • 出参说明

可前往alipay.trade.create查看更加详细的参数说明。


当面付 FaceToFace

当面付交易付款

  • API声明

pay(subject: string, outTradeNo: string, totalAmount: string, authCode: string)

  • 入参说明
字段名类型必填说明
subjectstring订单标题
outTradeNostring交易创建时传入的商户订单号
totalAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围0.01,100000000
authCodestring支付授权码,25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准
  • 出参说明

可前往alipay.trade.pay查看更加详细的参数说明。


资金能力 Fund

无密转账到支付宝账户 TransferAccount

单笔转账

  • API声明

transfer(outBizNo: string, transAmount: string, payee: object, orderTitle: string)

  • 入参说明
字段名类型必填说明
outBizNostring商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
transAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围0.1,100000000
+ payeeobject收款方信息。
└ identitystring参与方的唯一标识。
└ identity_typestring参与方的标识类型,目前支持如下类型:1、ALIPAY_USER_ID 支付宝的会员ID 2、ALIPAY_LOGON_ID:支付宝登录号,支持邮箱和手机号格式。
└ namestring参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。
orderTitlestring转账业务的标题,用于在支付宝用户的账单里显示。
  • 出参说明

可前往alipay.fund.trans.uni.transfer查看更加详细的参数说明。

查询转账单据

  • API声明

query(payFundOrderId: string)

  • 入参说明
字段名类型必填说明
payFundOrderIdstring支付宝支付资金流水号。
  • 出参说明

可前往alipay.fund.trans.common.query查看更加详细的参数说明。


无密转账到银行卡 TransferBankcard

单笔转账

  • API声明

transfer(outBizNo: string, transAmount: string, payee: object, orderTitle: string)

  • 入参说明
字段名类型必填说明
outBizNostring商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
transAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围0.1,100000000
+ payeeobject收款方信息。
└ identitystring参与方的唯一标识。
└ identity_typestring参与方的标识类型,目前支持如下类型:1、ALIPAY_USER_ID 支付宝的会员ID 2、ALIPAY_LOGON_ID:支付宝登录号,支持邮箱和手机号格式。
└ namestring参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。
orderTitlestring转账业务的标题,用于在支付宝用户的账单里显示。
  • 出参说明

可前往alipay.fund.trans.uni.transfer查看更加详细的参数说明。

查询转账单据

  • API声明

query(payFundOrderId: string)

  • 入参说明
字段名类型必填说明
payFundOrderIdstring支付宝支付资金流水号。
  • 出参说明

可前往alipay.fund.trans.common.query查看更加详细的参数说明。


B2C现金红包 B2cRedPacket

发放现金红包

  • API声明

send(outBizNo: string, transAmount: string, payee: object, orderTitle: string)

  • 入参说明
字段名类型必填说明
outBizNostring商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
transAmountstring订单总金额,单位为元,精确到小数点后两位,取值范围0.01,100000000
+ payeeobject收款方信息。
└ identitystring参与方的唯一标识。
└ identity_typestring参与方的标识类型,目前支持如下类型:1、ALIPAY_USER_ID 支付宝的会员ID 2、ALIPAY_LOGON_ID:支付宝登录号,支持邮箱和手机号格式。
└ namestring参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当identity_type=ALIPAY_LOGON_ID时,本字段必填。
orderTitlestring转账业务的标题,用于在支付宝用户的账单里显示。
  • 出参说明

可前往alipay.fund.trans.uni.transfer查看更加详细的参数说明。

查询转账单据

  • API声明

query(payFundOrderId: string)

  • 入参说明
字段名类型必填说明
payFundOrderIdstring支付宝支付资金流水号。
  • 出参说明

可前往alipay.fund.trans.common.query查看更加详细的参数说明。


安全能力 Security

文本风险识别 TextRisk

检测内容风险

  • API声明

detect(content: string)

  • 入参说明
字段名类型必填说明
contentstring待检测的文本内容
  • 出参说明

可前往alipay.security.risk.content.detect查看更加详细的参数说明。

阿里云能力 Aliyun

短信 ShortMessage

发送

  • API声明

send(phoneNumbers: string, signName: string, templateCode: string, templateParam: string)

  • 入参说明
字段名类型必填说明
phoneNumbersstring短信接收号码,支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为:国际区号+号码,如“85200000000”
signNamestring短信签名
templateCodestring短信模板ID,发送国际/港澳台消息时,请使用国际/港澳台短信模版
templateParamstring短信模板变量替换JSON串,例如:{"code":"1234","product":"ytx"}
  • 出参说明

可前往SendSms查看更加详细的参数说明。

批量发送

  • API声明

batchSend(phoneNumberJson: object, signNameJson: object, templateCode: string, templateParamJson: string)

  • 入参说明
字段名类型必填说明
phoneNumberJsonstring短信接收号码,JSON格式,批量上限为100个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
signNameJsonstringJOSN格式短信签名,例如:“云通信”,”云通信”
templateCodestring短信模板ID,发送国际/港澳台消息时,请使用国际/港澳台短信模版
templateParamJsonstring短信模板变量替换JSON串,例如:{"code":"1234","product":"ytx1"},{"code":"5678","product":"ytx2"}
  • 出参说明

可前往SendBatchSms查看更加详细的参数说明。

查询

  • API声明

query(phoneNumber: string, sendDate: string, pageSize: number, currentPage: number)

  • 入参说明
字段名类型必填说明
phoneNumberstring短信接收号码,如果需要查询国际短信,号码前需要带上对应国家的区号,区号的获取详见国际短信支持国家信息查询API接口
sendDatestring短信发送日期格式yyyyMMdd,支持最近30天记录查询,例如:20170525
pageSizenumber页大小,最大不超过50
currentPagenumber当前页码
  • 出参说明

可前往QuerySendDetails查看更加详细的参数说明。

精准查询

  • API声明

preciseQuery(phoneNumber: string, sendDate: string, pageSize: number, currentPage: number, bizId: string)

  • 入参说明
字段名类型必填说明
phoneNumberstring短信接收号码,如果需要查询国际短信,号码前需要带上对应国家的区号,区号的获取详见国际短信支持国家信息查询API接口
sendDatestring短信发送日期格式yyyyMMdd,支持最近30天记录查询,例如:20170525
pageSizenumber页大小,最大不超过50
currentPagenumber当前页码
bizIdstring发送流水号,从调用发送接口返回值中获取
  • 出参说明

可前往QuerySendDetails查看更加详细的参数说明。

辅助工具 Util

通用 Generic

通用接口

  • API声明

execute(method: string, params: object)

  • 入参说明
字段名类型必填说明
methodstringAPI接口名称,例如:alipay.trade.create
paramsobject被包装在biz_content下的请求参数集合,例如:{ url_param: 'pages/cloud/cloud', query_param: 'key=value', describe: '我是二维码描述'}
  • 出参说明
字段名类型必填说明
codestring网关返回码
msgstring网关返回码描述
subCodestring业务返回码,参见具体的API接口文档
subMsgstring业务返回码描述,参见具体的API接口文档
5.0.0

3 years ago

1.3.0

3 years ago

1.2.5

3 years ago

1.2.2

3 years ago

1.2.0

3 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.0

4 years ago

0.2.4

4 years ago

0.2.1

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.0

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.9

4 years ago

0.0.6

4 years ago