向企业收银 (B2B 支付)
接口列表
退款成功通知

退款成功通知

当订单退款成功后,微卡收付通平台会将结果通知给接入方。

⚠️

对后台通知交互时,如果收付通收到应答不是成功或超时,收付通认为通知失败,收付通会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但收付通不保证通知最终能成功

  • 同样的通知可能会多次发送给商户系统。商户系统必须能够正确处理重复的通知。 推荐的做法是,当商户系统收到通知进行处理时,先检查对应业务数据的状态,并判断该通知是否已经处理。如果未处理,则再进行处理;如果已处理,则直接返回结果成功。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。

  • 如果在一定时间内(推荐60s)或所有通知频率后没有收到收付通侧回调。商户应调用查询订单接口确认订单状态。

特别提醒: 商户系统对于开启结果通知的内容一定要做签名验证,并校验通知的信息是否与商户侧的信息一致,防止数据泄露导致出现“假通知”,造成资金损失。

通知规则

当订单退款成功后,微卡收付通平台将通知商户系统支付结果,商户系统接收处理,并返回应答。

商户系统对收付通的回调通知进行验签,在处理成功后需要响应 200 HTTP 状态码。验签方式见:回调请求验签

对后台通知交互时,如果收付通收到应答不是成功或超时,收付通认为通知失败,收付通会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但收付通不保证通知最终能成功。(通知频率为 5/5/10/30/60/60/60/60/60/60,单位:秒)

接口说明

请求方式:
post
接入方退款成功回调地址

请求参数

Request
Body 包体
OutRefundId必填
string

退款外部订单号,即业务系统侧退款订单号

最小长度:6     最大长度:32

ChannelRefundId必填
string

微卡收付通退款流水号

最小长度:6     最大长度:100

ThirdRefundId必填
string

第三方支付渠道退款流水号

最小长度:6     最大长度:64

OutOrderId必填
string

外部订单号,即业务系统侧订单

最小长度:6     最大长度:60

ChannelOrderId必填
string

微卡收付通平台订单号

最小长度:6     最大长度:32

RefundStatus必填
string

退款状态。SUCCESS:退款成功;FAILED:退款失败;PROCESSING:退款中。

最小长度:1     最大长度:32

RefundAmount必填
integer

退款金额;单位:分。支持部分退款


FeeAmount选填
integer

手续费,单位:分


RealRefundAmount选填
integer

实际退款金额,单位:分


RefundReason选填
string

退款原因

最小长度:0     最大长度:128

RefundMessage选填
string

退款返回描述,比如失败原因等

最小长度:0     最大长度:128

TimeFinish选填
string

交易完成时间,格式: 2023-03-05 11:54:20

最小长度:1     最大长度:19

PromotionRefundInfos选填
array

优惠退款信息。使用优惠券时返回

数组子类型:object


ResidueAmount选填
string

剩余可退款金额,单位分。当 RefundStatus 为 SUCCESS(退款成功)时,该值有意义,代表该笔退款成功之后订单剩余的可退款金额。该值一旦生成不会再变,即多次退款时,前面退款成功单的 ResidueAmount 值也不会再变。


PayerInfo选填
object

用户信息

请求示例

{
  "OutRefundId": "202304121646124637132255232",
  "ThirdRefundId": "23416faa317623454vcb",
  "RefundStatus": "SUCCESS",
  "RefundAmount": 100,
  "RealRefundAmount": 100,
  "FeeAmount": 1,
  "RefundReason": "用户退货",
  "TimeFinish": "2023-04-12 20:14:41"
}

返回数据

商户系统如果接受并处理回调通知成功,需要返回 200 HTTP 状态码,否则需要返回 5xx 或 4xx 的 HTTP 状态码。
如果接受失败,可以返回 message 字段表述处理失败原因。


腾讯微卡收付通接口文档