Antom, leading provider of tailored payment solutions

Antom Tokenization

通过 Antom Tokenization 的能力,您可以允许买家在首次支付时保存卡信息,从而在后续的支付中无需重复输入信息,避免因卡信息输入错误导致的支付失败。同时,Antom Tokenization 也可用于订阅支付、自动充值等场景。该能力为您带来以下优势:
  • 买家可以存储支付方式信息,为后续支付提供更快的结账体验。
  • 存储支付方式信息后,显示详细的支付方式信息可以增加买家支付时的信任度。
  • 数据显示,使用 Antom Tokenization 的支付成功率较非绑卡交易的成功率可提升近 30%。
Payment Element 集成

用户体验

以下图片展示了 Payment Element 渲染支付方式列表时使用 Antom Tokenization 进行已存卡支付的用户体验:

如何启用

按照以下步骤完成已存卡支付:
  1. 显示绑卡按钮。将 createPaymentSession(单笔支付)接口的 availablePaymentMethod.paymentMethodMetaData.tokenizeMode 参数设为
    ASKFORCONSENT
    ,以在 Payment Element 的卡支付选项中向买家展示存卡按钮,允许买家选择是否存储卡信息。以下代码展示了一个请求报文的示例:
{
...
  "availablePaymentMethod": {
      "paymentMethodMetaData": {
          "tokenizeMode": "ASKFORCONSENT"
      }
  }
}
  1. 首次支付后绑卡。如果买家选择存储卡信息并且支付成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中 paymentResultInfo 包含卡令牌(cardToken)及脱敏卡号(cardNo)。请务必将卡信息与买家信息关联,并在您的服务端存储相应的卡信息和 cardToken 以处理后续支付。以下是异步通知的示例代码:
{
  "actualPaymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "notifyType": "PAYMENT_RESULT",
  "paymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "paymentCreateTime": "2025-03-01T02:58:03-08:00",
  "paymentId": "2025**********01",
  "paymentMethodType": "CARD",
  "paymentRequestId": "PAYMENT_********TO",
  "paymentResultInfo": {
      "avsResultRaw": "I",
      "cardBrand": "VISA",
      "cardCategory": "CONSUMER",
      "cardNo": "************0197",
      "cardToken": "AL*****************PQ==",
      "cvvResultRaw": "",
      "funding": "CREDIT",
      "issuingCountry": "HK",
      "networkTransactionId": "58**********81",
      "paymentMethodRegion": "GLOBAL",
      "threeDSResult": {
          "cavv": "AJ*******************AA=",
          "eci": "05",
          "threeDSVersion": "2.2.0"
      }
  },
  "paymentTime": "2025-03-01T02:58:19-08:00",
  "result": {
      "resultCode": "SUCCESS",
      "resultMessage": "success.",
      "resultStatus": "S"
  }
}
  1. 后续使用 cardToken 支付。如您使用 Payment Element 渲染的支付方式列表,则需要传入 cardToken 以让 Payment Element 展示已存卡。具体操作如下:
    1. 在 createPaymentSession(单笔支付)接口的 savedPaymentMethods.paymentMethodId 参数中传入在绑卡阶段获取到的 cardToken 值。
    2. 将 availablePaymentMethod.paymentMethodMetaData.isCardOnFile 设为
      true
      ,用于识别后续使用已存卡的支付。具体信息请参阅卡信息存档交易(COF)。
注意:对于绑卡后的卡令牌支付,为提升支付便捷性及交易成功率,建议避免要求买家再次输入 CVV 码。
以下示例展示了买家使用已存卡支付时,createPaymentSession(单笔支付)接口使用 cardToken 发起的请求示例:
{
...
  "availablePaymentMethod": {
      "paymentMethodMetaData": {
          "isCardOnFile": true
      }
  },  
"savedPaymentMethods": [
      {
          "paymentMethodType": "CARD",
          "paymentMethodId": "AL****************=="
      }
  ]
...
}
Checkout Page 集成

用户体验

以下图片展示了使用 Antom Tokenization 进行已存卡支付的用户体验:

如何启用

  1. 显示绑卡按钮。将 createPaymentSession(单笔支付)接口的 availablePaymentMethod.paymentMethodMetaData.tokenizeMode 参数设为
    ASKFORCONSENT
    ,以在 Antom Checkout Page 的卡支付选项中向买家展示存卡按钮,允许买家选择是否存储卡信息。以下代码展示了一个请求报文的示例:
{
...
  "availablePaymentMethod": {
      "paymentMethodMetaData": {
          "tokenizeMode": "ASKFORCONSENT"
      }
  }
}
  1. 首次支付后绑卡。如果买家选择存储卡信息并且支付成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中 paymentResultInfo 包含卡令牌(cardToken)及脱敏卡号(cardNo)。请务必将卡信息与买家信息关联,并在您的服务端存储相应的卡信息和 cardToken 以处理后续支付。以下是异步通知的示例代码:
{
  "actualPaymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "notifyType": "PAYMENT_RESULT",
  "paymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "paymentCreateTime": "2025-03-01T02:58:03-08:00",
  "paymentId": "2025**********01",
  "paymentMethodType": "CARD",
  "paymentRequestId": "PAYMENT_********TO",
  "paymentResultInfo": {
      "avsResultRaw": "I",
      "cardBrand": "VISA",
      "cardCategory": "CONSUMER",
      "cardNo": "************0197",
      "cardToken": "AL*****************PQ==",
      "cvvResultRaw": "",
      "funding": "CREDIT",
      "issuingCountry": "HK",
      "networkTransactionId": "58**********81",
      "paymentMethodRegion": "GLOBAL",
      "threeDSResult": {
          "cavv": "AJ*******************AA=",
          "eci": "05",
          "threeDSVersion": "2.2.0"
      }
  },
  "paymentTime": "2025-03-01T02:58:19-08:00",
  "result": {
      "resultCode": "SUCCESS",
      "resultMessage": "success.",
      "resultStatus": "S"
  }
}
  1. 后续使用 cardToken 支付。具体操作如下:
    1. 在 createPaymentSession(单笔支付)接口的 savedPaymentMethods.paymentMethodId 参数中传入在绑卡阶段获取到的 cardToken 值。从而在 Antom 收银台展示买家已存卡,买家可以使用已存卡完成支付。
    2. 将 availablePaymentMethod.paymentMethodMetaData.isCardOnFile 设为
      true
      ,用于识别后续使用已存卡的支付。具体信息请参阅卡信息存档交易(COF)。
注意:对于绑卡后的卡令牌支付,为提升支付便捷性及交易成功率,建议避免要求买家再次输入 CVV 码。
以下示例展示了买家使用已存卡支付时,createPaymentSession(单笔支付)接口使用 cardToken 发起的请求示例:
{
...
  "availablePaymentMethod": {
      "paymentMethodMetaData": {
          "isCardOnFile": true
      }
  },  
"savedPaymentMethods": [
      {
          "paymentMethodType": "CARD",
          "paymentMethodId": "AL****************=="
      }
  ]
...
}
托管式卡支付集成

用户体验

以下图片展示了使用 Antom Tokenization 进行已存卡支付的用户体验:
接口集成.png

绑卡选项

目前 Antom 提供以下绑卡方式:
  • 独立绑卡:不依赖支付过程,需独立完成卡信息存储及绑定,绑卡后的支付使用 cardToken 完成。
  • 支付后绑卡:在买家的支付过程中设置绑卡标记,支付完成后存储卡信息,实现绑定。

独立绑卡

通过 vaultPaymentMethod 接口以允许买家在支付过程的任何阶段绑定银行卡,请参阅绑卡以了解独立绑卡的流程。

支付后绑卡

如果买家在 Antom 页面选择存储卡信息,您可通过 pay(单笔支付)接口向 Antom 传递订单信息,并将 paymentMethod.paymentMethodMetaData.tokenizeMode 参数设为
ASKFORCONSENT
,Antom 会为该卡信息生成相应的卡令牌(cardToken)。 在支付授权成功之后,您可以通过接收异步通知或调用 inquiryPayment 接口获取卡令牌(cardToken)及脱敏卡号(cardNo)。为了处理后续支付,您需要存储获取的卡令牌、脱敏卡号并将其与买家信息关联。具体操作如下:
  1. 将 pay(单笔支付)接口的 paymentMethod.paymentMethodMetaData.tokenizeMode 参数设为
    ASKFORCONSENT
    ,以在中间页向买家展示存卡按钮,允许买家选择是否存储卡信息。以下代码展示了一个请求报文的示例:
{
 
  "paymentMethod":
  {
      "paymentMethodMetaData":
      {
          "tokenizeMode": "ASKFORCONSENT"
      },
      "paymentMethodType": "CARD"
  },
  ...
}
  1. 如果买家选择存储卡信息并且支付成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中 paymentResultInfo 包含卡令牌(cardToken)及脱敏卡号(cardNo),您需要存储获取的卡令牌、脱敏卡号以处理后续支付。以下是异步通知的示例代码:
{
  "actualPaymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "notifyType": "PAYMENT_RESULT",
  "paymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "paymentCreateTime": "2025-03-01T02:58:03-08:00",
  "paymentId": "2025**********01",
  "paymentMethodType": "CARD",
  "paymentRequestId": "PAYMENT_********TO",
  "paymentResultInfo": {
      "avsResultRaw": "I",
      "cardBrand": "VISA",
      "cardCategory": "CONSUMER",
      "cardNo": "************0197",
      "cardToken": "AL*****************PQ==",
      "cvvResultRaw": "",
      "funding": "CREDIT",
      "issuingCountry": "HK",
      "networkTransactionId": "58**********81",
      "paymentMethodRegion": "GLOBAL",
      "threeDSResult": {
          "cavv": "AJ*******************AA=",
          "eci": "05",
          "threeDSVersion": "2.2.0"
      }
  },
  "paymentTime": "2025-03-01T02:58:19-08:00",
  "result": {
      "resultCode": "SUCCESS",
      "resultMessage": "success.",
      "resultStatus": "S"
  }
}

绑卡后支付流程

后续支付使用卡令牌(cardToken)进行。具体操作如下:
  1. 在下单页面向买家展示脱敏卡信息。
  2. 买家提交支付后,调用 pay(单笔支付)接口,并完成以下步骤:
    1. 在 paymentMethod.paymentMethodId 参数中传入在绑卡阶段获取到的 cardToken 值。
    2. 将 paymentMethod.paymentMethodMetaData.isCardOnFile 设为
      true
      ,用于识别后续使用已存卡的支付。具体信息请参阅卡信息存档交易(COF)。
注意:对于绑卡后的卡令牌支付,为提升支付便捷性及交易成功率,建议避免要求买家再次输入 CVV 码。
以下代码展示了一个请求报文的示例:
"paymentMethod":
  {
      "paymentMethodMetaData":
      {
          "isCardOnFile": true
      },
      "paymentMethodType": "CARD",
      "paymentMethodId": "AL****************=="
  }
服务端-服务端式卡支付集成

用户体验

以下图片展示了使用 Antom Tokenization 进行已存卡支付的用户体验:
接口集成.png

绑卡选项

目前 Antom 提供以下绑卡方式:
  • 独立绑卡:不依赖支付过程,需独立完成卡信息存储及绑定,绑卡后的支付使用 cardToken 完成。
  • 支付后绑卡:在买家的支付过程中设置绑卡标记,支付完成后存储卡信息,实现绑定。

独立绑卡

通过 vaultPaymentMethod 接口以允许买家在支付过程的任何阶段绑定银行卡,请参阅绑卡以了解独立绑卡的流程。

支付后绑卡

如果买家在您的页面选择存储卡信息,您可通过 pay(单笔支付)接口向 Antom 传递订单信息,并将 paymentMethod.paymentMethodMetaData.tokenizeMode 参数设为
ENABLED
,Antom 会为该卡信息生成相应的卡令牌(cardToken)。 在支付授权成功之后,您可以通过接收异步通知或调用 inquiryPayment 接口获取卡令牌(cardToken)及脱敏卡号(cardNo)。为了处理后续支付,您需要存储获取的卡令牌、脱敏卡号并将其与买家信息关联。具体操作如下:
  1. 将 pay(单笔支付)接口的 paymentMethod.paymentMethodMetaData.tokenizeMode 参数设为
    ENABLED
    ,以下代码展示了一个请求报文的示例:
{

"paymentMethod":
{
  "paymentMethodMetaData":
  {
    "cvv": "682",
    "cardholderName":
    {
      "firstName": "Tom",
      "lastName": "Jerry"
    },
    "expiryMonth": "11",
    "expiryYear": "28",
    "cardNo": "411227******9954",
    "tokenizeMode": "ENABLED"
  },
  "paymentMethodType": "CARD"
},
...
}
  1. 如果买家选择存储卡信息并且支付成功,Antom 会使用 notifyPayment 接口向您发送异步通知,其中 paymentResultInfo 包含卡令牌(cardToken)及脱敏卡号(cardNo),您需要存储获取的卡令牌、脱敏卡号以处理后续支付。以下是异步通知的示例代码:
{
  "actualPaymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "notifyType": "PAYMENT_RESULT",
  "paymentAmount": {
      "currency": "HKD",
      "value": "10"
  },
  "paymentCreateTime": "2025-03-01T02:58:03-08:00",
  "paymentId": "2025**********01",
  "paymentMethodType": "CARD",
  "paymentRequestId": "PAYMENT_********TO",
  "paymentResultInfo": {
      "avsResultRaw": "I",
      "cardBrand": "VISA",
      "cardCategory": "CONSUMER",
      "cardNo": "************0197",
      "cardToken": "AL*****************PQ==",
      "cvvResultRaw": "",
      "funding": "CREDIT",
      "issuingCountry": "HK",
      "networkTransactionId": "58**********81",
      "paymentMethodRegion": "GLOBAL",
      "threeDSResult": {
          "cavv": "AJ*******************AA=",
          "eci": "05",
          "threeDSVersion": "2.2.0"
      }
  },
  "paymentTime": "2025-03-01T02:58:19-08:00",
  "result": {
      "resultCode": "SUCCESS",
      "resultMessage": "success.",
      "resultStatus": "S"
  }
}

绑卡后支付流程

后续支付使用卡令牌(cardToken)进行。具体操作如下:
  1. 下单页面向买家展示脱敏卡信息。
  2. 买家提交支付后,调用 pay(单笔支付)接口,并完成以下步骤:
    1. 在 paymentMethod.paymentMethodId 参数中传入在绑卡阶段获取到的 cardToken 值。
    2. 将 paymentMethod.paymentMethodMetaData.isCardOnFile 设为
      true
      ,用于识别后续使用已存卡的支付。具体信息请参阅卡信息存档交易(COF)。
注意:对于绑卡后的卡令牌支付,为提升支付便捷性及交易成功率,建议避免要求买家再次输入 CVV 码。
以下代码展示了一个请求报文的示例:
"paymentMethod":
  {
      "paymentMethodMetaData":
      {
          "isCardOnFile": true
      },
      "paymentMethodType": "CARD",
      "paymentMethodId": "ALIPAYgzViZySEK**********5dAgkzs********xI0ssHmyU3VyWCloE4MwfmN48sP1+rSPQ=="
  }
SDK 集成
在 SDK 集成模式下,SDK 提供了一个支付信息收集页面。买家输入卡信息后可以选择保存信息,以便后续支付时无需再次输入。当买家选择保存卡信息时,Antom 会存储这些信息并生成对应的卡令牌(cardToken)。在授权此支付后,您可以通过接收异步通知或调用 inquiryPayment 接口来获取买家的卡信息(cardInfo)。卡信息包括卡令牌(cardToken)和脱敏的卡信息。
当买家使用已保存的银行卡进行后续支付时,您需要在调用 createPaymentSession(单笔支付)接口时将 paymentMethod.paymentMethodId 设为 cardToken 的值。
以下代码示例展示了当买家使用已存卡进行后续支付时,您的服务器如何调用 createPaymentSession(单笔支付)接口:
{
"productCode": "CASHIER_PAYMENT",
"paymentRequestId": "55bf********74eb",
"order": {
  "referenceOrderId": "926e************e18c",
  "orderDescription": "xxxxx",
  "orderAmount": {
    "currency": "BRL",
    "value": "100"
  },
  "buyer": {
    "referenceBuyerId": "ye******da",
    "buyerPhoneNo": "134******71"
  }
},
"paymentAmount": {
  "currency": "BRL",
  "value": "100"
},
"paymentMethod": {
  "paymentMethodType": "CARD",
  "paymentMethodId": "alipayCardToken"
},
"paymentRedirectUrl": "https://www.yourMerchantWeb.com",
"paymentNotifyUrl": "https://www.yourNotifyUrl",
"paymentFactor": {
  "isAuthorization": true
},
"settlementStrategy": {
  "settlementCurrency": "EUR"
}
}