Antom, leading provider of tailored payment solutions

submitPayment()

该方法用于向服务端发起支付请求。当买家点击您自定义的支付按钮后,SDK 会根据不同支付方式的特性,自动处理支付信息、推进交易流程,并在需要时执行 3D 验证等操作。支付结果及异常信息将通过异步回调返回。

方法签名

调用此方法时,请使用以下标准方法签名格式:
JavaScript
TypeScript

参数

以下参数用于配置支付请求的提交选项。
参数
类型
是否必需
描述
Object
否
提交支付请求的配置选项。

options

参数
类型
是否必需
描述
handleActions
Boolean
否
表示是否由 SDK 处理自动跳转。有效值为:
  • true
    :默认值。由 SDK 自动控制支付流程。
  • false
    :SDK 将返回支付所需的 URL 信息,由您自行处理跳转或唤端操作,此场景适用于非浏览器场景,或需要实现自定义跳转逻辑。​
注意:自定义跳转控制(当 handleActions 为
false
时)仅适用于除了卡、Apple Pay、Google Pay 以外的场景。
Object
否
用于提交收货地址信息。

shippingInfo

参数
类型
是否必需
描述
Object
是
收货地址信息。
Object
是
收货人名称。
shippingPhoneNo
String
是
收货人的电话号码。格式为 E.164 国际标准格式。
shippingAddress
参数
类型
是否必需
描述
region
String
是
符合 ISO 3166 标准的二位字母国家或地区代码。
state
String
是
州、省或符合 ISO 3166-2
标准的两到三位字母的地区代码。
city
String
是
城市名称。
address1
String
是
地址 1。
address2
String
是
地址 2。
zipCode
String
是
邮编。
shippingName
参数
类型
是否必需
描述
firstName
String
是
收货人名字。
lastName
String
是
收货人姓氏。
middleName
String
否
收货人中间名(若有则需要传入)。
fullName
String
否
收货人全名。

返回值

返回一个类型为
Promise
的对象,解析后可获得包含支付结果的对象。
参数
类型
是否必需
描述
status
String
是
支付状态。可根据 status 的值简化集成处理。您也可根据 error?.code 来进行精细化的异常处理。有效值为:
  • SUCCESS
    :支付成功。
  • FAIL
    :支付失败。
  • PROCESSING
    :支付处理中。
  • CANCELLED
    :支付已取消。
userCanceled3D
Boolean
否
表示买家是否主动关闭 3D 安全认证弹窗。有效值为:
  • true
    :买家主动中止 3D 过程。返回该值时建议从服务端轮询结果。
  • false
    :非买家主动中止 3D 过程。
Object
否
支付会话信息。
Object
否
该参数仅在操作失败时返回,且为错误对象,包含 code 和 message 参数。若无返回则操作成功。

session

参数
类型
是否必需
描述
Object
否
当支付流程需要额外步骤时(例如手动处理唤端),此字段会提供必要的信息。

nextAction

参数
类型
是否必需
描述
applinkUrl
String
否
App Link 链接(iOS Universal Link 或 Android App Link)。
schemeUrl
String
否
自定义 URL Scheme 链接。
normalUrl
String
是
普通 H5 页面链接。

error

参数
类型
是否必需
描述
code
String
是
错误码。
message
String
是
错误信息。
traceId
String
否
追踪 ID,用于问题排查。
context
Any
否
错误上下文信息。

错误码

注意:
submitPayment().then()
方法返回的支付结果仅用于客户端页面流转以及状态展示,最终的订单状态请通过步骤 3:获取支付结果获取。
结果码(code)
状态(status)
建议给买家的提示(message)
描述
操作建议
UNKNOWN_EXCEPTION
PROCESSING
未知异常。请检查付款情况并联系商户。
由于未知原因,接口调用异常。
建议从服务端轮询支付结果。若未获取到支付结果,可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
INQUIRY_PAYMENT_SESSION_FAILED
FAIL
订单状态异常。请检查付款情况并联系商户。
支付会话过期。
订单已超时关单,使用新的 paymentRequestId 重新发起支付。
UI_STATE_ERROR
FAIL
请求异常,交易无法发起。
方法的调用时机异常。
集成代码异常,请自行排查。 如问题未解决,请联系 Antom 技术支持。
ERR_DATA_STRUCT_UNRECOGNIZED
无
请求异常,交易无法发起。
SDK未返回支付必要信息。
请联系 Antom 技术支持获取详细原因。
USER_BALANCE_NOT_ENOUGH
FAIL
买家余额不足。请充值或选择其它支付方式。
由于对应支付方式的买家余额不足,支付无法完成。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
ORDER_NOT_EXIST
FAIL
订单状态异常。请检查付款情况并联系商户。
订单不存在。
请联系 Antom 技术支持获取详细原因。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
PROCESS_FAIL
FAIL
支付失败。请检查付款情况并联系商户。
发生了常见的业务失败。
请联系 Antom 技术支持获取详细原因。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
ORDER_IS_CANCELLED
FAIL
订单状态异常。请检查付款情况并联系商户。
订单已撤销。
订单已取消,如需再次支付,请使用新的 paymentRequestId 重新发起支付。
RISK_REJECT
FAIL
风控拒绝。建议换卡重试或联系发卡行。
由于风险控制,交易无法进一步处理。如果买家已为交易付款,交易将被退款。
弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
ORDER_IS_CLOSED
FAIL
订单状态异常。请检查付款情况并联系商户。
您发起的请求与已关闭交易的paymentRequestId相同。
订单已超时关单,使用新的 paymentRequestId 重新发起支付。
ACCESS_DENIED
FAIL
支付失败。请检查付款情况并联系商户。
访问被拒绝。
请联系 Antom 技术支持获取详细原因。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
CARD_EXPIRED
FAIL
卡片已过期,请核对过期日期或使用其他卡片。
用于交易的银行卡已过期。
Antom 已为您提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
INVALID_EXPIRY_DATE_FORMAT
FAIL
卡片过期时间不正确,请核对过期日期或使用其他卡片。
expiryYear或expiryMonth的格式不正确。
Antom 已为您提示买家,您无需进行操作。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
INVALID_EXPIRATION_DATE
FAIL
卡片过期时间不正确,请核对过期日期或使用其他卡片。
paymentMethod.paymentMethodMetaData.expiryYear或paymentMethod.paymentMethodMetaData.expiryDate的值无效。
Antom 已为您提示买家,您无需进行操作。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
INVALID_CVV
FAIL
卡片 CVV 不正确,请核对 CVV 或使用其他卡片。
用于交易的银行卡 CVV 无效。
Antom 已为您提示买家,您无需进行操作。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
INVALID_CARD_NUMBER
FAIL
卡号不正确,建议换卡重试或联系发卡行。
用于交易的银行卡号无效。
Antom 已为您提示买家,您无需进行操作。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
SELECTED_CARD_BRAND_NOT_AVAILABLE
FAIL
卡品牌不支持,建议换卡重试或联系发卡行。
您指定用于交易的银行卡品牌不被支持。
您指定的银行卡品牌不支持,请自行排查。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
CARD_NOT_SUPPORTED
FAIL
卡片不支持。建议换卡重试或联系发卡行。
用于交易的银行卡不被支持。
Antom 已为您提示买家,您无需进行操作。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
CARD_BIN_QUERY_ERROR
FAIL
卡号不正确。建议换卡重试或联系发卡行。
用于交易的银行卡号无效。
Antom 已为您提示买家,您无需进行操作。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
PAYMENT_IN_PROCESS
PROCESSING
PENDING
支付正在处理中,请等待支付完成。
支付正在处理中。
PROCESSING
代表 SDK 轮询后未查询到支付结果,建议从服务端轮询支付结果。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
您可从响应中读取userCanceled3D字段判断买家是否主动关闭 3D 弹窗:
  • true
    :表示买家主动中止 3D 过程。
  • false
    : 表示非买家主动中止 3D 过程。
CURRENCY_NOT_SUPPORT
FAIL
商户不支持该币种,交易无法发起。
币种不受支持。
请联系 Antom 技术支持获取详细原因。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
INVALID_CARD
FAIL
卡号无效,请核对卡片详细信息或使用其他卡片。
银行卡无效。可能是银行卡号无法识别,银行卡没有对应的发卡行,或者卡号格式错误。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
ISSUER_REJECTS_TRANSACTION
FAIL
发卡行拒绝交易,建议换卡重试或联系发卡行。
发卡行拒绝交易。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
INVALID_MERCHANT_STATUS
FAIL
商户状态异常,交易无法发起。
由于存在限制,您的状态异常。
请联系 Antom 技术支持获取详细原因。
KEY_NOT_FOUND
FAIL
未知异常。请检查付款情况并联系商户。
找不到 Antom 或商户的私钥或公钥。
请联系 Antom 技术支持获取详细原因。
MERCHANT_KYB_NOT_QUALIFIED
FAIL
商户状态异常,交易无法发起。
由于您的 KYB 状态异常导致支付失败。您可能未完成 KYB,或者 KYB 状态不适用于此交易。
请联系 Antom 技术支持获取详细原因。
NO_PAY_OPTIONS
FAIL
没有可用的支付选项。
没有可用的支付选项。
请联系 Antom 技术支持获取详细原因。
PARAM_ILLEGAL
FAIL
未知异常。请检查付款情况并联系商户。
缺少必需的参数,或者存在非法参数。例如,非数字输入、无效的日期,或者参数的长度和类型错误。
请联系 Antom 技术支持获取详细原因。
PAYMENT_AMOUNT_EXCEED_LIMIT
FAIL
商户支付金额超过限额,交易无法发起。
支付金额超过了合同或支付方式允许的最大金额。
检查支付金额是否超过限制,或使用较低金额重试支付。使用新的 paymentRequestId 更换金额后重新发起支付。
PAYMENT_COUNT_EXCEED_LIMIT
FAIL
商户支付次数超过限制使用次数,交易无法发起。
支付次数超过了支付方式规定的限制。
请联系 Antom 技术支持获取详细原因。
PAYMENT_NOT_QUALIFIED
FAIL
商户状态异常,交易无法发起。
您不具备支付资格,可能是因为未注册、未签订自动扣款协议或被禁止支付。
请联系 Antom 技术支持获取详细原因。
SUSPECTED_CARD
FAIL
风控拒绝。建议换卡重试或联系发卡行。
银行卡涉嫌欺诈。例如,银行卡可能被盗或受限。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
SYSTEM_ERROR
FAIL
未知异常。请检查付款情况并联系商户。
发生系统错误。
请联系 Antom 技术支持获取详细原因。建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
USER_AMOUNT_EXCEED_LIMIT
FAIL
金额超限。使用小于或等于账户可用余额的金额重新发起支付。
支付金额超过了买家的支付限额。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
USER_KYC_NOT_QUALIFIED
FAIL
买家状态异常。建议换卡重试或更换支付方式重试。
由于买家的 KYC 状态,支付失败。买家可能未完成 KYC,或者 KYC 状态不满足此交易要求(例如,支付金额或产品信息的限制)。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
USER_PAYMENT_VERIFICATION_FAILED
FAIL
买家状态异常。建议换卡重试或联系发卡行。
买家在支付方式端被限制支付。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
USER_STATUS_ABNORMAL
FAIL
买家状态异常。建议换卡重试或联系发卡行。
买家在支付方式端的状态异常。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
DO_NOT_HONOR
FAIL
支付被发卡行拒绝。建议换卡重试或联系发卡行。
支付被发卡行拒绝。
建议弹窗提示买家。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
EXTERNAL_RESOURCE_LOAD_FAILED
FAIL
请求异常,请检查网络状况或者设备情况。
Google/Apple 资源异常。
买家网络异常或设备不支持 Google、Apple 或其他依赖第三方平台的支付。建议弹窗提示买家检查买家执行环境。
SUBMIT_PAYMENT_TIMEOUT
PROCESSING
请求异常,交易无法发起。
提交支付时网络异常。
买家网络异常或 Antom 服务异常,尝试从服务端轮询支付结果。若未查到支付结果,可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
PAYMENT_RESULT_TIMEOUT
PROCESSING
请求异常,交易无法发起。
获取支付结果时网络异常。
尝试从服务端轮询支付结果。若未查到支付结果,可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
USER_CANCELED
PROCESSING
无。
买家手动关闭展码/引导页弹窗。
可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
FORM_INVALID
FAIL
无。
要素信息填写错误。
Antom 已为您提示买家,您无需进行操作。可以在支付会话有效期内使用原有的 paymentSessionData 重新调用
submitPayment()
。
FRAUD_REJECT
FAIL
很抱歉,本次交易暂时无法处理。如涉及付款,款项将自动退回至您的支付账户,无需额外操作。
由于风险控制,交易无法进一步处理。如果买家已为交易付款,交易将被退款。
风控拦截:该笔交易因触发风险控制规则被终止。
已付款订单将自动发起退款,退款到账时间取决于支付渠道。
SECURITY_REJECT
FAIL
银行出于安全考虑拒绝了您的申请。请联系您的银行或尝试使用其他银行卡。
由于发卡行检测到安全问题,交易被拒绝。
银行拦截:发卡行基于其风控策略拒绝了交易(可能原因:卡片状态异常、跨境交易限制、单日限额等)。
商户处理建议:
  • 引导买家更换支付方式或银行卡;
  • 建议买家联系发卡行核实卡片状态;
  • 此类拦截由银行侧发起,平台无法干预。
TRANSACTION_NOT_PERMITTED
FAIL
不允许交易。请稍后再试。
发卡行拒绝了该卡/账户的交易。
银行拒绝:发卡行未授权该笔交易。
可能原因:
  • 卡片余额不足;
  • 超出单笔/单日交易限额;
  • 卡片过期或被冻结;
  • 发卡行风控策略拦截。
处理建议:引导买家换卡支付或联系银行核实,此错误通常可通过更换支付方式解决。
RESTRICTED_CARD
FAIL
卡片受限。请联系您的银行或尝试其他卡片。
发卡行限制了该卡的使用范围。
卡片使用范围受限:发卡行对该卡的使用场景进行了限制。
处理建议:
  • 优先引导买家更换其他银行卡;
  • 如需继续使用该卡,建议买家联系发卡行申请解除限制;
  • 此类限制由发卡行管控,平台无法干预。
USER_PAYMENT_VERIFICATION_FAILED
FAIL
买家状态异常。建议换卡重试或联系发卡行。
买家在支付方式端被限制支付。
弹窗提示买家。
DO_NOT_HONOR
FAIL
支付被发卡行拒绝。建议换卡重试或联系发卡行。
支付被发卡行拒绝。
弹窗提示买家。
PAYMENT_AMOUNT_EXCEED_LIMIT
FAIL
商户状态异常,交易无法发起。
支付金额超过了合同或支付方式允许的最大金额。
检查支付金额是否超过限制,或使用较低金额再试一次。
RE_ENTER_TRANSACTION
FAIL
订单状态异常。请检查付款情况并联系商户。
交易暂时无法处理。
交易暂时无法处理。建议引导买家更换支付方式,或联系银行确认原因后重试。
BLOCKED_FIRST_USED
FAIL
被银行阻止。请联系您的银行或尝试其他卡片。
卡片可能因以下原因被临时冻结:未激活首次使用,或受特殊条件限制(例如新卡未激活)。
该卡为新卡未激活,或发卡行设置了特殊使用条件(如首刷需在柜台办理)。建议引导买家:
  • 前往银行应用程序或柜台激活卡片;
  • 完成首刷认证;
  • 或更换其他支付方式。
POLICY
FAIL
银行拒绝了付款。请重试或使用其他卡片。
政策限制。
卡片政策限制:发卡行对该卡设置了交易类型限制。
处理建议:
  • 优先建议买家更换其他银行卡完成支付;
  • 如需解决问题,买家需联系发卡行修改卡片政策;
  • 此类限制为银行端控制,平台无法绕过。
ACCOUNT_CLOSED
FAIL
不允许使用该卡。请尝试其他卡片。
账户已关闭。 请核实账户号码的准确性,同一银行卡号或令牌请勿再次处理。
账户状态异常:发卡行返回账户已关闭。
同一卡号请勿再次尝试,该错误为终态错误,重复提交不会成功,且可能触发平台或银行风控规则,建议直接引导买家换卡。
LIFECYCLE
FAIL
您的卡号/到期日期/CVV 无效。
由于无效的卡片数据,交易被拒绝。
卡片数据无效:发卡行或卡组织校验卡片信息失败。
可能原因:
  • 卡号输入错误(位数不对/Luhn 校验失败);
  • 有效期过期或格式错误(MM/YY);
  • CVV/CVC 安全码错误;
  • 持卡人姓名与卡片不符;
  • 磁条/芯片数据读取错误。
PICKUP_CARD
FAIL
不允许使用该卡。请尝试其他卡片。
发卡行要求商户扣留支付卡。 此类情况通常出现在疑似伪卡或盗刷场景中。
发卡行要求扣留卡片。
高风险,发卡行指示该卡存在欺诈风险(疑似伪卡或盗刷),要求扣留卡片。如为线下场景,应按银行要求扣留卡片并联系授权中心;如为线上场景,应立即终止交易,记录相关信息,并建议买家联系发卡行。
INVALID_AMOUNT
FAIL
付款金额无效。请核对金额后重试。
发卡行因各种原因拒绝交易,例如指定金额无效或超过最大金额限制。
金额相关拒绝:发卡行因金额问题拒绝交易。
可能原因:
  • 超出银行卡单笔/单日/单月限额;
  • 低于银行卡最低交易金额;
  • 建议商户弹窗提示买家。
DOMESTIC_DEBIT_TRANSACTION_NOT_ALLOWED
FAIL
支付受限。
该类型银行卡暂不支持此交易,请更换其他付款方式。
不允许国内借记卡交易(仅限区域使用)。
卡片类型受限:当前渠道/场景不支持国内借记卡交易。建议更换其他卡交易。
BLOCKED_BY_CARDHOLDER
FAIL
银行卡暂不可用。
请更换其他付款方式完成支付。
该卡被买家锁定。
该卡已被持卡人主动锁定(可能通过银行应用程序挂失、冻结或设置安全锁)。建议引导买家:
  • 更换其他银行卡支付;
  • 如需使用该卡,请买家通过银行渠道解除冻结。此状态为买家主动行为,平台无法干预。
INSTALLMENT_NOT_SUPPORTED
FAIL
该卡不支持分期,请换卡支付。
该卡或商户不支持分期。
该卡未开通分期功能,或当前商户/交易场景不支持分期。建议:
  • 引导买家选择全款支付;
  • 或更换支持分期的信用卡;
  • 如商户侧已开通分期但报错,请检查分期参数配置或联系 Antom 技术支持。
PAYMENT_METHOD_SYSTEM_ERROR
FAIL
系统繁忙。
支付系统暂时无法处理,请稍后重试或选择其他支付方式。
支付方式系统错误。
发卡行支付系统出现异常,建议引导买家稍后重试或更换支付方式。如报错持续,请联系技术支持排查渠道状态。
INVALID_INSTALLMENT_PLAN
FAIL
分期付款次数有误,请修改选择分期期数后重试。
分期付款次数或间隔不正确。
分期参数错误:请求中的分期期数或分期间隔规则错误。请检查分期参数是否在支持的枚举值内,或联系渠道确认该卡支持的分期方案。
给商户的建议:弹框提示买家修改分期期数或者更换卡片重试。
INVALID_CPF
FAIL
身份信息验证失败,请核实后重新填写。
提供的 CPF 号码无效。
买家提供的 CPF(巴西税号)格式错误或校验失败。请提示买家检查输入格式,或联系 Antom 技术支持排查是否需适配当地规则。
REFERRAL_ISSUER
FAIL
该银行暂不支持此交易,请更换其他付款方式。
交易被发卡行拒绝。
交易被发卡行拒绝,发卡行未提供具体原因。建议引导买家:
  • 更换其他银行卡;
  • 联系发卡行核实卡片状态。
INVALID_PIN
FAIL
PIN 码不正确或不符合要求,请重新输入或更换付款方式。
提供的 PIN 码不正确或不符合要求。
PIN 码不正确或不符合要求(输错、格式不符或渠道要求在线 PIN 但未提供)。建议:
  • 提示买家重新输入;
  • 如多次失败,建议换卡避免锁卡。
LAW_VIOLATION
FAIL
您的银行暂不支持该笔交易,建议:
  • 更换其他银行卡支付
  • 联系发卡行了解具体原因
发卡行拒绝了该交易。
银行拒绝:发卡行未授权该笔交易。
可能原因:
  • 卡片余额不足;
  • 超出单笔/单日交易限额;
  • 卡片过期或被冻结;
  • 发卡行风控策略拦截。
处理建议:引导买家换卡支付或联系银行核实,此错误通常可通过更换支付方式解决。
LOST_CARD
FAIL
银行卡状态异常。
请联系发卡行或更换其他付款方式完成支付。
挂失卡(欺诈账户)。
挂失卡或欺诈账户:
该卡已被标记为挂失、被盗或涉及欺诈交易。引导买家更换其他银行卡。
STOLEN_CARD
FAIL
银行卡状态异常。
请联系发卡行或更换其他付款方式完成支付。
被盗卡(欺诈账户)。
被盗卡或欺诈账户:该卡已被标记为被盗卡,涉及欺诈交易。对外统一提示卡片状态异常,引导买家更换其他银行卡。
INVALID_TRANSACTION
FAIL
交易失败请勿重试,并联系 Antom 技术支持获取详情。
无效交易。
交易被判定为无效,可能原因:
  • 交易参数缺失/格式错误;
  • 风控规则拦截;
  • 交易重复提交;
  • 或渠道不支持该交易类型。
建议检查请求参数完整性。

最佳实践

加载动画管理

调用
submitPayment()
方法前,您可以自行添加动画加载效果,并在
.then()
方法中处理回调时关闭动画加载效果。