分账异步通知
1、修订记录
修订记录 | 日期 | 说明 |
---|---|---|
1.0 | 2024.03.26 | 初版 |
2、业务说明
2.1、接口说明
银盛支付对商户的请求数据处理完成后,会将处理的结果数据通过服务器主动通知的方式通知给商户网站。这些处理结果数据就是服务器异步通知参数。注意:
1、接入方接受异步通知结果后,返回success表示该次异步通知成功,银盛将会按成功处理该次异步通知。
2、接入方接收到异步通知后,同步返回非success,银盛认为该次异步通知失败了,银盛将会再通知5次,间隔频率分别为1分钟、5分钟、10分钟、30分钟、60分钟共5次通知。凡是其中一次返回success银盛将会终止通知。
3、同样的通知可能会多次发送给接入方(例如调用接入方超时,接入方返回失败等)。
2.2、接入方接受异步通知接口的要求:
1、接受方式:POST
2、接受主体类型:application/json
3、需要对通知的数据进行验签,验签使用公钥验签,详见demo
4、必须要有一个返回值 该值为String类型。
5、接入方必须能够正确处理重复的通知,以避免函数重入造成的数据混乱。
3、异步通知报文结构
3.1、公共请求参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
timeStamp | String | Y | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" |
src | String | Y | 异步通知来源,固定"pregate" |
reqId | String | Y | 请求流水号 |
charset | String(10) | Y | 编码格式 固定为UTF-8 |
sign | String | Y | 签名,需要银盛公钥验签,详见demo |
bizContent | String | Y | 业务响应数据 json字符串 |
3.2、业务请求参数
(bizContent加密前的json数据明文字符串)参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
tradeDate | String | Y | 交易日期 |
tradeSource | String | Y | 交易来源 |
srcUsercode | String | Y | 发起方用户号 |
srcMercId | String | Y | 发起方商户号 |
payeeUsercode | String | Y | 收款方商户号 |
orderId | String | Y | 原交易订单 |
status | String | Y | 分账状态 。成功状态的值:00; 枚举值: 00: 分账成功 01:受理成功 02:预分账成功 03:无需分账 99:分账失败 |
merLogNo | String | Y | 商户批次号 |
divisionMode | String | Y | 分账模式:01 :比例,02:金额 |
amount | String | Y | 原订单交易金额:长度:10位,单位:分,登记状态或分账失败没有金额返回 |
fee | String | N | 原订单手续费:登记状态或分账失败没有金额返回,长度:10位,单位:分 |
feePayer | String | N | 手续费承担方:长度:10位,单位:分 |
note | String(200) | Y | 备注 |
divList | Array | Y | 分账信息集合:包括分账商户号,分账金额两个域 |
3.2.1 divList具体参数
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
divAmount | String(10) | Y | 分账金额:长度:10位,单位:分 |
divisionMercId | String(32) | Y | 分账商户号 |
4、接入方返回值定义
接入方返回参数为String,不返回和非success都为失败,如果接入方处理失败,可以返回处理失败原因,以供查找问题返回值 | 说明 |
---|---|
success | 成功 |