# 结算记录回调
D+1/T+1回调,D日的成功交易,会在D+1日结算,生成结算记录,结算记录回调给商户端。业务方提供结算回调地址,以接收回调信息 商户端接收到回调之后,返回字符串 SUCCESS,否则系统将进行重试,最多重试16次,间隔次数与时间如下表
第几次重试 | 与上次重试的间隔时间 | 第几次重试 | 与上次重试的间隔时间 |
---|---|---|---|
1 | 10秒 | 9 | 7分钟 |
2 | 30秒 | 10 | 8分钟 |
3 | 1分钟 | 11 | 9分钟 |
4 | 2分钟 | 12 | 10分钟 |
5 | 3分钟 | 13 | 20分钟 |
6 | 4分钟 | 14 | 30分钟 |
7 | 5分钟 | 15 | 1小时 |
8 | 6分钟 | 16 | 2小时 |
交易回调参数
参数名 | 字段名 | 格式 | 必填 | 说明 |
---|---|---|---|---|
req | 请求参数 | JSONArray | 是 | 请求参数 |
req参数JSONArray内部json对象说明
参数名 | 字段名 | 格式 | 必填 | 说明 |
---|---|---|---|---|
callType | 回调类型 | String(10) | 是 | 09, 结算回调 |
isvNo | ISV编号 | String | 是 | ISV编号 |
settleDailyList | 结算列表 | JSONArray | 是 | 结算列表,一个交易日只有一条 |
subMerchantNo | 二级商户号 | String(32) | 是 | 商户端商户号,如果没有,则和平台方商户号一致 |
settleDailyList 参数JSONArray内部json对象说明
参数名 | 字段名 | 格式 | 必填 | 说明 |
---|---|---|---|---|
bankAccName | 银行账户名称 | String | 是 | 银行账户名称 |
bankAccNo | 结算卡号 | String | 是 | 结算卡号 |
bankAccType | 银行卡类型 | String | 特殊 | 暂时无意义,忽略 |
merchantId | 支付商户号 | Number | 是 | 平台支付商户号,支付时使用的smid |
serviceFee | 服务费 | Number | 否 | 服务费,单位 分 |
settleAmount | 结算金额 | Long | 是 | 单位,分 |
failCode | 失败错误码 | String | 否 | 结算失败code |
failDesc | 失败的原因描述 | String | 否 | 结算失败描述 |
settleEndDate | 结算结束时间 | Date | 是 | 结算周期结束时间,2021-04-12T00:00:00 |
settleStartDate | 结算开始时间 | Date | 是 | 结算周期开始时间,2021-04-11T00:00:00 |
settleStatus | 结算状态 | String(20) | 是 | 结算状态 |
settleTime | 结算时间 | Date | 是 | 实际结算时间 |
sourceCode | 支付渠道号 | String(5) | 是 | 结算回调 |
保证结算唯一: 在settleEndDate和settleStartDate之间,保证唯一,因为可能会存在T日交易,T+1因为结算卡问题,导致结算失败,最终结算成功可能在T+N ,N >1,所以在业务系统,保证结算唯一,要以settleEndDate和settleStartDate为唯一尺度。
结算状态 DOED (0,"已受理"), DOING(1,"处理中"), SUCCESS (2,"成功"), FAIL(3,"失败"), DISHONOURED(4,"退票");