跳转到内容

撤销

撤销

当您需要对一笔交易发起撤销时,您可以通过调用 POST Cancel 接口将其撤销。

Note

以下交易类型均支持发起撤销
消费、预授权 以及 预授权完成

主要流程如下:

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

    CAUTION

    如果您需要对预授权完成发起撤销,在 POST Cancel 请求的 URL 中添加的应该是 POST Capture 接口中上送的 merchantTransInfo.merchantTransID

撤销请求报文样例
js
curl 'https://hkg-online-uat.everonet.com/g2/v0/payment/acq/10130014/evo.offline.cancel/T20240306135818963' \
-H 'Authorization: 6323ebe1e60fe42edd39d8d0425e8876fd6c9981536ced4cb9a3b4ef8a178f9b' \
-H 'DateTime: 20240306140712+0800' \
-H 'SignType: SHA256' \
-H 'Content-Type: application/json' \
-H 'MsgID: M20240306140712147' \
-d '{
    "merchantTransInfo": {
        "merchantTransID": "T20240306140712147",
        "merchantTransTime": "2024-03-06T14:07:12+08:00"
    },
    "paymentMethod": {
        "type": "card",
        "card": {
            "posEntryMode": "magnetic",
            "pinFlag":false,
            "termReadability":"6",
            "icCardCondCode":"0",
            "noSecretNoSignFlag":"0",
            "cardInfo": {
                "cardNumber": "4761340000000043",
                "expiryDate": "4912",
                "track2": "6250940500000006=49121219668000356771"
            }
        }
    }
}'
  1. 检查 EVO Cloud 应答中的 cancel.status 字段内容。如果字段的值为 Success 则表示退款成功,否则就需要查看 result.code 以及 result.message 来查看交易失败原因。
  2. 如果您没有收到来自 EVO Cloud 的应答报文,则需要您调用 GET Cancel 来查询交易结果。当收到查询应答时,您同样也需要通过 cancel.status 字段内容来判断交易结果,判断方式与第 2 步一致。如果交易失败,您需要通过 cancel.failureCode 以及 cancel.failureReason 来查看交易失败原因。
  3. 如果您在 POST Cancel 请求中上送了 webhook,您也可以通过异步通知来获取交易结果。同样也需要通过 cancel.status 字段内容来判断交易结果,判断方式与第 2 步一致。