发起异常退款

更新时间:2024.09.27

提交退款申请后,查询退款确认状态为退款异常,可调用此接口发起异常退款处理。支持退款至用户、退款至交易商户银行账户两种处理方式。

  1. 退款至用户时,仅支持以下银行的借记卡:招行、交通银行、农行、建行、工商、中行、平安、浦发、中信、光大、民生、兴业、广发、邮储、宁波银行。
  2. 请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次

# 接口说明

支持商户:
【普通服务商】
请求方式:
【POST】/v3/ecommerce/refunds/{refund_id}/apply-abnormal-refund
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点
【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看

# 请求参数

    Header HTTP头参数
  • Authorization 必填 string
    请参考 签名认证 生成认证信息
  • Accept 必填 string
    请设置为 application/json
  • Content-Type 必填 string
    请设置为 application/json
  • Wechatpay-Serial 必填 string
    【微信支付平台证书序列号】 请求参数中的敏感字段,需要使用微信支付平台证书公钥加密。请设置为该证书的证书序列号。详见敏感信息加解密
    Path 路径参数
  • refund_id 必填 string(32)
    【微信退款单号】 退款单的主键,唯一定义此资源的标识
    Body 包体参数
  • sub_mchid 选填 string(32)
    【二级商户号】 微信支付分配二级商户的商户号。
    二级商户收款必填。
  • individual_auth_id 选填 string(32)
    【个人收款方受理授权ID】 标识一个微信用户在该平台用于个人收款的微信支付账户,平台邀请微信用户完成个人收款授权后获得此ID。
    个人收款必填。
  • out_refund_no 必填 string(64)
    【商户退款单号】 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
  • type 必填 string
    【异常退款处理方式】 可选:退款至用户USER_BANK_CARD、退款至交易商户银行账户MERCHANT_BANK_CARD。
    个人收款只支持退款至用户银行账户。
    可选取值:
    • USER_BANK_CARD: 退款到用户银行卡
    • MERCHANT_BANK_CARD: 退款至交易商户银行账户
  • bank_type 选填 string(16)
    【开户银行】 银行类型,采用字符串类型的银行标识,值列表详见银行类型。仅支持招行、交通银行、农行、建行、工商、中行、平安、浦发、中信、光大、民生、兴业、广发、邮储、宁波银行的借记卡。
    若退款至用户此字段必填。
  • bank_account 选填 string(1024)
    【收款银行卡号】 用户的银行卡账号,该字段需进行加密处理,加密方法详见敏感信息加密说明
    若退款至用户此字段必填。
  • real_name 选填 string(1024)
    【收款用户姓名】 收款用户姓名,该字段需进行加密处理,加密方法详见敏感信息加密说明
    若退款至用户此字段必填。

请求示例

POST

# 应答参数

    200OK
  • refund_id 必填 string(32)
    【微信支付退款订单号】 微信支付退款订单订单号
  • out_refund_no 必填 string(64)
    【商户退款单号】 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
  • transaction_id 必填 string(32)
    【微信支付交易订单号】 微信支付交易订单号
  • out_trade_no 必填 string(32)
    【商户原交易订单号】 返回的原交易订单号
  • channel 选填 string(16)
    【退款渠道】 ORIGINAL—原路退款
    BALANCE—退回到余额
    OTHER_BALANCE—原账户异常退到其他余额账户
    OTHER_BANKCARD—原银行卡异常退到其他银行卡
  • user_received_account 选填 string(64)
    【退款入账账户】 取当前退款单的退款入账方
    1)退回银行卡:
    {银行名称}{卡类型}{卡尾号}
    2)退回支付用户零钱:
    支付用户零钱
    3)退还商户:
    商户基本账户
    商户结算银行账户
    4)退回支付用户零钱通:
    支付用户零钱通
    5)退回支付用户银行电子账户:支付用户银行电子账户
    6)退回支付用户零花钱:支付用户零花钱
    7)退回用户经营账户:用户经营账户
    8)退回支付用户来华零钱包:支付用户来华零钱包
    9)退回企业支付商户:企业支付商户
  • success_time 选填 string(64)
    【退款成功时间】 退款成功时间,退款状态status为SUCCESS(退款成功)时,返回该字段。遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
  • create_time 必填 string(64)
    【退款创建时间】 退款受理时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
  • status 必填 string(16)
    【退款状态】 退款状态:
    SUCCESS—退款成功
    CLOSED—退款关闭。
    PROCESSING—退款处理中
    ABNORMAL—退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台(pay.weixin.qq.com)-交易中心,手动处理此笔退款。
  • amount 必填 object
    【退款金额】 退款金额信息
    • 属性
  • promotion_detail 选填 array[object]
    【营销详情】 优惠退款信息
    • 属性
  • refund_account 选填 string(32)
    【退款出资商户】 REFUND_SOURCE_PARTNER_ADVANCE : 电商平台垫付
    REFUND_SOURCE_SUB_MERCHANT : 二级商户,默认值
    注意:申请退款时可能会出现暂未扣除退款资金的情况,此时不返回本字段,需继续查单确认。
    个人收款不返回本字段。
  • funds_account 选填 string
    【资金账户】 UNSETTLED : 未结算资金
    AVAILABLE : 可用余额
    UNAVAILABLE : 不可用余额
    OPERATION : 运营户
    BASIC : 基本账户(含可用余额和不可用余额)
    ECNY_BASIC : 数字人民币基本账户

应答示例

200 OK

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
反馈
咨询
目录