订单附加信息提交接口

更新时间:2024.11.14

应用场景

该接口用于商户提交海关需要的订单附加信息。

以下为财付通的海关备案信息,一般海关会提供,如果没有请参考下表:

财付通海关备案名称:财付通支付科技有限公司

财付通10位海关注册编码:4403169D3W

支付单申报规则:

a.如果没有拆单,就以支付时的out_trade_no和transaction_id、原支付单对应的人民币金额(如有部分退款,减去部分退款金额)申报

b.如果拆单了,就以申报接口传的商户子单号sub_order_no和接口返回的子支付单号sub_order_id、申报接口传的order_fee金额申报

c.拆单的判断标准:调用支付申报接口时,商户传了sub_order_no就认为是拆单

身份信息校验申报规则:

a.身份信息校验不管是否一致,微信支付都只能以系统登记的支付人信息推送海关

b.商户调用修改接口上传新的用户身份信息,微信支付会重新校验

接口链接

URL地址:https://api.mch.weixin.qq.com/cgi-bin/mch/customs/customdeclareorder

重点注意:

请求接口前请先在以下页面提交您的海关信息,所有你需要报关的海关信息都需要提交,且信息真实有效:http://pay.weixin.qq.com/index.php/extend/customs

是否需要证书

请求参数

请求方式:post 数据格式:xml 签名方式:MD5

注意:

商户订单号金额以支付系统记录的为准,无需上传,如有子订单号则必须上传子订单应付金额、物流费、商品价格(应付金额=物流费+商品价格)。

字段名

变量名

必填

类型

示例值

说明

签名

sign

String(32)

C380BEC2BFD727A4B6845133519F3AD6

签名,详见签名生成算法

公众账号ID

appid

String(32)

wxd678efh567hg6787

微信分配的公众账号ID

商户号

mch_id

String(32)

1230000109

微信支付分配的商户号

商户订单号

out_trade_no

String(32)

20150806125346

商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。

微信支付订单号

transaction_id

String(28)

1000320306201511078440737890

微信支付返回的订单号

海关

customs

String(32)

SHANGHAI

GUANGZHOU_ZS 广州(总署版)

HANGZHOU_ZS 杭州(总署版)

NINGBO 宁波

ZHENGZHOU_BS 郑州(保税物流中心)

CHONGQING 重庆

SHANGHAI_ZS 上海(总署版)

SHENZHEN 深圳

ZHENGZHOU_ZH_ZS 郑州综保(总署版)

TIANJIN 天津

ZONGSHU 总署

接口文档列表没有的海关,商户在商户平台新增海关备案信息时选“广州(总署)”,备案号和备案名称填商户在海关登记的信息,然后按商户平台登记的信息调用“订单附加信息提交接口”即可

商户海关备案号

mch_customs_no

String(32)

123456

商户在海关登记的备案号,customs非NO,此参数必填

关税

duty

int

888

关税,以分为单位,非必填项,不会提交给海关

报关类型

action_type

String

ADD

不传,默认是新增

ADD 新增报关申请

MODIFY 修改

 

报关信息

以下字段在拆单或拆单修改时必传

字段名

变量名

必填

类型

示例值

描述

商户子订单号

sub_order_no

String(32)

20150806125346

商户子订单号,如有拆单则必传

币种

fee_type

String(3)

CNY

微信支付订单支付时使用的币种,暂只支持人民币CNY,如有拆单则必传。

应付金额

order_fee

int

888

子订单金额,以分为单位,不能超过原订单金额,order_fee=transport_fee+product_fee(应付金额=物流费+商品价格),如有拆单则必传。

物流费

transport_fee

int

888

物流费用,以分为单位,如有拆单则必传。

商品价格

product_fee

int

888

商品费用,以分为单位,如有拆单则必传。

用户实名信息将以微信侧的为准,推送给海关。以下字段上传后,如与微信侧的信息不一致,会反馈给商户,便于商户收集正确的信息用于订单推送,不影响报关结果。如用户是未实名微信用户,请联系用户完成实名后再报关。

字段名

变量名

必填

类型

示例值

描述

证件类型

cert_type

String(32)

IDCARD

请传固定值IDCARD,暂只支持大陆身份证。

证件号码

cert_id

String(64)

330821198809085211

用户大陆身份证号,尾号为字母X的身份证号,请大写字母X。

姓名

name

String(64)

张三

用户姓名。

举例如下:

1<xml>
2   <appid>wx2421b1c4370ec43b</appid>
3   <customs>ZHENGZHOU_BS</customs>
4   <mch_customs_no>D00411</mch_customs_no>
5   <mch_id>1262544101</mch_id>
6   <order_fee>13110</order_fee>
7   <out_trade_no>15112496832609</out_trade_no>
8   <product_fee>13110</product_fee>
9   <sign>8FF6CEF879FB9555CD580222E671E9D4</sign>
10   <transaction_id>1006930610201511241751403478</transaction_id>
11   <transport_fee>0</transport_fee>
12   <fee_type>CNY</fee_type>
13   <sub_order_no>15112496832609001</sub_order_no>
14</xml>

注:

参数值用XML转义即可,CDATA标签用于说明数据不被XML解析器解析。

应答参数列表

字段名

变量名

必填

类型

示例值

说明

返回状态码

return_code

String(16)

SUCCESS

SUCCESS/FAIL

此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断

返回信息

return_msg

String(128)

签名失败

返回信息,如非空,为错误原因

如:签名失败 等。

以下字段在return_code为SUCCESS的时候有返回

字段名

变量名

必填

类型

示例值

描述

签名类型

sign_type

String(32)

MD5

暂只支持MD5

签名

sign

String(32)

C380BEC2BFD727A4B6845133519F3AD6

签名,详见签名生成算法

公众账号ID

appid

String(32)

wxd678efh567hg6787

微信分配的公众账号ID

商户号

mch_id

String(32)

1230000109

微信支付分配的商户号

业务结果

result_code

String(16)

SUCCESS

SUCCESS/FAIL

错误代码

err_code

String(32)

SYSTEMERROR

详细参见错误列表

错误代码描述

err_code_des

String(128)

系统错误

错误返回的信息描述

以下字段在return_code 和result_code都为SUCCESS的时候有返回

字段名

变量名

必填

类型

示例值

描述

状态码

state

String(32)

UNDECLARED

状态码

UNDECLARED -- 未申报

SUBMITTED -- 申报已提交(订单已经送海关,商户重新申报,并且海关还有修改接口,那么记录的状态会是这个)

PROCESSING -- 申报中

SUCCESS -- 申报成功

FAIL-- 申报失败

EXCEPT --海关接口异常

微信支付订单号

transaction_id

String(28)

1000320306201511078440737890

微信支付返回的订单号

商户订单号

out_trade_no

String(32)

20150806125346

商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。

商户子订单号

sub_order_no

String(32)

20150806125346

商户子订单号,如有拆单则必传

微信子订单号

sub_order_id

String(32)

20150806125346

微信子订单号

最后更新时间

modify_time

String(14)

20091227091010

最后更新时间,格式为yyyyMMddhhmmss,如2009年12月27日9点10分10秒表示为20091227091010。时区为GMT+8 beijing。该时间取自微信服务器

订购人和支付人身份信息校验结果

cert_check_result

String(256)

UNCHECKED

UNCHECKED 商户未上传订购人身份信息

SAME 商户上传的订购人身份信息与支付人身份信息一致

DIFFERENT 商户上传的订购人身份信息与支付人身份信息不一致

验核机构

verify_department

String(16)

UNIONPAY

验核机构包括:
银联-UNIONPAY
网联-NETSUNION
其他-OTHERS(如余额支付,零钱通支付等)

注:商户需将该字段取值UNIONPAY, NETSUNION, OTHERS映射至海关verDept字段的1、2、3

验核机构交易流水号

verify_department_trade_id

String(64)

2018112288340107038204310100000

交易流水号,来自验核机构,如银联记录的交易流水号,供商户报备海关

错误码

名称

描述

原因

解决方案

132011004

参数错误

报关时仅传入订单号,不传入子订单号(sub_order_no)时,不能填费用信息,须以支付系统中的值为准

请检查参数是否都正确

132021028

交易币种与商户结算币种不一致

报关时传入子订单号(sub_order_no)时,币种参数(fee_type)必填

请检查所传币种参数(fee_type)是否为空

MCHID_NOT_SET

商户号未设置

商户号为必传参数,请求时必传

请检查商户号是否为空

MCHID_INVALID_LENGTH

无效的商户号长度

报关接口传入的商户号长度错误

请传入正确的商户号

CUSTOMSCONFIG_NOT_SET

海关配置未设置

报关接口需要商户已配置过海关信息才可以访问

请参照上文中的海关备案指引,进行海关信息报备

FEETYPE_NOT_SET

币种类型未设置

拆单情况下,币种为必填参数

请检查fee_type是否为空

OUTTRADENO_NOT_SET

商户订单号(out_trade_no)未设置

商户订单号为必传参数

请检查商户订单号(out_trade_no)是否为空

TRANSACTION_ID_NOT_SET

微信订单号(transaction_id)未设置

微信订单号(transaction_id)为必传参数

请检查微信订单号(transaction_id)是否为空

INVALID_TRANSACTION_ID

无效的微信订单号长度

微信订单号为28位数字,请确保长度一致

请检查微信订单号(transaction_id)是否正确

CUSTOMS_NOT_SET

海关信息未设置

海关信息为必传字段

请检查海关信息是否为空

CHCUSTOMSNO_NOT_SET

海关备案号未设置

海关备案号为必传字段

请检查备案号是否为空

INVALID_MCHCUSTOMSNO

无效的海关备案号长度

海关备案号一般为6位字符串

请检查海关备案号是否正确

PAYFEE_NOT_MATCH

金额不匹配

报关的订单金额必须和支付的金额一致

请检查报关订单的金额是否正确

INVALID_SUBORDER_NO

无效的子订单号长度(sub_order_no)

子订单号要求是32位以内的字符串

请检查子订单号长度是否正确

APPID_NOT_EXIST

AppId未设置(sub_order_no)

appid为必传字段

请检查appid是否正确

MCHID_NOT_EXIST

商户号(mch_id)未设置

MCH_ID为必传字段

请检查mch_id是否正确

AUTHORITY_NOT_FOUND

未开通自助清关功能

须先开通自助清关功能才可成功调用接口

请检查是否已开通自助清关功能,开通路径:微信支付商户平台-产品中心-自助清关中申请开通。

NO_AUTH

无权限

未获得此接口的调用权限

请检查当前商户号是否已获得此接口的调用权限

 

反馈
咨询
目录
置顶