收单
收单-批量支付-批量文件规则设计
- 1. 文件名
- 2. 文件大小
- 3. 文件编码
- 4. 文件内容格式
- 4.1 基于分隔符
- 4.2 基于固定位数
- 4.2 基于特殊文件格式
1. 文件名
建议跟批量支付的批次流水保持一致,考虑防重和文件更新的问题。批次流水也需要有对应的规则,比如固定24位,14位日期 + 10位序列号,纯数据+字母等等。
2. 文件大小
明确文件大小,防止恶意大文件上传。文件大小可以根据,文件内订单明细数量的上限,例如规定明细不超过5000条。测试时按照5000条,所有字段都达到规定的最大长度,生成一个文件,看下文件大小,基本就可以了。
3. 文件编码
一般建议是UTF-8
4. 文件内容格式
大致上分三种
4.1 基于分隔符
通过一些间隔符来分隔字段,例如通过短号(,)或者双竖线(||)
例如:
489454747578883060,20210529chNk4NEw0w2SyBeN,10000100,5000,1500000000,20210529chNk4NEw0w2SyBeN补充信息,
2021052909572810010001,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010001
2021052909572810010002,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010002
2021052909572810010003,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010003
2021052909572810010004,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010004
优点:便于阅读,也方便转换成excel文件
4.2 基于固定位数
一种是通过固定位数来分隔字段
例如:
S56 88022900 00049993 190624 0906112203 622609******0048 000000476800 4899 07 201509061122031906248 01 10078087 01 D000000002861 C000000473939 0001 01 000201 802310048993424 000000000000000 000000000000 C000000473939 01080209 000000000000 000000000000 00000000000 7
S56 88022900 00049993 193120 0906114034 622609******0048 000000083800 4899 07 201509061140341931208 01 10078088 01 D000000000503 C000000083297 0001 01 000201 802310048993424 000000000000000 000000000000 C000000083297 01080209 000000000000 000000000000 00000000000 7
S56 88022900 00049993 412544 0906114251 622609******0048 000000009900 4899 07 201509061142514125448 01 10078089 01 D000000000059 C000000009841 0001 01 000201 802310048993424 000000000000000 000000000000 C000000009841 01080209 000000000000 000000000000 00000000000 7
S56 88022900 00049993 403552 0906110059 622609******0048 000000010000 4899 07 201509061100594035528 01 10078085
优点:因为位数固定,可以考虑通过指针直接获取对应的数据内容,不需要完全解析到内存中。性能优化上比较好处理
4.2 基于特殊文件格式
例如:xml格式
<?xml version="1.0" encoding="utf-8" ?>
<root><order><orderNo>2021052909572810010001</orderNo><amount>300000</amount><accNo>623058******1044</accNo></order><order><orderNo>2021052909572810010002</orderNo><amount>30001</amount><accNo>623058******1044</accNo></order>
</root>
优点:便于阅读,结构性强
收单
收单-批量支付-批量文件规则设计
- 1. 文件名
- 2. 文件大小
- 3. 文件编码
- 4. 文件内容格式
- 4.1 基于分隔符
- 4.2 基于固定位数
- 4.2 基于特殊文件格式
1. 文件名
建议跟批量支付的批次流水保持一致,考虑防重和文件更新的问题。批次流水也需要有对应的规则,比如固定24位,14位日期 + 10位序列号,纯数据+字母等等。
2. 文件大小
明确文件大小,防止恶意大文件上传。文件大小可以根据,文件内订单明细数量的上限,例如规定明细不超过5000条。测试时按照5000条,所有字段都达到规定的最大长度,生成一个文件,看下文件大小,基本就可以了。
3. 文件编码
一般建议是UTF-8
4. 文件内容格式
大致上分三种
4.1 基于分隔符
通过一些间隔符来分隔字段,例如通过短号(,)或者双竖线(||)
例如:
489454747578883060,20210529chNk4NEw0w2SyBeN,10000100,5000,1500000000,20210529chNk4NEw0w2SyBeN补充信息,
2021052909572810010001,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010001
2021052909572810010002,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010002
2021052909572810010003,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010003
2021052909572810010004,623058******1044,周强,390b87f83fee82079ed2e0dc400906b0,300000,2021052909572810010004
优点:便于阅读,也方便转换成excel文件
4.2 基于固定位数
一种是通过固定位数来分隔字段
例如:
S56 88022900 00049993 190624 0906112203 622609******0048 000000476800 4899 07 201509061122031906248 01 10078087 01 D000000002861 C000000473939 0001 01 000201 802310048993424 000000000000000 000000000000 C000000473939 01080209 000000000000 000000000000 00000000000 7
S56 88022900 00049993 193120 0906114034 622609******0048 000000083800 4899 07 201509061140341931208 01 10078088 01 D000000000503 C000000083297 0001 01 000201 802310048993424 000000000000000 000000000000 C000000083297 01080209 000000000000 000000000000 00000000000 7
S56 88022900 00049993 412544 0906114251 622609******0048 000000009900 4899 07 201509061142514125448 01 10078089 01 D000000000059 C000000009841 0001 01 000201 802310048993424 000000000000000 000000000000 C000000009841 01080209 000000000000 000000000000 00000000000 7
S56 88022900 00049993 403552 0906110059 622609******0048 000000010000 4899 07 201509061100594035528 01 10078085
优点:因为位数固定,可以考虑通过指针直接获取对应的数据内容,不需要完全解析到内存中。性能优化上比较好处理
4.2 基于特殊文件格式
例如:xml格式
<?xml version="1.0" encoding="utf-8" ?>
<root><order><orderNo>2021052909572810010001</orderNo><amount>300000</amount><accNo>623058******1044</accNo></order><order><orderNo>2021052909572810010002</orderNo><amount>30001</amount><accNo>623058******1044</accNo></order>
</root>
优点:便于阅读,结构性强