Antom, leading provider of tailored payment solutions

商户发起交易(MIT)

MIT(Merchant-Initiated Transaction)是指商户依据与买家达成的预先协议,在后续交易中直接使用已存储的支付凭证发起扣款,而无需买家每次参与支付过程。例如,若您运营某一订阅业务,买家同意授权后,您便可凭借其存档的信用卡信息,在未来每月自动执行扣款。MIT 交易流程高效便捷,无需买家参与即可自动扣款,同时无需 3DS 认证,支付成功率更高。该方式适用场景丰富,支持订阅续费、周期扣款等无需买家直接参与的支付场景。
注意:对于使用特定本地卡组织的银行卡发起的支付,此功能不可用。仅卡支付方式中买家所在国家/地区为“全球”的卡可使用 MIT 功能。

如何启用

当您需要在买家离线时发起扣款,请在服务条款中明确包含以下内容:
  • 买家授权:买家同意您代表其发起一笔或多笔支付用于特定交易。
  • 扣款时间与频率:明确说明付款的预期时间及频率(如定期订阅、分期付款或不定期充值)。
  • 金额确定方式:说明每笔付款金额的计算规则。
  • 取消政策:明确订阅服务的取消规则。
  • 协议记录保存:保留每位买家同意条款的授权记录。
Payment Element 集成

步骤 1:发起首笔 CIT 交易

在进行首笔 CIT(Customer-Initiated Transaction)交易时,强烈建议您发起 3DS 交易以降低盗卡风险,同时引导买家在 Antom 支付页面勾选存卡选项,由 Antom 自动完成卡信息的安全存储。
注意:仅当买家勾选“保存卡信息”选项后,您才可使用存储的卡信息发起后续的 MIT 扣款。
您需要将 createPaymentSession(单笔支付)接口中的 tokenizeMode 设为
ASKFORCONSENT
以向买家展示存卡按钮,同时将 is3DSAuthentication 设为
true
以发起 3DS 交易:
{
...
"availablePaymentMethod": {
  "paymentMethodMetaData": {
    "tokenizeMode": "ASKFORCONSENT",
    "is3DSAuthentication": true
  }
}
}
如果买家选择存储卡信息并且支付成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中包括 cardToken 和 networkTransactionId。

步骤 2:发起 MIT 扣款

注意:建议您分散发起 MIT 交易,避免同一时间点集中发起,以防止触发限流。
完成首笔 CIT 交易并获取到 cardToken 后,在 pay(单笔支付)接口中传入以下参数以发起 MIT 扣款:
参数名称
描述
paymentMethodId
用于识别支付方式的专属 ID。此参数的值为从 notifyPayment 或 inquiryPayment 接口获取的 cardToken 值。
recurringType
支付的重复类型。根据您的业务类型传入以下值:
  • SCHEDULED
    :表示固定周期和固定金额自动扣款支付。
  • UNSCHEDULED
    :表示除固定周期和固定金额之外的自动扣款。
networkTransactionId
Antom 需要确认您已获得买家授权以发起 MIT,因此,您必须向此参数传递一个专属 ID。 该 ID 的值为首笔 CIT 交易成功后,notifyPayment 或 inquiryPayment 接口返回的相同参数的值。
isCardOnFile
表示是否存储买家的卡支付信息。此场景下需将其设为
true
,指买家的卡支付信息被存储。
paymentMethodType
支付方式类型。此场景下需将其设为
CARD
。
以下是调用 pay(单笔支付)接口来发起 MIT 扣款的示例代码:
"paymentMethod": {
"paymentMethodMetaData": {
  "isCardOnFile": true,
  "recurringType": "SCHEDULED",
  "networkTransactionId": "referenceNetworkTransactionId12345"
},
"paymentMethodType": "CARD",
"paymentMethodId": "ALIPAYgzViZySEK********2avs5dAgkzss/NrTymfnc/0+xI0ssHmyU3VyWCloE4MwfmN48sP1+rSPQ=="
}
Checkout Page 集成

步骤 1:发起首笔 CIT 交易

在进行首笔 CIT(Customer-Initiated Transaction)交易时,强烈建议您发起 3DS 交易以降低盗卡风险,同时引导买家在 Antom 支付页面勾选存卡选项,由 Antom 自动完成卡信息的安全存储。
注意:仅当买家勾选“保存卡信息”选项后,您才可使用存储的卡信息发起后续的 MIT 扣款。
您需要将 createPaymentSession(单笔支付)接口中的 tokenizeMode 设为
ASKFORCONSENT
以向买家展示存卡按钮,同时将 is3DSAuthentication 设为
true
以发起 3DS 交易:
{
...
"availablePaymentMethod": {
  "paymentMethodMetaData": {
    "tokenizeMode": "ASKFORCONSENT",
    "is3DSAuthentication": true
  }
}
}
如果买家选择存储卡信息并且支付成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中包括 cardToken 和 networkTransactionId。

步骤 2:发起 MIT 扣款

注意:建议您分散发起 MIT 交易,避免同一时间点集中发起,以防止触发限流。
完成首笔 CIT 交易并获取到 cardToken 后,在 pay(单笔支付)接口中传入以下参数以发起 MIT 扣款:
参数名称
描述
paymentMethodId
用于识别支付方式的专属 ID。此参数的值为从 notifyPayment 或 inquiryPayment 接口获取的 cardToken 值。
recurringType
支付的重复类型。根据您的业务类型传入以下值:
  • SCHEDULED
    :表示固定周期和固定金额自动扣款支付。
  • UNSCHEDULED
    :表示除固定周期和固定金额之外的自动扣款。
networkTransactionId
Antom 需要确认您已获得买家授权以发起 MIT,因此,您必须向此参数传递一个专属 ID。 该 ID 的值为首笔 CIT 交易成功后,notifyPayment 或 inquiryPayment 接口返回的相同参数的值。
isCardOnFile
表示是否存储买家的卡支付信息。此场景下需将其设为
true
,指买家的卡支付信息被存储。
paymentMethodType
支付方式类型。此场景下需将其设为
CARD
。
以下是调用 pay(单笔支付)接口来发起 MIT 扣款的示例代码:
"paymentMethod": {
"paymentMethodMetaData": {
  "isCardOnFile": true,
  "recurringType": "SCHEDULED",
  "networkTransactionId": "referenceNetworkTransactionId12345"
},
"paymentMethodType": "CARD",
"paymentMethodId": "ALIPAYgzViZySEK********2avs5dAgkzss/NrTymfnc/0+xI0ssHmyU3VyWCloE4MwfmN48sP1+rSPQ=="
}
托管式卡支付集成

步骤 1:发起首笔 CIT 交易或独立绑卡

您可以通过以下两种方法之一获取支付令牌(cardToken)和交易 ID(networkTransactionId),为后续 MIT 扣款做准备:
  • 在进行首笔 CIT(Customer-Initiated Transaction)交易时,强烈建议您发起 3DS 交易以降低盗卡风险,同时引导买家在 Antom 支付页面勾选存卡选项,由 Antom 自动完成卡信息的安全存储。您需要将 pay(单笔支付)接口中的 tokenizeMode 设为
    ASKFORCONSENT
    以向买家展示存卡按钮,同时将 is3DSAuthentication 设为
    true
    以发起 3DS 交易:
注意:仅当买家勾选“保存卡信息”选项后,您才可使用存储的卡信息发起后续的 MIT 扣款。
"paymentMethod":
{
"paymentMethodMetaData":
{
  "is3DSAuthentication": true,
  "tokenizeMode": "ASKFORCONSENT"
},
"paymentMethodType": "CARD"
},
  • 您也可以通过独立绑卡,让 Antom 为您安全存储买家的卡信息。强烈建议您发起 3DS 交易以降低盗卡风险,您需要将 createVaultingSession 接口中的 is3DSAuthentication 设为
    true
    以发起 3DS 交易:
{
  "paymentMethodType": "CARD",
  "redirectUrl": "http://www.yourRedirectUrl.com",
  "vaultingNotificationUrl": "http://www.yourNotifyUrl.com",
  "vaultingRequestId": "4a17609d-1749-4f53-a2fb-8bdba8d5aad8"
}
如果首笔 CIT 交易支付成功,或独立绑卡成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中包括 cardToken 和 networkTransactionId。

步骤 2:发起 MIT 扣款

注意:建议您分散发起 MIT 交易,避免同一时间点集中发起,以防止触发限流。
获取到 cardToken 和 networkTransactionId 后,在 pay(单笔支付)接口中传入以下参数以发起 MIT 扣款:
参数名称
描述
paymentMethodId
用于识别支付方式的专属 ID。此参数的值为从 notifyPayment 或 inquiryPayment 接口获取的 cardToken 值。
recurringType
支付的重复类型。根据您的业务类型传入以下值:
  • SCHEDULED
    :表示固定周期和固定金额自动扣款支付。
  • UNSCHEDULED
    :表示除固定周期和固定金额之外的自动扣款。
networkTransactionId
Antom 需要确认您已获得买家授权以发起 MIT,因此,您必须向此参数传递一个专属 ID。 该 ID 的值为首笔 CIT 交易成功后,notifyPayment 或 inquiryPayment 接口返回的相同参数的值。
isCardOnFile
表示是否存储买家的卡支付信息。此场景下需将其设为
true
,指买家的卡支付信息被存储。
paymentMethodType
支付方式类型。此场景下需将其设为
CARD
。
以下是调用 pay(单笔支付)接口来发起 MIT 扣款的示例代码:
"paymentMethod": {
"paymentMethodMetaData": {
  "isCardOnFile": true,
  "recurringType": "SCHEDULED",
  "networkTransactionId": "referenceNetworkTransactionId12345"
},
"paymentMethodType": "CARD",
"paymentMethodId": "ALIPAYgzViZySEK********2avs5dAgkzss/NrTymfnc/0+xI0ssHmyU3VyWCloE4MwfmN48sP1+rSPQ=="
}
服务端-服务端式卡支付集成

步骤 1:发起首笔 CIT 交易或独立绑卡

您可以通过以下两种方法之一获取支付令牌(cardToken)和交易 ID(networkTransactionId),为后续 MIT 扣款做准备:
  • 在进行首笔 CIT(Customer-Initiated Transaction)交易时,强烈建议您发起 3DS 交易以降低盗卡风险,同时让 Antom 为您安全存储买家的卡信息。您需要将 pay(单笔支付)接口中的 tokenizeMode 设为
    ENABLED
    以让 Antom 为您存储卡信息,同时将 is3DSAuthentication 设为
    true
    以发起 3DS 交易:
"paymentMethod":
{
"paymentMethodMetaData":
{
  "cvv": "682",
  "expiryMonth": "11",
  "expiryYear": "28",
  "cardNo": "4112********9954",
  "is3DSAuthentication": true,
  "tokenizeMode": "ENABLED"
},
"paymentMethodType": "CARD"
},
  • 您也可以通过独立绑卡,让 Antom 为您安全存储买家的卡信息。强烈建议您发起 3DS 交易以降低盗卡风险,您需要将 vaultPaymentMethod 接口中的 is3DSAuthentication 设为
    true
    以发起 3DS 交易:
"paymentMethodDetail": {
"paymentMethodType": "CARD",
"card": {
  "cardNo": "411227*****8764",
  "brand": "VISA",
  "cardholderName": {
    "firstName": "***",
    "middleName": "***",
    "lastName": "***",
    "fullName": "x*******e"
  },
  "cvv": "123",
  "expiryYear": "26",
  "expiryMonth": "08",
  "is3DSAuthentication": "true"
}
}
如果首笔 CIT 交易支付成功,或独立绑卡成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中包括 cardToken 和 networkTransactionId。

步骤 2:发起 MIT 扣款

注意:建议您分散发起 MIT 交易,避免同一时间点集中发起,以防止触发限流。
获取到 cardToken 和 networkTransactionId 后,在 pay(单笔支付)接口中传入以下参数以发起 MIT 扣款:
参数名称
描述
paymentMethodId
用于识别支付方式的专属 ID。此参数的值为从 notifyPayment 或 inquiryPayment 接口获取的 cardToken 值。
recurringType
支付的重复类型。根据您的业务类型传入以下值:
  • SCHEDULED
    :表示固定周期和固定金额自动扣款支付。
  • UNSCHEDULED
    :表示除固定周期和固定金额之外的自动扣款。
networkTransactionId
Antom 需要确认您已获得买家授权以发起 MIT,因此,您必须向此参数传递一个专属 ID。 该 ID 的值为首笔 CIT 交易成功后,notifyPayment 或 inquiryPayment 接口返回的相同参数的值。
isCardOnFile
表示是否存储买家的卡支付信息。此场景下需将其设为
true
,指买家的卡支付信息被存储。
paymentMethodType
支付方式类型。此场景下需将其设为
CARD
。
Antom 保存卡信息
如您让 Antom 为您存储买家的卡信息,则调用 pay(单笔支付)接口来发起 MIT 扣款的示例代码如下:
"paymentMethod": {
"paymentMethodMetaData": {
  "isCardOnFile": true,
  "recurringType": "SCHEDULED",
  "networkTransactionId": "referenceNetworkTransactionId12345"
},
"paymentMethodType": "CARD",
"paymentMethodId": "ALIPAYgzViZySEK********2avs5dAgkzss/NrTymfnc/0+xI0ssHmyU3VyWCloE4MwfmN48sP1+rSPQ=="
}
商户自行保存卡信息
如您自行保存卡信息,则调用 pay(单笔支付)接口来发起 MIT 扣款的示例代码如下:
"paymentMethod": {
"paymentMethodMetaData": {
  "isCardOnFile": true,
  "recurringType": "SCHEDULED",
  "networkTransactionId": "referenceNetworkTransactionId12345",
  "expiryMonth": "12",
  "expiryYear": "29",
  "cardNo": "4117********6383"
},
"paymentMethodType": "CARD"
}
SDK 集成

步骤 1:发起首笔 CIT 交易

在进行首笔 CIT(Customer-Initiated Transaction)交易时,强烈建议您发起 3DS 交易以降低盗卡风险,同时引导买家在 Antom 支付页面勾选存卡选项,由 Antom 自动完成卡信息的安全存储。
注意:仅当买家勾选“保存卡信息”选项后,您才可使用存储的卡信息发起后续的 MIT 扣款。
您需要将 createPaymentSession(单笔支付)接口中的 tokenizeMode 设为
ASKFORCONSENT
以向买家展示存卡按钮,同时将 is3DSAuthentication 设为
true
以发起 3DS 交易:
{
...
"availablePaymentMethod": {
  "paymentMethodMetaData": {
    "tokenizeMode": "ASKFORCONSENT",
    "is3DSAuthentication": true
  }
}
}
如果买家选择存储卡信息并且支付成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中包括 cardToken 和 networkTransactionId。

步骤 2:发起 MIT 扣款

注意:建议您分散发起 MIT 交易,避免同一时间点集中发起,以防止触发限流。
完成首笔 CIT 交易并获取到 cardToken 后,在 pay(单笔支付)接口中传入以下参数以发起 MIT 扣款:
参数名称
描述
paymentMethodId
用于识别支付方式的专属 ID。此参数的值为从 notifyPayment 或 inquiryPayment 接口获取的 cardToken 值。
recurringType
支付的重复类型。根据您的业务类型传入以下值:
  • SCHEDULED
    :表示固定周期和固定金额自动扣款支付。
  • UNSCHEDULED
    :表示除固定周期和固定金额之外的自动扣款。
networkTransactionId
Antom 需要确认您已获得买家授权以发起 MIT,因此,您必须向此参数传递一个专属 ID。 该 ID 的值为首笔 CIT 交易成功后,notifyPayment 或 inquiryPayment 接口返回的相同参数的值。
isCardOnFile
表示是否存储买家的卡支付信息。此场景下需将其设为
true
,指买家的卡支付信息被存储。
paymentMethodType
支付方式类型。此场景下需将其设为
CARD
。
以下是调用 pay(单笔支付)接口来发起 MIT 扣款的示例代码:
"paymentMethod": {
"paymentMethodMetaData": {
  "isCardOnFile": true,
  "recurringType": "SCHEDULED",
  "networkTransactionId": "referenceNetworkTransactionId12345"
},
"paymentMethodType": "CARD",
"paymentMethodId": "ALIPAYgzViZySEK********2avs5dAgkzss/NrTymfnc/0+xI0ssHmyU3VyWCloE4MwfmN48sP1+rSPQ=="
}