匿名通过本文主要向大家介绍了微信开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
本文介绍微信支付下的报关接口的开发过程。微信报关是用于商户提交海关需要的订单信息。
一、报关接口API
接口地址
https://api.mch.weixin.qq.com/cgi-bin/mch/customs/customdeclareorder
是否需要证书
不需要。
请求方式:post 数据格式:xml 签名方式:MD5
注意:商户订单号金额以支付系统记录的为准,无需上传,如有子订单号则必须上传子订单应付金额、物流费、商品价格(应付金额=物流费+商品价格)。
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|---|
| 签名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 签名,详见签名生成算法 |
| 公众账号ID | appid | 是 | String(32) | wxd678efh567hg6787 | 微信分配的公众账号ID |
| 商户号 | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商户号 |
| 商户订单号 | out_trade_no | 是 | String(32) | 20150806125346 | 商户系统内部的订单号 |
| 微信支付订单号 | transaction_id | 是 | String(28) | 1000320306201511078440737890 | 微信支付返回的订单号 |
| 海关 | customs | 是 | String(32) | SHANGHAI | NO 无需上报海关 GUANGZHOU 广州 HANGZHOU 杭州 NINGBO 宁波 ZHENGZHOU_BS 郑州(保税物流中心) CHONGQING 重庆 XIAN 西安 SHANGHAI 上海 ZHENGZHOU_ZH 郑州(综保区) SHENZHEN 深圳 |
| 商户海关备案号 | mch_customs_no | 否 | String(32) | 123456 | 商户在海关登记的备案号,customs非NO,此参数必填 |
| 关税 | duty | 否 | Int | 888 | 关税,以分为单位 |
以下字段在拆单或重新报关时必传
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户子订单号 | 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 | 暂只支持身份证,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备; |
| 证件号码 | cert_id | 否 | String(64) | 330821198809085211 | 身份证号,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备; |
| 姓名 | name | 否 | String(64) | 张三 | 用户姓名,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备; |
举例如下:
<xml> <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(2) | UNDECLARED | 状态码 UNDECLARED -- 未申报 SUBMITTED -- 申报已提交(订单已经送海关,商户重新申报,并且海关还有修改接口,那么记录的状态会是这个) PROCESSING -- 申报中 SUCCESS -- 申报成功 FAIL-- 申报失败 EXCEPT --海关接口异常 |
| 微信支付订单号 | transaction_id |
您可能想查找下面的文章:文章分类 |

