跨境电商下, 微信和支付宝支付单拆单申报
待后续-完善对碰机制说明
拆单影响因素分析:
- 海关检验-三单对碰
a. 电商企业提供的报关单
b. 支付企业提供的支付清单
c. 物流企业提供的物流运单
本次申报对接主要涉及当订单进行拆单时(不同仓库/供货商), 其对应的支付流水如何进行拆单申报。
支付企业支付单报关
目前主流的两家支付企业:1、支付宝 2、微信
对接注意事项:
1、支付宝的支付单主体partner_id和申报主体partner_id必须一致。
2、支付宝接口中报关金额 amount 虽然string, 但是其位数只能2位
3、注意使用支付单的核验字段进行支付主体的核验, 以免因支付人与海关监管对象不一致而产生海关退单
4、微信报关接口中有关数字都是以分为单位的整形。
5、统一的报关处理流程都是: 先进行一次申报, 申报成功(海关接受成功)后, 再调用查询接口查询申报结果, 从而查出支付企业的报关状态以及支付企业向海关推送的支付单报关单据号, 统一使用该报关单据号进行三单对碰。
报关接口拆单事件:
以下针对多次报关的总订单金额< 多个子订单报关金额情况。
1、微信
微信的接口仔细看其是支持支付单拆单的, 如果拆单了,就以申报接口传的商户子单号sub_order_no和接口返回的子支付单号sub_order_id、申报接口传的order_fee金额申报。
图片.png
当上传了以上字段后, 会额外返回一个子支付单号sub_order_id, 记录下sub_order_id作为报关的支付单据号。
注意
:" 微信将微信交易编号与支付单报关单据号进行了统一, 所以不需要额外返回一个字段显示支付单报关单据号, 拆单只需要记录其订单关联总支付单下的支付单交易编号则可。
2、支付宝
支付宝的接口让人很难知道其是否支持支付单拆单(难道可以拆是行业公理?), 只能大概看的出能够拆订单, 然后支付单的支付单报关单据号与微信不同, 是增加了一个额外返回的字trade_no
(与发过去的trade_no字段名相同, 但是却在返回修改了定义)。
图片.png
测试发现, 当支付宝的拆订单逻辑触发后, 该字段会分别返回不同子订单的支付单据号, 使用其作为报关支付单的三单对碰, 另外, 需要注意商品报关事件编号out_trade_no相同会触发重推判断逻辑, 如果是拆单多次申报不应该被识别为重推。