跳转到内容

关单

关单

如果您不确定原授权交易是否完成,您可以通过调用 POST CancelOrRefund 接口将资金退还给消费者。

大圈

小圈

主要流程如下:

  1. 当您发起关单时,会用到您在调用 POST Payment 接口时上送的 merchantTransInfo.merchantTransID。 您需要在 POST CancelOrRefund 请求的 URL 中添加此参数。以便 EVO Cloud 找到原始的预授权交易,并发起撤销。

  2. 检查 EVO Cloud 应答中的 cancelOrRefund 字段的值

    1. 如果 cancelOrRefundCancel 则需要检查 cancel.status 字段内容。如果字段的值为 Success 则表示关单成功,否则就需要查看 result.code 以及 result.message 来查看交易失败原因。
    2. 如果 cancelOrRefundRefund 则需要检查 refund.status 字段内容。如果字段的值为 Success 则表示关单成功,否则就需要查看 result.code 以及 result.message 来查看交易失败原因。
  3. 如果您没有收到来自 EVO Cloud 的应答报文,则需要您调用 GET CancelOrRefund 来查询交易结果。当收到查询应答时,您同样也需要先判断 cancelOrRefund 字段内容,然后再根据对应的 xxx.status 来判断交易结果,判断方式与第 2 步一致。

  4. 如果您在 POST CancelOrRefund 请求中上送了 webhook 并且交易的 xxx.statusSuccess,您也可以通过异步通知来获取交易结果。同样也需要通过 xxx.status 字段内容来判断交易结果,判断方式与第 2 步一致。

    TIP

    CancelOrRefund 接口异步通知的 eventCodeCancelRefund,取决于原授权交易是否完成。