SDK 事件码

本文为您介绍在集成 Antom SDK 过程中,可能通过回调函数或不同方法返回的事件码、卡支付信息以及风控信息。

onEventCallback
回调函数事件码

回调函数事件码在不同时机通过不同回调函数返回,主要包括以下三种:
  • 状态码
  • 错误码
  • 支付结果码

状态码

在组件运行生命周期内,通过
onEventCallback
回调函数返回,可根据具体事件进行后续处理。
  • SDK_START_OF_LOADING
    :配置
    showLoading
    false
    时,使用自定义动画,您可在这个时机渲染并展示自定义加载动画。
  • SDK_END_OF_LOADING
    :配置
    showLoading
    false
    时,使用自定义动画,您可在这个时机结束自定义加载动画。
  • SDK_PAYMENT_CANCEL
    :表示用户取消支付,即用户未提交订单退出支付页面。可使用有效期内的 paymentSessionData 重新调用 SDK。如已过期,需要重新发起 支付会话创建 请求。
  • SDK_CALL_URL_ERROR
    :此事件码代表以下事件信息中的一种情况:
    • 跳转商户页面失败。
    • 跳转支付方式 App 或页面失败。
    • 调用 支付会话创建 请求时 paymentRedirectUrl 参数未传入或未正确传入。
Web/WAP 场景下通常不会出现跳转异常,如果出现异常建议您校验重定向链接。App 场景下,如果频繁出现跳转异常,请联系 Antom 技术支持,排查跳转或唤端问题。
  • SDK_CALL_URL_SUCCESS
    :跳转支付方式/商户页面成功。
  • SDK_DUPLICATE_SUBMISSION_BEHAVIOR
    :表单重复提交。您可以设置提示,避免用户重复点击提交。
  • SDK_FORM_VERIFICATION_FAILED
    :提交表单后校验不通过。SDK 会在要素收集页面展示表单错误码,用户可以重新提交支付。
  • SDK_PAYMENT_AUTHORIZATION_SUCCESSFUL
    :支付流程已完成。如果配置了支付后不跳转的方法,建议继续监听相应的支付事件码以处理后续流程。否则,可以忽略此事件码并跳转到您的支付结果页面。
  • SDK_PAYMENT_CHALLENGE
    :触发3D验证,发卡行需要与买家进行进一步交互才能验证支付。无需处理,SDK 会自动跳转到验证页面。

错误码

在组件初始化阶段,通过
onEventCallback
onError
回调函数返回,可根据具体事件进行后续处理。
  • SDK_INTERNAL_ERROR
    :SDK 内部错误。请联系 Antom 技术支持。
  • SDK_CREATEPAYMENT_PARAMETER_ERROR
    createComponent
    函数传入参数异常。请检查参数是否正确并重新初始化组件。
  • SDK_INIT_PARAMETER_ERROR
    AMSCashierPayment
    函数传入参数异常。请检查参数是否正确并重新实例化 SDK。
  • SDK_CREATECOMPONENT_ERROR
    :组件初始化异常。请联系 Antom 技术支持。
  • SDK_SUBMIT_NETWORK_ERROR
    :因网络原因,接口调用失败。在
    submit
    函数提交中可能会出现。请尝试再次提交。

支付结果码

在支付流程结束时,通过
onEventCallback
回调函数返回,可根据具体事件进行后续处理。
  • SDK_PAYMENT_SUCCESSFUL
    :表示支付成功。建议您重定向到支付结果页。
  • SDK_PAYMENT_FAIL
    :表示支付失败。建议您根据 paymentResultCode 错误码提示信息进行处理,并引导重新支付。
  • SDK_PAYMENT_PROCESSING
    :表示支付处理中。建议您的服务端查询支付状态或等待支付结果通知,同时可询问用户是否完成,如果用户未完成支付,可以引导重新支付。
  • SDK_PAYMENT_ERROR
    :表示支付状态异常。建议您的服务端查询支付状态或等待支付结果通知。
  • SDK_PAYMENT_RETRY
    :支付失败后重试。 在开启失败可重试的情况下,引导用户修改信息后再支付。

支付失败或异常说明

以下表格为支付失败或异常时的支付结果信息以及对应的处理建议,您可以根据收到的支付结果码作进一步处理。

卡支付信息

在卡支付场景下,当支付流程达到成功或失败的最终状态时,您可以在调用
onEventCallback
函数后在响应中收到 cardPaymentResultInfo 参数。 请参阅下表了解 cardPaymentResultInfo 的子参数信息:
注意:如果支付流程完成,用户被重定向到跳转链接,您将不会收到 cardPaymentResultInfo 参数。
返回的卡片信息的示例代码:
{
  "result": {
      "resultCode": "SUCCESS",
      "resultStatus": "S",
      "resultMessage": "Success"
  },
  "paymentStatus": "SUCCESS",
  "paymentResultCode": "SUCCESS",
  "paymentResultMessage": "success",
  "cardPaymentResultInfo": {
      "avsResultRaw": "4",
      "cardBin": "409280",
      "cardBrand": "VISA",
      "cardNo": "************8888",
      "cvvResultRaw": "1",
      "expiryMonth": "02",
      "expiryYear": "27",
      "fingerprint": "",
      "funding": "DEBIT",
      "holdName": "Tom Jay",
      "issuerName": "BANCO ITAUCARD, S.A.",
      "issuingCountry": "BR",
      "lastFour": "0000"
  }
}

风控信息

在卡支付场景下,当支付流程达到成功或失败的最终状态并且您与 Antom 签署了风控服务时,您可以在调用
onEventCallback
函数后在响应中收到 popRiskDecisionResultInfo 参数。 请参阅下表了解 popRiskDecisionResultInfo 的子参数信息:
注意:如果支付流程完成后用户被重定向,您将不会收到 popRiskDecisionResultInfo 参数。
返回的风控信息示例代码:
{
  "result": {
      "resultCode": "SUCCESS",
      "resultStatus": "S",
      "resultMessage": "Success"
  },
  "paymentStatus": "SUCCESS",
  "paymentResultCode": "SUCCESS",
  "paymentResultMessage": "success",
  "popRiskDecisionResultInfo": {
      "riskDecision": "ACCEPT",
      "riskAuthDecision": "NON_3D"
  }
}