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

