1.6 退款
接口说明
1. 目前仅支持半年内的交易订单进行退款,退款金额会原路返回
2. 全额退款会全额退回手续费,部分退款会退回退款部分手续费
3. 退款失败可能是由于待结算资金不足,退款权限未开,POS机还存在找不到订单等原因,请联系运营人员进行处理
4. 退款规则上送说明
(1) 分账维度
1) 消费订单未做过分账:直接调用退款接口发起退款,且无需包含分账规则信息
2) 消费订单已做过分账:直接调用退款接口发起退款,且需包含分账退款规则信息(refund_rule 字段,需与分账规则一致);
特别注意:平台方作为分账方时可全额承担退款金额,商户也可全额承担退款金额,并且分账出去的金额会全部原路返回
(2) 订单状态维度
1) 若 order_status字段为已付款,则无需包含分账规则信息
2) 若 order_status字段为交易完成,则需包含分账退款规则(refund_rule 字段)信息
3) 若 order_status字段为部分确权,则需包含分账退款规则(refund_rule 字段)信息
5. 跨日切的交易(前一日临近24点下单,次日0点后完成付款)在后续退款时会提示发生退款异常,请联系运营人员进行处理>
6. 建议:发起退款时,采用队列方式排队退款。否则若既有后台批量发起退款又有前端商户发起退款的情况下就会容易出现并发问题,进而触发操作过于频繁的失败提示,如下方列表所示:
报错(报错字段:error_message) | 原因 | 解决办法 | 是否锁定 |
---|---|---|---|
0006-待结算余额模式退货记账失败! | 记账失败 | 联系相关运营同事人工处理 | 是 |
商户退款锁定,请联系客服解锁 | 记账失败(已提示0006报错后再次退款) | 联系相关运营同事人工处理 | 可能存在锁定 |
买家不存在 | 用户支付宝/微信已注销 | 线下退款并修改订单状态 | 否 |
交易权限已关闭 | 退款权限未开 | 联系相关运营同事人工处理 | 否 |
1个月之前的订单申请退款请降低频率再重试 | 退款太频繁 | 稍后重新调用退款接口,建议两笔退款操作间隔10s及以上,可解决绝大多数此类问题 | 否 |
您的操作过于频繁,请稍后再试 | 退款太频繁 | 稍后重新调用退款接口 建议两笔退款操作间隔10s及以上,可解决绝大多数此类问题 | 否 |
请求参数说明
service : order.consume.refund
params :
字段名 | 说明 | 参数类型 | 取值 | 是否必选 |
---|---|---|---|---|
order_no | 原订单(需要退款的订单编号) | Long | 必选 | |
out_request_no | 应用平台请求号 | String(32) | 接口调用方上送、唯一 | 必选 |
member_no | 会员标识 | Long | 必须是需退款订单中的付款方,即时消费无付款方会员可不填 | 可选 |
auth_type | 验证方式 | Long | 1:短信验证 | 可选 |
refund_amount | 退款总额, 退款金额<=原订单未退款金额 |
Long | 必选 | |
pay_seq_no | 支付流水号 | String | 交易时返回 | 必选 |
refund_rule | 退款规则,交易已分账时必填 | JSONArray(256) | 详见 | 可选 |
refund_param | 退款参数 | JSONObject | 详见 只有转账支付退款时需要 |
可选 |
remark | 备注 | String(32) | 可选 |
退款规则案例:
[
{
”member_no”: “6634340108147494912”,
”special_account_no”: “S005”,
”amount”: “8000”
}
{
”member_no”: “6634340108147494912”,
”amount”: “2000”
}
]
响应参数说明
response解析后的结果:
字段名 | 说明 | 参数类型 | 取值 | 是否必选 | |
---|---|---|---|---|---|
status | 服务调用是否成功 | String | ”OK”表示成功; “ERROR”表示失败 |
必选 | |
result | JSON Object类型的返回值 | ||||
order_no | 交易订单号 | String | 必选 | ||
order_status | 订单状态 | Long | 详见 | 必选 | |
refund_status | 退款状态 | Long | 详见 | 必选 | |
error_message | 错误信息 | String | 可选 | ||
out_refund_request_no | 外部退款请求号 | String | 必选 | ||
refund_seq_no | 退款流水号 | String | 有退款时必选 | 必选 | |
split_rule_result | 分账会员列表 | JSONArray | 退款完成可选 | 可选 | |
qzt_channel_pay_request_no | 钱账通请求通道的流水号 | String | 支付完成返回 | 可选 | |
channel_trade_no | 渠道交易流水号(收单) | String | 退款完成可选 | 可选 | |
channel_seq_no | 渠道支付流水号(收单) | String | 退款完成可选 | 可选 | |
pay_channel_trade_no | 支付通道交易流水号(支付宝、微信) | String | 退款完成可选 | 可选 | |
refund_time | 退款时间 | String | yyyy-MM-dd HH:mm:ss | 可选 | |
error_code | 错误代码 | 仅当status=error时有效 | 可选 | ||
message | 错误信息 | 仅当status=error时有效 | 可选 |