订单附加信息提交接口
应用场景
以下为财付通的海关备案信息,一般海关会提供,如果没有请参考下表:
财付通海关备案名称:财付通支付科技有限公司
财付通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 天津(需要推送订单至天津海关时,需要在商户管理后台同时配置天津海关备案信息与天津国检备案信息;调用报关接口时只需推送天津海关,即请求一次报关接口。) 接口文档列表没有的海关,商户在商户平台新增海关备案信息时选“广州(总署)”,备案号和备案名称填商户在海关登记的信息,然后按商户平台登记的信息调用“订单附加信息提交接口”即可 |
商户海关备案号 | 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) | 张三 | 用户姓名。 |
举例如下:
<appid>wx2421b1c4370ec43b</appid>
<customs>ZHENGZHOU_BS</customs>
<mch_customs_no>D00411</mch_customs_no>
<mch_id>1262544101</mch_id>
<order_fee>13110</order_fee>
<out_trade_no>15112496832609</out_trade_no>
<product_fee>13110</product_fee>
<sign>8FF6CEF879FB9555CD580222E671E9D4</sign>
<transaction_id>1006930610201511241751403478</transaction_id>
<transport_fee>0</transport_fee>
<fee_type>CNY</fee_type>
<sub_order_no>15112496832609001</sub_order_no>
</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 | 验核机构包括: |
验核机构交易流水号 | 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 | 无权限 | 未获得此接口的调用权限 | 请检查当前商户号是否已获得此接口的调用权限 |