订单退款申请
支付成功后,调用此接口进行退款。支持多次部分金额多笔退款,累计退款的总金额不能大于原支付金额。
⚠️
注意
- 支持单笔支付订单分多次退款,多次退款需要提交原支付订单的外部订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。 一笔退款失败后重新提交,请不要更换退款单号,请使用原外部退款单号
- 退款申请接口如果返回系统无法处理的未知错误码,需要调用退款订单查询接口获取结果
接口说明
请求方式:
posthttps://p.wecard.tencent.com/cloudpay/v1/refundOrder/apply
请求参数
Request
Body 包体
OutRefundId必填
string
退款外部订单号,即业务系统侧退款订单号;
只能是数字、大小写字母、下划线;且在同一个主体下唯一,同一退款单号多次请求只退一笔。
最小长度:6 最大长度:32
OutOrderId必填
string
外部订单号,即业务系统侧订单
最小长度:6 最大长度:60
RefundAmount必填
integer
退款金额;单位:分。支持部分退款
Remark选填
string
退款备注
最小长度:0 最大长度:128
RefundReason选填
string
退款原因
最小长度:0 最大长度:128
ExternalRefundData选填
string
退款渠道扩展字段,第三方通道的扩展信息,根据具体对接的渠道情况传值; 该字段为 json 序列化之后的字符串
最小长度:0 最大长度:1000
NotifyUrl选填
string
退款成功后的回调地址
最小长度:0 最大长度:255
FundAllocateList选填
array
退资金划拨信息。支付通道耦合银行账户体系时必填,否则不用。
数组子类型:object
ProductList选填
array
商品列表
数组子类型:object
ProfitShareInfoList选填
array
分账信息列表
数组子类型:object
WalletRefundInfo选填
object
钱包信息,储值余额退款可传
返回参数
Response
200 OK
Response必填
object
ErrCode 码表
错误代码 | 描述 | 解决方案 |
---|---|---|
SUCCESS | 请求成功 | 需根据 Result 中 RefundStatus 字段判断退款状态 |
FailedOperation.SystemError | 系统未知异常 | 请稍后重试,或进行查单和回调通知确认退款退款订单状态 |
ORDER.INVALID_PARAMETER | 参数有误 | 请根据返回描述修正请求参数 |
ORDER.OPERATE_IS_PROCESSING | 订单存在并发操作 | 当前支付订单同时存在别的请求操作(如退款、关单等),请稍后重试 |
ORDER.ORDER_CANNOT_REFUND | 订单无法退款 | 请确认支付订单状态 ,状态为成功或部分退款才允许退款 |
ORDER.REFUND_AMOUNT_EXCEED | 累计退款金额大于订单金额 | 请检查当前支付订单累计退款金额,是否大于支付订单金额 |
REFUND.APPLY_NOT_PROCESSED | 已存在退款中订单 | 当前这笔支付订单,存在退款中的订单,请先等上一笔退款订单完结再发起 |
ORDER.THIS_RECORD_ALREADY_EXISTED | 该退款流水已存在 | 当前退款流水记录已存在,且已经为成功、失败的终态,请调用查询接口同步状态 |
ChannelOperationError | 下游银行通道业务错误 | 下游通道返回的业务错误,详细原因请参考接口返回的 ErrMessage,请稍后重试 |