Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solution

订阅创建

POST /v1/subscriptions/create

使用此接口发起订阅请求。成功调用此接口后,您可以获取授权链接并将用户重定向到该链接以授权订阅。用户成功授权订阅后,Antom 会在每个订阅周期自动扣款,并将支付结果通知给您。

结构

报文由报文头和报文体组成。本文主要介绍报文体结构信息,有关报文头的结构信息,请参阅:


注意:将每个字段(除数组外)的数据类型设置为字符串。这意味字段值必须使用双引号(" ")括起来。例如:

  • 如果字段的数据类型为整数属性,且其值为 20,设置为 "20"。
  • 如果字段的数据类型为布尔属性,且其值为 true,设置为 "true"。

入参

subscriptionRequestId String  REQUIRED

商户为识别订阅请求分配的专属 ID。Antom 使用此字段进行幂等性控制。  

注意:对于具有相同 subscriptionRequestId 的订阅请求,如果达到最终状态SF,请求将返回相同的结果。

更多信息:

  • 此为幂等字段。
  • 最大长度:64 字符

subscriptionDescription String  REQUIRED

订阅的描述,用于显示用户消费记录和其他操作。 

更多信息:

  • 最大长度:256 字符

subscriptionRedirectUrl URL  REQUIRED

用户授权订阅后被重定向到的商户页面链接。 

更多信息:

  • 最大长度:2048 字符

subscriptionStartTime Datetime  REQUIRED

订阅生效的日期和时间。  

更多信息:

  • 值遵循 ISO 8601 标准格式。例如,“2019-11-27T12:01:01+08:00”。

subscriptionEndTime Datetime  

订阅结束的日期和时间。

注意:当您需要指定订阅的结束时间时,设置此参数。

更多信息:

  • 值遵循 ISO 8601 标准格式。例如,“2019-11-27T12:01:01+08:00”。

periodRule PeriodRule object REQUIRED

订阅周期规则,用于定义订阅的计费周期。

Show child parameters

subscriptionExpiryTime Datetime  

创建的订阅过期的具体日期和时间。订阅过期后,订单必须终止。此参数的默认值为订阅创建请求发送后 30 分钟。 

注意:如果您希望指定订阅创建的过期时间,设置此参数。指定的支付过期时间必须在订阅请求发送后 48 小时内。

更多信息:

  • 值遵循 ISO 8601 标准格式。例如,“2019-11-27T12:01:01+08:00”。

paymentMethod PaymentMethod object REQUIRED

商户或收单机构用来收款的支付方法。

Show child parameters

subscriptionNotificationUrl URL  REQUIRED

用于接收订阅结果通知的链接。

您也可以在 Antom Dashboard 中配置订阅通知链接。如果在本接口和 Antom Dashboard 中都指定了此链接,接口中配置的链接优先。

注意:Antom Dashboard 中只能配置一个订阅通知链接。

更多信息:

  • 最大长度:2048 字符

paymentNotificationUrl URL  REQUIRED

用于接收每个订阅周期支付结果通知的链接。

您也可以在 Antom Dashboard 中配置订阅通知链接。如果在此接口和 Antom Dashboard 中都指定了此链接,接口中配置的链接优先。 

注意:您只能在 Antom Dashboard 中配置一个订阅通知链接。

更多信息:

  • 最大长度:2048 字符

orderInfo OrderInfo object REQUIRED

订阅的订单信息。 此字段用于不同目的:

  • 在支付过程中,此字段主要用于 Antom 的风险控制或反洗钱。
  • 支付完成后,此字段用于记录和报告,如采购追踪和监管报告。 
Show child parameters

paymentAmount Amount object REQUIRED

每个订阅周期向用户收取的支付金额。 

Show child parameters

settlementStrategy SettlementStrategy object REQUIRED

支付请求的结算策略。 

Show child parameters

env Env object REQUIRED

下单的环境信息,如设备信息。

Show child parameters

trials Array<Trial> object 

订阅的试用信息列表。

如果订阅包含任何试用期,请指定此参数。 

更多信息:

  • 最多可包含元素个数:无限
Show child parameters

出参

result Result object REQUIRED

指示此接口是否调用成功。如果接口调用成功,将返回订阅授权链接。 

Show child parameters

schemeUrl URL  

在 Android 或 iOS 系统中,应用安装成功时,跳转应用的 URL scheme。

注意:当 result.resultCode 的值为S时,需要返回 schemeUrlapplinkUrl normalUrl 中的至少一个。

更多信息:

  • 最大长度:2048 字符

applinkUrl URL  

应用安装成功时,跳转应用的链接,安装失败则跳转至 WAP 页面。对于 Android,该链接是 Native App Link。对于 iOS,该链接是 Universal Link。

注意:result.resultCode 的值为S时,需要返回 schemeUrlapplinkUrl normalUrl 中的至少一个。

更多信息:

  • 最大长度:2048 字符

normalUrl URL  

用于在默认浏览器或嵌入式 WebView 中重定向用户到 WAP 或网页的链接。

注意:result.resultCode 的值为S时,需要返回 schemeUrlapplinkUrl normalUrl 中的至少一个。

更多信息:

  • 最大长度:2048 字符

appIdentifier URL  

Android 包名,用于 Android 应用打开收银台页面。

注意:result.resultCode SterminalType APPWAP时,返回此字段。

更多信息:

  • 最大长度:128 字符
API Explorer
示例代码沙箱运行

请求

URL
Case
Subscription creation
请求体

响应

响应体

结果处理逻辑

对于不同的请求结果,需要执行不同的操作。详细信息如下:

  • 如果 result.resultStatus 的值为S,响应中的 schemeUrlapplinkUr normalUrl 字段成功返回了授权链接。您可以将用户重定向到这个链接以授权订阅支付。
  • 如果 result.resultStatus 的值为U,接口调用状态未知。您可以再次调用此接口以重试过程。
  • 如果 result.resultStatus 的值为F,未能返回授权链接。通常,这是由于系统缺陷或系统故障导致的。检查错误代码并采取相应措施,或联系 Antom 技术支持。 

结果码

结果码结果码信息行动建议
SUCCESSS成功

接口调用成功。从响应中获取 schemeUrlapplinkUrl normalUrl 

ACCESS_DENIEDF访问被拒绝。

请咨询 Antom 技术支持以获取详细原因。

CLIENT_FORBIDDEN_ACCESS_APIF访问被拒绝。

请咨询 Antom 技术支持以获取详细原因。

INVALID_APIF调用的接口无效或未激活。

请咨询 Antom 技术支持以解决问题。

INVALID_CLIENT_STATUSF客户端状态无效。

请联系 Antom 技术支持以获取详细原因。

INVALID_SIGNATUREF签名验证失败。用于签署请求的私钥与Antom Dashboard的公钥不匹配。

检查用于签署请求的私钥是否与 Antom Dashboard 的公钥匹配。以下签名参考信息很有用:

KEY_NOT_FOUNDF未找到Antom或商户的私钥或公钥。

检查私钥或公钥是否存在。如果不存在,请在 Antom Dashboard 中上传私钥。 

MERCHANT_NOT_REGISTEREDF商户未注册。

请使用注册接口进行商户注册。如果调用注册接口失败,请联系 Antom 技术支持。 

OAUTH_FAILEDFOAuth授权流程失败。

请咨询 Antom 技术支持以获取详细原因。

PARAM_ILLEGALF缺少必需的参数,或者存在非法参数。例如,非数字输入,无效的日期,或者参数的长度和类型错误。

检查并验证当前接口所需的请求字段(包括头部字段和正文字段)是否正确传递并有效。 

PAYMENT_NOT_QUALIFIEDF商户因未注册、未签订自动扣款协议或被禁止支付,不具备支付资格。

详细原因请咨询 Antom 技术支持。 

PROCESS_FAILF发生了常见的业务失败。

获取 Antom 技术支持前请勿重试。

RISK_REJECTF由于风险控制,交易无法进一步处理。如果用户已为交易付款,交易将被退款。

如果用户在两周内未收到退款,请联系 Antom 技术支持。 

UNKNOWN_CLIENTF客户端未知。

请联系 Antom 技术支持以获取详细原因。

REQUEST_TRAFFIC_EXCEED_LIMITU请求流量超过了限制。

再次调用接口解决问题。如果问题仍未解决,请联系 Antom 技术支持。 

UNKNOWN_EXCEPTIONU由于未知原因,接口调用失败。

再次调用接口解决问题。如果问题未解决,请联系 Antom 技术支持。 

REPEAT_REQ_INCONSISTENTF金额或币种与先前请求不同。

确保请求中的所有字段相同,或使用新的 subscriptionRequestId 重新启动支付。