1. After Payment
Merchant Connect API
  • 版本记录
  • Integration Guide
    • EC Payment
      • Merchant API
        • Overview
        • Payment
        • Payment Methods
        • Response code
        • After Payment
          • Capture
          • Cancel
          • Refund
          • Cancel or Refund
          • Accept Notification
        • Features
          • Account Status Inquiry (ASI)
          • COF
          • Multi-Currency Transaction
          • Recurring
          • Smart Routing
          • Transaction Retry
          • Payout
          • Authentication
            • 3D Secure
            • FIDO Authentication
            • Authentication only
            • Authorization only
          • Tokenization
            • Gateway Tokenization
            • Create a gateway token
            • Network Tokenization
            • Pay with gateway token
            • Manage token
            • Network Token update notification
            • Card Based Network Token
    • In-store Payment
      • Merchant API (线下卡支付)
        • ZPK
          • ZPK
        • Payment
          • Payment
        • After Payment
          • Capture
          • Cancel
          • Refund
          • Cancel or Refund
          • Accept Notification
      • Merchant API(QR)
        • Payment
          • CPM
          • MPM
          • MPM static QR code
        • After Payment
          • Capture
          • Cancel
          • Refund
          • Cancel or Refund
          • Accept Notification
  • API Explorer
    • API Rules
  • PaymentMethod
    • PaymentMethod
      POST
    • PaymentMethod
      PUT
    • PaymentMethod
      GET
    • PaymentMethod
      DELETE
  • FXRateInquiry
    • FXRateInquiry
      POST
    • FXRateInquiry
      GET
  • Payment
    • Payment
      POST
    • Payment
      GET
    • Payment
      PUT
  • Payout
    • Payout
      POST
    • Payout
      GET
  • Capture
    • Capture
    • Capture
  • Cancel
    • Cancel
    • Cancel
  • Refund
    • Refund
    • Refund
  • Cryptogram
    • Cryptogram
    • Cryptogram
  • CancelOrRefund
    • Cancel or Refund
    • Cancel or Refund
  • Notification
    • Notification for PaymentMethod
    • Notification for Payment
    • Notification for Capture
    • Notification for Cancel
    • Notification for Refund
    • Notification for DataSubmission
    • Notification for MPM Static QR Code
    • Notification for Token Status Update
    • Notification for Settlement
    • Notification for Reversal
    • Notification for Cryptogram
    • Notification for Payout
  • HealthCheck
    • HealthCheck
  • ZPK
    • ZPK
  • 附录
    • Product Code
    • Result Code
    • Appendix: Payment Method Variant
    • Appendix: Payment Brands
  • Coupon Write-off
    • Coupon Write-off
  • Coupon Reversal
    • Coupon Reversal
  1. After Payment

Capture

适用于线上(EC)和线下门店(In-Store)场景。
部分支付方式的支付流程分为两步完成:
1.
授权(Authorization):验证用户的支付信息并冻结资金。
2.
完成(Capture):将冻结的资金从用户账户转入您的账户。
对于即时支付方式,付款在授权后立刻被完成。
对于支持授权与完成分离的非即时支付方式,您可以稍后完成付款。这样在出现问题时可以取消支付。
以下是各支付方式是否支持授权与完成分离的对照表。
支付方式支付品牌是否支持
Token & Card(令牌及银行卡)VISA是
Mastercard是
AMEX是
JCB是
Diners / Discover是
UnionPay是
TPN是
E-Wallet(电子钱包)全部否
Online Banking(网银)全部否
Points(积分)全部否
Bank Transfer(银行转账)全部否
By Now Pay Later(先买后付)全部否
Carrier Billing(运营商代扣)全部否
Cash(现金)全部否
Prepaid Card(预付卡)全部否
Google Pay™️全部是

手动完成#

如需完成,请向 EVO Payment 以下接口发起 HTTP POST 请求:
/g2/v1/payment/mer/{sid}/capture
要点:
默认行为:如果您在初始支付请求(/g2/v1/payment/mer/{sid}/payment)中未指定 captureAfterHours 字段,对于支持授权与完成分离的支付方式,将采用默认的完成设置。
没有单独的完成:对于不支持授权与完成的支付方式,captureAfterHours 字段会被忽略,因为这类支付在授权后会立即完成。
时效:建议在授权后 7 天内发送完成请求,因为大多数发卡行会在此之后使授权失效。
金额限制:完成金额不能超过初始支付金额。

自动完成#

EVO Payment 可以在授权后自动完成支付,也就是说您无需调用完成接口。
如需开启该功能,您需要在向 EVO Payment 接口(/g2/v1/payment/mer/{sid}/payment)发起 HTTP POST 请求时指定 captureAfterHours 字段。EVO Payment 后台会根据您指定的 captureAfterHours 创建自动完成任务。
captureAfterHours 的有效范围为 0 到 168,即最多可设置在授权后 168 小时(7 天)自动完成。0 表示授权后立即完成支付。
在授权与完成之间设置延迟,可以让您在完成前取消支付,例如商品缺货时。如果您取消了支付,EVO Payment 会取消后台的自动完成任务。
即使支付以自动完成模式授权,您仍可以在 EVO Payment 自动完成之前,按照手动完成方式手动完成支付。以这种方式手动触发完成时,EVO Payment 会取消后台的自动完成任务,避免重复支付。

部分完成#

部分支付方式还支持部分完成。以下是支持部分完成的支付方式和支付品牌对照表。
支付方式支付品牌
Token & Card(令牌及银行卡)VISA
Mastercard
AMEX
JCB
Diners / Discover
UnionPay
TPN
Google Pay™️全部
请注意,一笔支付只能完成一次。如果进行部分完成,剩余未完成的金额将被自动取消。

发起完成请求#

步骤 1:发起完成请求#

当您获取到的支付结果中 payment.status 为 Authorised 时,可以从服务端向 EVO Payment 以下接口发起 HTTP POST 请求:
/g2/v1/payment/mer/{sid}/capture
对该笔支付进行手动完成,并指定以下参数:
参数是否必填说明
merchantTransIDM初始支付的 merchantTransInfo.merchantTransID。
merchantTransInfoM完成的参考信息,包括唯一的 merchantTransID,以及表示您发起请求时间的 merchantTransTime。
transAmountM支付的币种和金额。金额必须符合该币种的最小单位规则。
initiatingReasonO您可在该字段中说明发起本次请求的原因。
webhookO接收通知的 URL。传入该参数后,支付成功时将收到 EVO Payment 的通知。
metadataO您可在请求中自定义的参考信息,会在响应中原样返回。
以下是发起 10 USD 完成的示例:
请求成功时,响应中会包含 capture 对象和 payment 对象。capture 对象的详细说明如下:
capture 对象详细说明:
1.
capture.status:完成状态,必填,取值可为 Success、Failed 或 Received。如果 capture.status 为 Received,您需要再发起一次 HTTP GET 请求获取完成的最终状态(详情请参阅步骤 2),或等待 EVO Payment 的通知 Webhook。
2.
capture.transAmount:完成的币种和金额,必填,从您的请求中原样返回。
3.
capture.merchantTransInfo:完成的参考信息对象,由您的服务端生成,必填,从您的请求中原样返回。
4.
capture.evoTransInfo:完成的参考信息对象,由 EVO Payment 生成,必填。包含 evoTransID、evoTransTime、traceNum(可选),以及部分 PSP(如 Visa 或 Mastercard)的 retrievalReferenceNum。
5.
capture.pspTransInfo:完成的参考信息对象,由 PSP 生成,可选。包含 pspTransID、pspTransTime 和 authorizationCode。如果 PSP 返回了这些信息,EVO Payment 会将其转发给您的服务端。
6.
capture.billingAmount 和 capture.billingFXRate:用户账单币种及请款金额,以及 capture.transAmount.currency 与 capture.billingAmount.currency 之间的汇率,可选。如果 PSP 返回了这些信息,EVO Payment 会将其转发给您的服务端。适用于 PSP 进行货币转换的部分电子钱包支付,或您开通 DCC 功能的部分银行卡支付。详情请联系 EVO Payment 客户经理。
7.
capture.convertTransAmount 和 capture.convertTransFXRate:交易发送至 PSP 时,EVO Payment 根据 transAmount 及 transAmount.currency 到其他币种的汇率计算出的币种和金额,以及 capture.transAmount.currency 与 capture.convertTransAmount.currency 之间的汇率,可选。当您在 EVO Payment 开通货币转换功能且本次完成使用了货币转换时,会提供该汇率。详情请联系 EVO Payment 客户经理。
以下是请求成功的响应示例:

步骤 2:查询请款结果#

如果 capture.status 为 Received,且您未使用 Accept Notification(接收通知)Webhook,可以向 EVO Payment 查询最终结果。
您可以从服务端向 EVO Payment 以下接口发起 HTTP GET 请求:
/g2/v1/payment/mer/{sid}/capture
并指定以下参数:
参数是否必填说明
merchantTransIDM初始完成的 merchantTransInfo.merchantTransID。
以下是查询请款结果的示例:
以下是 GET 响应示例,POST 响应与 GET 响应类似:

异常处理#

向 EVO Payment 发起 HTTP POST 请求时:建议请求发送后至少等待 45 秒。如果在该时间内未收到响应,需要向 EVO Payment 查询结果,请参阅步骤 2 发起请求。
向 EVO Payment 发起 HTTP GET 请求时:您可以多次发起请求直至获取结果,建议每次后续请求前至少等待 45 秒。如果多次请求后仍无法获取结果,可以改为重新发起一次完成请求。
上一页
MPM static QR code
下一页
Cancel
Built with