授权
授权
在消费者使用信用卡发起支付时,您需要调用 POST Payment
接口发起支付。当 EVO Cloud 处理完成后,您将收到支付结果。
主要流程如下:
在调用
Payment
接口时需要包含但不限于以下参数,字段详情参考 API 文档:captureAfterHours
:Capture 延迟时间。根据上送的时间进行 capture,将订单状态改为 Captured 并对接入方发送异步通知。不上送默认为选择手动 capture,上送 0 表示立即 capture。paymentMethod.type
:表明支付方式的字段,如果是卡交易则使用card
。paymentMethod.card
:包含消费者卡信息的结构体。当paymentMethod.type
为card
时必填。transAmount
:包含交易金额和交易币种的结构体。merchantTransInfo
:包含商户订单号等信息的结构体。pspInfo
:包含卡组织资质信息的结构体。transInitiator
:包含消费者设别信息的结构体。
检查 EVO Cloud 应答中的
payment.status
字段内容。如果字段的值为Captured
、Authorised
或Capturing
(取决于captureAfterHours
字段的值)则表示交易成功,否则就需要查看result.code
以及result.message
来查看交易失败原因。
TIP
captureAfterHours
与 payment-status
的关系如下
captureAfterHours | payment.status | 解释 |
---|---|---|
0 | Captured | 支付成功,无需后续操作,交易将会被清算 |
1 - 168 | Capturing | 授权成功,延迟清算中,交易将在延迟时间结束后清算,您也可以通过调用 POST Capture 接口提前触发清算 |
None | Authorised | 授权成功,需要您主动调用 POST Capture 接口触发清算 |
如果您没有收到来自 EVO Cloud 的应答报文,则需要您调用
GET Payment
来查询交易结果。当收到查询应答时,您同样也需要通过payment.status
字段内容来判断交易结果,判断方式与第 2 步一致。如果交易失败,您需要通过payment.failureCode
以及payment.failureReason
来查看交易失败原因。如果您在
POST Payment
请求中上送了webhook
并且交易的payment.status
为Captured
、Authorised
或Capturing
,您也可以通过异步通知来获取交易结果,异步通知中的eventCode
为Payment
。同样也需要通过payment.status
字段内容来判断交易结果,判断方式与第 2 步一致。向消费者展示付款结果。