Recurring
仅适用于线上(EC)场景。
周期扣款包括两类交易:初始(或首次)周期扣款交易,以及后续交易。
初始或首次周期扣款交易(保存凭证)
初始或首次周期扣款交易是指:持卡人在商户网站交易时(持卡人在场),购买或同意按约定频率接收一组商品或服务。该交易同时表示持卡人同意商户保存其支付凭证。
后续交易
后续交易是指:商户在无需再次与持卡人交互(持卡人不在场)的情况下,就持卡人在初始交易中已同意的指定商品或服务自动向其扣款,直至达到预先设定或双方约定的期限(recurringExpiry)。
根据交易金额和频率是否固定,周期扣款分为以下几种类型:
固定金额、固定频率
变动金额、变动频率,变动金额、固定频率,或固定金额、变动频率。
保存凭证
EVO Payment 要求在处理周期扣款前先保存凭证。您可以使用以下两种方式:
商户自行保存凭证:如果您已提交并完成 PCI DSS 自评估问卷 D(SAQ D),可以保存卡信息并用于后续支付。
网关令牌化(Gateway Tokenization):详情请参阅 Gateway Tokenization(网关令牌化) 章节。
商户自行保存凭证
您可以从服务端向 EVO Payment 以下接口发起 HTTP POST 请求:
/g2/v1/payment/mer/{sid}/payment
并指定以下额外参数:
| 参数 | 是否必填 | 说明 |
|---|---|---|
paymentMethod.recurringProcessingModel | O | 表示该交易是否为周期扣款交易。 Subscription:固定金额、固定频率的周期扣款。 Unscheduled:变动金额变动频率、变动金额固定频率,或固定金额变动频率的周期扣款。 |
captureAfterHours | O | 支付成功后,EVO Payment 代商户发起完成(Capture)的小时数。周期扣款交易请设置为 0,EVO Payment 将在支付成功后立即发起完成。 |
transAmount | M | 支付的币种和金额。金额必须符合该币种的最小单位规则。 |
如涉及以下情况,您需要在支付请求中添加额外参数:
卡信息:请参阅
paymentMethod.card对象中的额外参数。用户认证:使用 3D Secure 或 SecurePlus。详情请参阅 Authentication(认证) 章节。
EVO Payment 支持通过 ASI(transAmount 对象中金额为零)或带金额的授权来完成凭证保存。
如果支付成功,响应中会返回 paymentMethod.recurringReference,您将在后续交易中使用该参考号。
如果响应中没有返回 paymentMethod.recurringReference,您可以查询支付结果。详情请参阅 Payment(支付) 章节。
后续交易
您可以从服务端向 EVO Payment 以下接口发起 HTTP POST 请求:
/g2/v1/payment/mer/{sid}/payment
并指定以下额外参数:
| 参数 | 是否必填 | 说明 |
|---|---|---|
paymentMethod.recurringProcessingModel | O | 表示该交易是否为周期扣款交易。 Subscription:固定金额、固定频率的周期扣款。 Unscheduled:变动金额变动频率、变动金额固定频率,或固定金额变动频率的周期扣款。 |
paymentMethod.recurringReference | O | 唯一标识该周期扣款交易的 recurringReference。商户后续为用户发起支付时需要使用该参考号。 |
captureAfterHours | O | 支付成功后,EVO Payment 代商户发起完成(Capture)的小时数。周期扣款交易请设置为 0,EVO Payment 将在支付成功后立即发起完成。 |
transAmount | M | 支付的币种和金额。金额必须符合该币种的最小单位规则。 |
如果您使用 ASI 保存凭证,首次后续交易也可能需要认证。详情请参阅 Authentication 章节。

