集成印度卡支付

本文为您介绍如何通过托管模式集成印度卡支付。该模式将支付信息采集环节交由 Antom 处理,敏感的持卡人数据不经过您的服务器,可帮助您免除 PCI-DSS 的合规负担,无需您自行构建符合 PCI-DSS 标准的支付环境,您也无需获取 PCI 合规资质。无论买家使用移动设备还是桌面浏览器,均可享受安全、高效的本地化支付能力,显著提升买家的支付体验与成功率。

集成准备

在您开始集成前,请阅读集成指南接口概述文档,了解服务端接口的集成步骤及调用接口的注意事项,并确保已完成以下预配置:

  • 已获得 client ID。
  • 已完成密钥配置。
  • 已完成异步通知接收地址的配置。
  • 集成服务端 SDK 资源包,并完成接口库安装及请求示例初始化。具体操作请参阅服务端 SDK

集成步骤

请按照以下步骤开始集成:

  1. 授权支付
  2. 跳转至 Antom 中间页采集卡信息
  3. 获取授权支付结果
  4. 获取请款结果

步骤 1:授权支付 服务端

买家提交支付后,您需要采集买家的卡信息、订单信息、设备信息和支付金额等关键信息。按照步骤 1:授权支付的操作调用 pay(单笔支付)接口提交支付请求,同时,您无需传入卡支付相关参数和 3DS 信息,但需要传入以下参数:

注意

  • 存卡支付:买家可在首次支付时勾选保存卡信息,后续支付时,买家可选择已存卡快速完成支付,无需重复输入卡信息。欲启用存卡功能,你需要传入下表中列出的存卡支付参数。
  • 买家信息传输建议:强烈建议您传入下表中列出的买家信息参数,买家可以直接进入支付流程,无需额外操作;否则,支付方式会展示额外的中间页收集这些信息。
  • 旅行行业注意事项:如果您属于旅游行业商户,需要注意印度的自由化汇款计划(Liberalised Remittance Scheme, LRS)规定。该规定对个人跨境交易设有额度限制,支付方式会对此进行前置校验以避免交易失败。强烈建议您传入下表中列出的买家信息参数和旅行行业参数,以在支付方式中间页预填相关信息,无需买家手动输入;否则,支付方式中间页会要求重新收集这些信息并进行校验。

类型

参数名称

是否必需

描述

基础参数

paymentMethod.paymentMethodMetaData.requireIndianAuthentication

指在印度卡支付场景下,是否需通过印度当地机构页面完成买家信息的授权认证流程。请将该参数设为 true,指需经印度当地机构认证页面完成买家信息的授权认证流程。

存卡支付参数

order.buyer.referenceBuyerId

买家 ID。

注意:如需要启用存卡功能,您需在该参数中传入真实的买家 ID(不可使用默认值),支付方式会根据您的商户账号和您传入的买家 ID 识别并关联同一买家身份,从而正确加载其已存卡信息。

买家信息参数

order.buyer.buyerName.firstName

买家名。

order.buyer.buyerName.lastName

买家姓。

order.shipping.shippingAddress.zipCode

邮政编码或 ZIP 代码。

order.shipping.shippingAddress.region

二位字母的国家或地区代码。

注意:传入 order.shipping.shippingAddress.zipCode 时必须同时传入该参数。

旅行行业参数

paymentMethod.paymentMethodMetaData.dateOfBirth

持卡人的出生日期。

以下代码展示了一个请求报文的示例:

基础场景

copy
{
    "env": {
        "clientIp": "1.2.3.4",
        "terminalType": "WEB"
    },
    "order": {
        "buyer": {
            "referenceBuyerId": "yourBuyerId"
        },
        "orderAmount": {
            "currency": "INR",
            "value": "1000"
        },
        "orderDescription": "antom testing order",
        "referenceOrderId": "referenceOrderId01"
    },
    "paymentAmount": {
        "currency": "INR",
        "value": "1000"
    },
    "paymentFactor": {
        "isAuthorization": true
    },
    "paymentMethod": {
        "paymentMethodType": "CARD",
        "paymentMethodMetaData": {
            "requireIndianAuthentication": true,
        }
    },
    "settlementStrategy": {
        "settlementCurrency": "USD"
    },
    "paymentNotifyUrl": "https://www.yourNotifyUrl.com",
    "paymentRedirectUrl": "https://www.yourMerchantWeb.com",
    "paymentRequestId": "20250326169319********",
    "productCode": "CASHIER_PAYMENT"
}

步骤 2:跳转至卡信息采集页面 客户端

商户服务端通过 pay(单笔支付)响应获取到卡信息采集链接(normalUrl)后,按照步骤 2:跳转至卡信息采集页面的操作将该地址传递给客户端,由商户客户端跳转至 Antom 中间页以采集买家的卡信息。

步骤 3:获取授权支付结果 服务端

在买家完成支付或支付超时后, Antom 会通过服务器交互将相应的支付结果发送给您,按照步骤 3:获取授权支付结果的操作获取授权支付结果。

步骤 4:获取请款结果 服务端

授权支付成功后,Antom 默认自动为您请款,同时支持您手动发起请款。请款后,您可以通过异步通知或主动查询来获取请款结果,您需要根据请款结果来决定是否发货。具体操作请参阅请款

支付后操作

完成支付后,您可对交易进行以下支付后的操作:

取消交易 服务端

卡支付场景中,Antom 支持以下三种情况下的撤销操作:

  • 由 Antom 为您自动请款时,对于授权通知成功但请款通知失败的交易,Antom 会在 7 天后发起撤销;您也可以主动发起撤销,避免买家资金被冻结7天。
  • 由您手动请款时,对于授权成功的订单,若您判断无需发起请款,则可以调用 cancel 接口,释放买家的冻结资金。
  • 对于未完成授权的交易,为避免重复扣费,您可调用撤销 cancel 接口取消交易。

请参阅取消交易了解更多内容。

常见问题

问:订单请款成功后,是否还能发起撤销?

答:不能。订单一旦请款成功,无法再进行撤销。如需处理该订单资金,请发起退款。具体流程请参考订单生命周期

问:订单授权支付成功后若不请款,会自动撤销吗?

答:会的。订单授权成功后,最晚在 7 天内需要发起请款,否则 Antom 将自动撤销该订单以解冻资金,无需您额外调用 cancel 接口。同时,为避免买家资金被冻结 7 天,建议您主动调用 cancel 接口为买家提前释放资金。

退款 服务端

不同支付方式的退款能力各有差异,若您需要了解 Antom 的退款规则及如何对成功的交易发起退款,请参阅退款

争议 服务端

当某笔交易发生争议时,Antom 为您提供争议处理相关服务。更多信息请参阅争议运营手册争议实施方案