APM 支付集成
本文档综合概述了 Antom 各产品在替代支付方式(APM)支付集成方面的要求、特性及关键注意事项。
支持的 APM 类型
Antom 提供多种 APM 类型,例如电子钱包、银行转账、网银转账、先买后付、现金支付、实时支付、直接扣款和运营商计费,支持您接受不同国家和地区流行的本地 APM。请参阅支付方式以查看支持的 APM 完整列表。
集成选项
Antom 为您提供多种集成选项,例如 Payment Element 集成、Checkout Page 集成和 API 集成。您可以选择最适合您业务需求的方案。
Payment Element
可直接嵌入应用程序的即用型 UI 组件,提供原生支付体验。
Checkout Page (CKP)
将买家引导至由 Antom 托管的安全支付页面,是以最少的开发工作量实现上线的最快途径。
API-only
通过 API 调用获取各支付方式的跳转链接,打造深度定制的支付体验。您将拥有对 UI 设计与交互流程的绝对控制权,但这也意味着需要投入更多的开发资源来处理较高的集成复杂度。
免密支付
为您的网站或应用程序打造安全简便的支付体验。买家可在首次交易时启用“一键支付”功能,此后只需点击一下即可完成支付。
集成关键注意事项
以下是不同 APM 的关键集成点及推荐方案。
| 支付方式 | 要点 | 建议方案 |
| PayPay |
| paymentRedirectUrl 字段长度不要超过 255 字符。 |
| QRIS | 存在单边账情况。 | 当单边账发生时(即买家已经付款但您收到支付失败的通知),在 Antom 收到下游支付方式返回的支付成功消息后,Antom 会将该笔资金结算给您,您在收到这笔资金后可以自行处理后续的退款,对应的结算明细账单上也会包含这笔交易。 |
| Promptpay | 存在单边账情况。 | |
| Konbini, Konbini (7-Eleven), Pay-easy |
| |
| Maybank | 支付完成后,会延迟 5 分钟发送异步通知。 | 为买家展示“订单确认中”的状态提示。 |
| OVO, Pix, BANCOMAT Pay | 无法自动拉起钱包。 | 需手动拉起钱包完成支付。 |
| Siam Commercial Bank |
| 提示买家可能存在支付手续费(由买家在银行的等级决策收取的费用金额)。 |
| Bank of Ayudhya |
| 提示买家可能存在支付手续费(由买家在银行的等级决策收取的费用金额)。 |
| GoPay, Bangkok Bank, KrungThai Bank | 不支持 PC 端。 | 无 |
| NAVER Pay | PC 客户端需额外集成:买家登录后,支付不会在原页面直接完成,而是自动打开一个新的标签页重定向。 | 开启浏览器弹窗权限,并在代码中通过创建新的 browser 对象(或窗口)打开弹窗页面进行支付处理。 |
| Express Bank Transfer | paymentRedirectUrl 对特殊字符有限制。 | 避免在 paymentRedirectUrl 中使用 "&" 符号。 |
| Mercado Pago (巴西) | 会消费 buyerEmail 字段从而导致支付直接失败。 | 传入 payerEmail 字段。 |
先买后付集成要求
Antom 支持多个先买后付(BNPL)的支付方式。BNPL 是一种分期贷款,为买家提供长期有效且可循环的信用额度。买家可以使用这个信用额度进行交易。然而,支付方式仍需对 BNPL 交易实施实时风险控制,以降低买家和支付方式双方的风险,这要求商家在向 Antom 发起接口请求时提供特定信息。这些信息分为基本信息和扩展信息,对支付的成功与否有很大影响。
对于 pay (单笔支付) 接口请求,需要特定的参数。请参阅以下部分了解详情。
基本信息参数
以下表格中的参数强烈建议由商户提供。支付方式的风险控制很大程度上依赖于这些参数。如果提供这些参数,预计支付成功率可提升 5%~10%。
类别 | 参数 | 描述 |
order.buyer | referenceBuyerId | 可选 字符串 (64) 商家为识别买家所分配的专属 ID。 |
order.goods | goodsName | 可选 字符串 (256) 商品名称。 |
order.shipping | 可选 地址 收件人的送货地址。 |
shippingAddress
字段 | 描述 |
region | 必填 字符串 (2) 两位字符的 ISO 3166 国家/地区代码。 |
state | 可选 字符串 (8) 州、国家或省份。 |
city | 可选 字符串 (32) 城市、区、郊区、城镇或村庄。 |
address1 | 可选 字符串 (256) 地址行 1,如街道、邮政信箱或公司名称。 |
address2 | 可选 字符串 (256) 地址行 2,如公寓、套房、单元或建筑信息。 |
zipCode | 可选 字符串 (32) 邮政编码。 |
扩展信息参数
以下表格中的参数建议由商户传递。 如果提供这些参数, 预计支付成功率可提升约 5%。
类别 | 参数 | 描述 |
order.goods | referenceGoodsId | 必填 字符串 (64) 商户为识别商品分配的专属ID。 |
goodsCategory | 可选 字符串 (64) 商品类型的分类。 | |
必填 金额 商品价格。 | ||
goodsQuantity | 必填 整数 商品数量。 |
goodsUnitAmount
字段 | 描述 |
currency | 必填 字符串 (3) 三位字符的 ISO-4217 货币代码。 |
value | 必填 Integer 以最小币种单位的正整数形式表示的金额值。(即如果金额是 USD 1.00,则将此参数的值设置为 100。或者如果金额是 JPY 100,则将此参数的值设置为 100)。 值范围:1 - 无限。 |
APM 返回的 pspName 值
当通过 notifyPayment 接收异步通知或通过 inquiryPayment 接口查询支付信息时,若支付方式可以提供支付方式名称, pspName 字段可能会返回值。下表列出了每种支付方式会返回的相应 pspName 值:
支付方式 | pspName 值 | 买家所在国家/地区 | 支付方式类型 |
BillEase | 菲律宾 | 先买后付 | |
Kredivo | 印度尼西亚 | ||
BPI | 菲律宾 | 网银转账 | |
AlipayCN | 中国 | 电子钱包 | |
AlipayHK | 中国香港 | ||
Boost | 马来西亚 | ||
Dana | 印度尼西亚 | ||
Gcash | 菲律宾 | ||
Grabpay | 新加坡 | ||
KaKaoPay | 韩国 | ||
KPLUS | 泰国 | ||
RabbitLinePay | 泰国 | ||
NAVERPay | 韩国 | ||
TossPay | 韩国 | ||
TouchNGo | 马来西亚 | ||
TrueMoney | 泰国 | ||
GoPay | 印度尼西亚 | ||
Grabpay | 马来西亚、菲律宾 | ||
JKOPay | 中国台湾 | ||
Maya | 菲律宾 | ||
MercadoPago | 巴西、秘鲁、智利、墨西哥 | ||
OVO | 印度尼西亚 | ||
PayPay | 日本 | ||
ShopeePay | 新加坡、印度尼西亚、菲律宾、泰国 | ||
ShopeePay | 马来西亚 | ||
ZaloPay | 越南 |
前置方案
在标准的集成体验中,买家需要被重定向到支付方式页面以完成某些操作,例如选择特定的银行支付方式、输入支付详情或扫描/复制支付密码。以下最佳实践指导您在页面上展示银行列表、支付详情、二维码或支付密码,从而减少支付过程中页面重定向的需要并改善用户体验。