关单
关单
如果您不确定原授权交易是否完成,您可以通过调用 POST CancelOrRefund
接口将资金退还给消费者。
大圈
小圈
主要流程如下:
当您发起关单时,会用到您在调用
POST Payment
接口时上送的merchantTransInfo.merchantTransID
。 您需要在POST CancelOrRefund
请求的 URL 中添加此参数。以便 EVO Cloud 找到原始的预授权交易,并发起撤销。检查 EVO Cloud 应答中的
cancelOrRefund
字段的值- 如果
cancelOrRefund
为Cancel
则需要检查cancel.status
字段内容。如果字段的值为Success
则表示关单成功,否则就需要查看result.code
以及result.message
来查看交易失败原因。 - 如果
cancelOrRefund
为Refund
则需要检查refund.status
字段内容。如果字段的值为Success
则表示关单成功,否则就需要查看result.code
以及result.message
来查看交易失败原因。
- 如果
如果您没有收到来自 EVO Cloud 的应答报文,则需要您调用
GET CancelOrRefund
来查询交易结果。当收到查询应答时,您同样也需要先判断cancelOrRefund
字段内容,然后再根据对应的xxx.status
来判断交易结果,判断方式与第 2 步一致。如果您在
POST CancelOrRefund
请求中上送了webhook
并且交易的xxx.status
为Success
,您也可以通过异步通知来获取交易结果。同样也需要通过xxx.status
字段内容来判断交易结果,判断方式与第 2 步一致。TIP
CancelOrRefund
接口异步通知的eventCode
为Cancel
或Refund
,取决于原授权交易是否完成。