个人收款-申请退款

更新时间:2024.09.29

当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家账户上。

  1. 交易时间超过一年的订单无法提交退款(按支付成功时间+365天计算)。
  2. 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。 一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号。
  3. 请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次,单笔订单请求频率限制:1qpm,即单笔订单每分钟申请退款请求次数不超过1次。
  4. 每个支付订单的部分退款次数不能超过50次。
  5. 申请退款接口的返回仅代表业务的受理情况,具体退款是否成功,需要通过退款查询接口或退款结果通知获取结果。

# 接口说明

支持商户:
【平台商户】
请求方式:
【POST】/v3/ecommerce/refunds/apply
请求域名:
【主域名】
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
    Body 包体参数
  • individual_auth_id 必填 string(32)
    【商品单个人收款方受理授权ID】 原支付交易对应的个人收款方受理授权ID。
  • sp_appid 必填 string(32)
    【电商平台APPID】 电商平台在微信公众平台申请服务号对应的APPID,申请商户功能的时候微信支付会配置绑定关系
  • combine_transaction_id 必填 string(32)
    【交易单微信支付订单号】 原支付交易对应的交易单微信订单号,从支付通知参数或查询订单返回参数中获取。
  • transaction_id 必填 string(32)
    【微信订单号】 原支付交易对应的微信订单号
  • out_trade_no 选填 string(32)
    【商户订单号】 原支付交易对应的商户订单号
  • out_refund_no 必填 string(64)
    【商户退款单号】 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
  • reason 选填 string(80)
    【退款原因】 若商户传入,会在下发给用户的退款消息中体现退款原因
  • amount 必填 RefundReqAmount
    【订单金额】 订单金额信息
    • 属性
  • notify_url 选填 string(256)
    【退款结果回调url】 异步接收微信支付退款结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 如果参数中传了notify_url,则商户平台上配置的回调地址将不会生效,优先回调当前传的这个地址。
  • funds_account 必填 string
    【资金账户】 若订单处于未结算的状态,可以传入此参数,指定从未结算资金账户进行退款。
    UNSETTLED:未结算资金

请求示例

POST

# 应答参数

    200OK
  • refund_id 必填 string(32)
    【微信支付退款订单号】 微信支付退款订单号
  • out_refund_no 必填 string(64)
    【商户退款单号】 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
  • 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秒。
  • amount 必填 RefundAmount
    【退款金额】 订单退款金额信息
    • 属性
  • promotion_detail 选填 array[PromotionDetail]
    【优惠退款详情】 优惠退款功能信息
    • 属性

应答示例

200 OK

# 错误码

# 公共错误码

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

# 业务错误码

状态码 错误码 描述 解决方案
400 INVALID_REQUEST 请求参数符合参数格式,但不符合业务规则 此状态代表本次请求的退款申请失败,请根据具体的错误提示做相应处理
400 MCH_NOT_EXISTS 商户号不存在 请检查商户号是否正确
401 SIGN_ERROR 签名错误 请检查签名参数和方法是否都符合签名算法要求
403 NO_AUTH 没有退款权限 此状态代表退款申请失败,请检查是否有退这笔订单的权限
403 NOT_ENOUGH 余额不足 根据提示进行充值后重试
403 USER_ACCOUNT_ABNORMAL 用户账户异常或已注销,不能原路退回,请使用其他方式进行退款 此状态代表退款申请失败,商户可自行处理退款。可使用发起异常退款API处理此笔退款
404 RESOURCE_NOT_EXISTS 订单不存在 请检查订单号是否正确且是否已支付,未支付的订单不能发起退款
429 FREQUENCY_LIMITED 频率限制 退款请求频率过高,请降低频率后重试。若要确认退款受理结果可以延迟一段时间后查询。
500 SYSTEM_ERROR 接口返回错误 请不要更换商户退款单号,请使用相同参数再次调用API
反馈
咨询
目录