跳转到内容

Recurring ​

仅适用于线上(EC)场景。

周期扣款包括两类交易:初始(或首次)周期扣款交易,以及后续交易。

初始或首次周期扣款交易(保存凭证)

初始或首次周期扣款交易是指:持卡人在商户网站交易时(持卡人在场),购买或同意按约定频率接收一组商品或服务。该交易同时表示持卡人同意商户保存其支付凭证。

后续交易

后续交易是指:商户在无需再次与持卡人交互(持卡人不在场)的情况下,就持卡人在初始交易中已同意的指定商品或服务自动向其扣款,直至达到预先设定或双方约定的期限(recurringExpiry)。

根据交易金额和频率是否固定,周期扣款分为以下几种类型:

  1. 固定金额、固定频率

  2. 变动金额、变动频率,变动金额、固定频率,或固定金额、变动频率。

保存凭证 ​

EVO Payment 要求在处理周期扣款前先保存凭证。您可以使用以下两种方式:

  1. 商户自行保存凭证:如果您已提交并完成 PCI DSS 自评估问卷 D(SAQ D),可以保存卡信息并用于后续支付。

  2. 网关令牌化(Gateway Tokenization):详情请参阅 Gateway Tokenization(网关令牌化) 章节。

商户自行保存凭证 ​

您可以从服务端向 EVO Payment 以下接口发起 HTTP POST 请求:

/g2/v1/payment/mer/{sid}/payment

并指定以下额外参数:

参数是否必填说明
paymentMethod.recurringProcessingModelO表示该交易是否为周期扣款交易。
Subscription:固定金额、固定频率的周期扣款。
Unscheduled:变动金额变动频率、变动金额固定频率,或固定金额变动频率的周期扣款。
captureAfterHoursO支付成功后,EVO Payment 代商户发起完成(Capture)的小时数。周期扣款交易请设置为 0,EVO Payment 将在支付成功后立即发起完成。
transAmountM支付的币种和金额。金额必须符合该币种的最小单位规则。

如涉及以下情况,您需要在支付请求中添加额外参数:

  1. 卡信息:请参阅 paymentMethod.card 对象中的额外参数。

  2. 用户认证:使用 3D Secure 或 SecurePlus。详情请参阅 Authentication(认证) 章节。

EVO Payment 支持通过 ASI(transAmount 对象中金额为零)或带金额的授权来完成凭证保存。

如果支付成功,响应中会返回 paymentMethod.recurringReference,您将在后续交易中使用该参考号。

如果响应中没有返回 paymentMethod.recurringReference,您可以查询支付结果。详情请参阅 Payment(支付) 章节。

后续交易 ​

您可以从服务端向 EVO Payment 以下接口发起 HTTP POST 请求:

/g2/v1/payment/mer/{sid}/payment

并指定以下额外参数:

参数是否必填说明
paymentMethod.recurringProcessingModelO表示该交易是否为周期扣款交易。
Subscription:固定金额、固定频率的周期扣款。
Unscheduled:变动金额变动频率、变动金额固定频率,或固定金额变动频率的周期扣款。
paymentMethod.recurringReferenceO唯一标识该周期扣款交易的 recurringReference。商户后续为用户发起支付时需要使用该参考号。
captureAfterHoursO支付成功后,EVO Payment 代商户发起完成(Capture)的小时数。周期扣款交易请设置为 0,EVO Payment 将在支付成功后立即发起完成。
transAmountM支付的币种和金额。金额必须符合该币种的最小单位规则。

如果您使用 ASI 保存凭证,首次后续交易也可能需要认证。详情请参阅 Authentication 章节。