测试地址:http://116.228.64.55:28082/yst-service-api/tx/handle
生产地址:https://ibsapi.allinpay.com/yst-service-api/tx/handle
接口代码(transCode):2294
功能说明:
支持消费申请、担保消费申请(已支付确认、未支付确认)、转账订单(仅支持平台转账退款)、储值卡核销、平台储值卡充值订单发起退款,支持1年内的订单发起退款(特殊情况,如遇渠道侧为微信、支付宝的,则退款期限为180天)。
退款情况说明:
1. 发起退款时,请确保退款账户(原订单的收款人账户)中有足够的可用余额;
2. 支持全额退款、部分金额退款,退款金额不得超过原订单金额;
3. 退款资金原路返回;
4. 原订单中含营销账户金额:
(1)上送营销退款金额,则原路返回
(2)不上送营销退款金额,则退款金额不能大于原订单的支付金额”,即退款金额=“原订单金额-营销金额”;
5. 原订单中含抽佣金额
(1)-不退“平台抽佣金额”:退款总金额需小于等于原订单的“订单金额”-“平台抽佣金额”的值;
(2)退“平台抽佣金额”:退款总金额需小于等于原支付订单的订单金额,退款时平台抽佣退款金额需小于等于原支付订单的平台抽佣金额;
6. 原订单有分账,支持分账金额全额退款、部分退款,根据是否上送“分账退款金额”做如下退款金额判断
(1)不上送:则收款人退款金额不能大于“收款金额-分账金额”;
(2)上送:分账退款金额不能大于分账金额;分账资金从分账收款人到收款人,再从收款人到付款人,最后原路退回(外部渠道或应用营销账户);
7. “是否需要调拨资金”字段,当上送“1:是”,系统自动从收付通调拨退款资金到收银宝用于退款的功能,无论资金调拨是否成功均会向收银宝发起订单退款并响应“资金退款调拨状态”、“调拨金额”。
8. 仅“通联管理”支持调拨资金;资金调拨时,先查询收银宝余额,足够则直接发起退款申请,余额不足则最多查询3次后,调用退款接口完成退款。
注: 调拨资金时,会影响收付通资金变动,为了避免提现时因收付通余额不足而导致提现失败,需根据收银宝余额真实情况,谨慎上送此字段。
9. 支持储值卡订单核销退款,资金原路返回;
(1)-不退“平台抽佣金额”:退款总金额需小于等于原订单的“订单核销金额”-“平台抽佣金额”的值;
(2)退“平台抽佣金额”:退款总金额需小于等于原订单的订单金额,退款时平台抽佣退款金额需小于等于原支付订单的平台抽佣金额;
10.“是否允许收款人垫资”字段,当上送“1:是”时,允许退款的资金全部从收款方出,不从分账方出;否则,退款的资金来源必须和原消费入金的资金来源保持一致。
11.支持收银宝微信订单预消费退款:
(1)以下订单类型,均支持退款(包括已经担保确认的订单)。
订单类型 |
订单子类型 |
是否支持退款 |
消费 |
微信订单预消费 |
是 |
消费 |
微信订单完成 |
是 |
担保消费 |
微信订单预消费 |
是 |
担保消费 |
微信订单完成 |
是 |
担保消费 |
单订单担保确认 |
是 |
担保消费 |
单会员担保确认 |
是 |
(2)云商通退款处理逻辑说明:
退款申请时,根据商户订单号,检查云商通本地的订单是否已完成(微信订单完成):
收银宝侧交易 |
云商通侧交易 |
处理说明 |
预消费 |
预消费 |
1. D日退款交易申请时: (1)仅允许全额退款 (2)不冻结退款资金,直接发送渠道退款(不动账) 2. D+1日收银宝对账单: 无该笔预消费交易、及退款交易的对账单 |
已完成 |
已完成 |
1. D日退款交易申请时: (1)支持部分退款 (2)冻结退款资金,根据商户订单号匹配到该笔订单对应的微信订单预消费的订单,用预消费那笔订单的参数,发送渠道退款(动账) 2. D+1日收银宝对账单: (1)D日退款的交易:将该笔订单与云商通退款订单核对。 |
业务请求参数
字段 |
字段类型 |
字段长度 |
必填 |
字段名称 |
说明 |
reqTraceNum |
String |
50 |
是 |
商户订单号-退款订单号 |
|
orgRespTraceNum |
String |
40 |
是 |
原通联订单号 |
原消费、担保消费、平台转账订单 |
orderAmount |
Long |
20 |
是 |
退款总金额 |
单位:分。 1.【消费申请】退款, 上送退款列表:退款总金额=订单退款列表中(退款金额)之和; 不上送退款列表:退款总金额,不能大于原订单金额-平台抽佣金额-分账金额 2.【担保消费申请】退款:退款总金额=订单退款列表中(退款金额)之和; 3. 【转账申请】退款,“退款总金额”不能大于转账金额。 |
promotionAmount |
Long |
20 |
否 |
营销退款金额 |
单位:分 1.不能超过退款总金额; 2.不能超过原订单营销金额; 3.支持部分退款。 4.如不填,则不退营销退款金额,则“退款总金额”不能超过“原订单的订单金额-营销金额” |
refundDetail |
JSONArray |
否 |
订单退款列表 |
1.【消费申请】退款: (1)需要“平台抽佣退款或订单分账退款”时,需上送(仅支持1个列表); (2)不上送时,则不退款平台抽佣及分账退款资金;退款总金额不能大于“原订单订单金额-分账金额-平台抽佣金额” 2.【担保消费申请】退款,必填; A.未担保确认:从应用担保户退款 B.已担保确认:从收款人簿记账户退款; 3.【转账申请】退款,不用上送 |
|
svcRefundDetail |
JSONArray |
否 |
储值卡核销退款列表 |
【储值卡订单核销】退款,必填 |
|
isFundAllocation |
String |
1 |
否 |
是否需要调拨资金 |
0:否 1:是 注:默认“0:否”; 仅“通联存管”支持上送“1:是”,上送“1”,则从收付通将资金调拨回收银宝,实现退款。 |
isAdvancePay |
String |
1 |
否 |
是否允许收款人垫资 |
0:否 1:是 注:默认“0:否”; 当上送“1:是”时,允许退款的资金全部从收款方出,不从分账方出 |
respUrl |
String |
256 |
否 |
后台通知地址 |
如果不填,则不通知。 退款成功、失败时,均发送通知 |
chnlDiscAmt |
JSONObject |
否 |
优惠信息 |
此字段只适用于银联云闪付单品优惠交易的退货,含单品优惠交易只能整单退款,不支持部分退款 |
|
summary |
String |
50 |
否 |
摘要 |
透传渠道 |
extendParams |
String |
200 |
否 |
扩展信息 |
接口将原样返回,不可包含“|”及换行符+,空格,/,?,%,#,&,=等特殊字符,最多100个字符 |
订单退款列表详情JSON(refundDetail)
字段 |
字段类型 |
必填 |
字段名称 |
说明 |
signNum |
String |
是 |
商户会员编号 |
原消费、担保消费订单的收款人 |
orderAmount |
Long |
是 |
退款金额 |
单位:分 |
acctType |
String |
否 |
账户类型 |
注:仅【担保消费申请】订单退款,需填写; |
couponAmount |
Long |
否 |
平台抽佣退款金额 |
【担保消费申请】当账户类型上送从“1:薄记账户”时,可上送平台抽佣退款金额 |
sepDetail |
JSONArray |
否 |
分账退款列表 |
【担保消费申请】当账户类型上送从“1:薄记账户”时,可上送分账金额 |
储值卡核销退款列表(svcRefundDetail)
字段 |
字段类型 |
字段长度 |
必填 |
字段名称 |
说明 |
signNum |
String |
|
是 |
商户会员编号 |
原储值卡核销订单的收款人 |
orderAmount |
Long |
|
是 |
储值卡核销退款金额 |
单位:分 |
couponAmount |
Long |
|
否 |
平台抽佣退款金额 |
单位:分 |
sepDetail |
JSONArray |
|
否 |
分账退款列表 |
分账退款列表详情JSON(sepDetail)
字段 |
字段类型 |
必填 |
字段名称 |
说明 |
signNum |
String |
是 |
商户会员编号 |
原订单消费订单、担保消费确认订单的分账收款人 如果是平台,则填#yunBizUserId_B2C# |
amount |
Long |
是 |
分账退款金额 |
单位:分 不大于原分账金额; |
remark |
String |
否 |
备注 |
业务响应参数
字段 |
字段类型 |
字段长度 |
必填 |
字段名称 |
说明 |
result |
String |
1 |
否 |
订单状态 |
订单成功时会发订单结果通知商户。 |
|
|
|
|
|
|
reqTraceNum |
String |
50 |
是 |
商户订单号 |
|
respTraceNum |
String |
40 |
是 |
通联订单号 |
|
extendParams |
String |
200 |
否 |
扩展信息 |
接口将原样返回,最多50个字符,不可包含“|”特殊字符 |
channelParamInfo |
JSONObject |
否 |
渠道参数信息 |
渠道返回时有值 |
|
respCode |
String |
5 |
是 |
业务返回码 |
00000:代表成功 66666、66667:处理中,即当前的请求已受理,需要继续调用关联的确认类接口,或通过发起订单查询、等待异步通知,来获取处理状态。 其他返回码:均代表失败 |
respMsg |
String |
200 |
是 |
业务返回说明 |