退款
在支付成功后,您可以通过调用 refund 接口对成功支付的交易发起退款。
下图为退款流程图:

退款步骤
根据以下步骤开始集成:
- 发起退款请求
- 获取退款结果
步骤 1:发起退款请求
调用 refund 接口发起退款请求。以下是一个退款请求的示例代码:
copy
{
"paymentId": "20181129190741010007000000XXXX",
"refundRequestId": "20181129190741020007000000XXXX",
"refundAmount": {
"value": "100",
"currency": "USD"
},
"refundNotifyUrl": "https://www.baidu.com"
}以下代码展示了一个响应的示例:
copy
{
"result": {
"resultCode": "SUCCESS",
"resultStatus": "S",
"resultMessage": "Success"
},
"refundAmount": {
"value": "100",
"currency": "USD"
},
"refundTime": "2020-10-10T12:01:01+08:30",
"paymentId": "20181129190741010007000000XXXX",
"refundRequestId": "20181129190741020007000000XXXX",
"refundId": "40181129190741020007000000XXXX"
}步骤 2:获取退款结果
Antom 会通过服务器交互将相应的退款结果发送给您,您可以通过以下方法之一获取退款结果:
- 接收异步通知
- 查询退款结果
接收异步通知
接收来自 Antom notifyRefund 发送的异步通知。
以下是退款异步通知请求的代码示例:
copy
{
"notifyType": "REFUND_RESULT",
"refundAmount": {
"currency": "HKD",
"value": "10000"
},
"refundId": "2021080419401080130018866020092XXXX",
"refundRequestId": "amsdemorefund_zhangyikai_zyk_20210804_165236_931",
"refundStatus": "SUCCESS",
"refundTime": "2021-08-04T01:52:37-07:00",
"result": {
"resultCode": "SUCCESS",
"resultMessage": "Success",
"resultStatus": "S"
}当您收到 Antom 的异步通知,您需要按照返回收到确认信息的格式返回响应,但无需做加签处理。您需要对 Antom 发送的支付通知进行验签,关于如何验证通知的签名并做出响应,请参阅处理通知。
无论订单是否退款成功,每个通知请求均需按以下固定格式响应。否则,Antom 会重新发送异步通知:
copy
{
"result": {
"resultCode": "SUCCESS",
"resultStatus": "S",
"resultMessage": "Success"
}
}接收异步通知
除了通过异步通知获取退款结果,您还可以调用 inquiryRefund 接口主动查询退款结果,使用退款阶段中的 refundRequestId 查询退款状态。
以下是退款查询请求的代码示例:
copy
{
"refundRequestId": "REQUEST_20240612202258994"
}以下代码展示了一个响应报文的示例:
copy
{
"refundAmount": {
"currency": "HKD",
"value": "10000"
},
"refundId": "2021080419401080130018866020092XXXX",
"refundRequestId": "amsdemorefund_zhangyikai_zyk_20210804_165236_931",
"refundStatus": "SUCCESS",
"refundTime": "2021-08-04T01:52:37-07:00",
"result": {
"resultCode": "SUCCESS",
"resultMessage": "Success",
"resultStatus": "S"
}
}下表展示了退款查询的响应中 refundStatus 字段可能返回的值,请您根据指引进行处理:
| refundStatus | 信息 | 后续操作 |
| 退款成功。 | 无需进一步操作。 |
| 退款失败。 | 建议更换 refundRequestId 重试。如果问题未解决,联系 Antom 技术支持排查问题。 |
PROCESSING | 退款处理中。 | 建议继续查询,直到获取终态结果或收到退款异步通知。 |