千家信息网

微信公众平台开发微信支付报关接口的示例分析

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要为大家展示了"微信公众平台开发微信支付报关接口的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"微信公众平台开发微信支付报关接口的示例分
千家信息网最后更新 2025年01月31日微信公众平台开发微信支付报关接口的示例分析

这篇文章主要为大家展示了"微信公众平台开发微信支付报关接口的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"微信公众平台开发微信支付报关接口的示例分析"这篇文章吧。

一、报关接口API

接口地址

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

是否需要证书

不需要。

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

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

字段名变量名必填类型示例值说明
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名,详见签名生成算法
公众账号IDappidString(32)wxd678efh667hg6787微信分配的公众账号ID
商户号mch_idString(32)1230000109微信支付分配的商户号
商户订单号out_trade_noString(32)20150806125346商户系统内部的订单号
微信支付订单号transaction_idString(28)1000320306201511078440737890微信支付返回的订单号
海关customsString(32)SHANGHAI

NO 无需上报海关

GUANGZHOU 广州

HANGZHOU 杭州

NINGBO 宁波

ZHENGZHOU_BS 郑州(保税物流中心)

CHONGQING 重庆

XIAN 西安

SHANGHAI 上海

ZHENGZHOU_ZH 郑州(综保区)

SHENZHEN 深圳

商户海关备案号mch_customs_noString(32)123456商户在海关登记的备案号,customs非NO,此参数必填
关税dutyInt888关税,以分为单位

以下字段在拆单或重新报关时必传

字段名变量名必填类型示例值描述
商户子订单号sub_order_noString(32)20150806125346商户子订单号,如有拆单则必传
币种fee_typeString(3)CNY微信支付订单支付时使用的币种,暂只支持人民币CNY,如有拆单则必传。
应付金额order_feeInt888子订单金额,以分为单位,不能超过原订单金额,order_fee=transport_fee+product_fee(应付金额=物流费+商品价格),如有拆单则必传。
物流费transport_feeInt888物流费用,以分为单位,如有拆单则必传。
商品价格product_feeInt888商品费用,以分为单位,如有拆单则必传。

以下字段在微信缺少用户信息时必传,如果商户上传了用户信息,则以商户上传的信息为准。

字段名变量名必填类型示例值描述
证件类型cert_typeString(32)IDCARD暂只支持身份证,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;
证件号码cert_idString(64)330821198809085211身份证号,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;
姓名nameString(64)张三用户姓名,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;

举例如下:

   wx2421b1c4370ec43b   ZHENGZHOU_BS   D00411   1262544101   13110   15112496832609   13110   8FF6CEF879FB9555CD580222E671E9D4   1006930610201511241751403478   0   CNY   15112496832609001   

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

应答参数列表

字段名变量名必填类型示例值说明
返回状态码return_codeString(16)SUCCESS

SUCCESS/FAIL

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

返回信息return_msgString(128)签名失败

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

签名失败

参数格式校验错误

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

字段名变量名必填类型示例值描述
签名类型sign_typeString(32)MD5暂只支持MD5
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名,详见签名生成算法
公众账号IDappidString(32)wxd678efh667hg6787微信分配的公众账号ID
商户号mch_idString(32)1230000109微信支付分配的商户号
业务结果result_codeString(16)SUCCESSSUCCESS/FAIL
错误代码err_codeString(32)SYSTEMERROR详细参见错误列表
错误代码描述err_code_desString(128)系统错误错误返回的信息描述

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

字段名变量名必填类型示例值描述
状态码stateString(2)UNDECLARED

状态码

UNDECLARED -- 未申报

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

PROCESSING -- 申报中

SUCCESS -- 申报成功

FAIL-- 申报失败

EXCEPT --海关接口异常

微信支付订单号transaction_idString(28)1000320306201511078440737890微信支付返回的订单号
商户订单号out_trade_noString(32)20150806125346商户系统内部的订单号
商户子订单号sub_order_noString(32)20150806125346商户子订单号,如有拆单则必传
微信子订单号sub_order_idString(32)20150806125346微信子订单号
最后更新时间modify_timeString(14)20091227091010最后更新时间,格式为yyyyMMddhhmmss,如2009年12月27日9点10分10秒表示为20091227091010。时区为GMT+8 beijing。该时间取自微信服务器

错误码

名称描述原因解决方案
132011004参数错误报关时仅传入订单号,不传入子订单号(sub_order_no)时,不能填费用信息,须以支付系统中的值为准请检查参数是否都正确
132021028交易币种与商户结算币种不一致】报关时传入子订单号(sub_order_no)时,币种参数(fee_type)必填请检查所传币种参数(fee_type)是否为空
MCHID_NOT_SET商户号未设置商户号为必传参数,请求时必传请检查商户号是否为空
MCHID_INVALID_LENGTH无效的商户号长度报关接口只支持12开头10位数字的商户号请检查商户号长度是否为10位
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_EXISTAppId未设置(sub_order_no)appid为必传字段请检查appid是否正确
MCHID_NOT_EXIST商户号(mch_id)未设置MCH_ID为必传字段请检查mch_id是否正确
AUTHORITY_NOT_FOUND未开通自助清关功能须先开通自助清关功能才可成功调用接口请检查是否已开通自助清关功能,开通路径:微信支付商户平台-产品中心-自助清关中申请开通。
NO_AUTH无权限未获得此接口的调用权限请检查当前商户号是否已获得此接口的调用权限

二、SDK实现

sdk定义

三、调用方式

三、返回结果

发送数据如下

array(6) {  ["appid"]=>  string(18) "wxa8092dd025e45123"  ["mch_id"]=>  string(10) "1238298123"  ["out_trade_no"]=>  string(22) "SH20160824095750086988"  ["transaction_id"]=>  string(28) "4006742001201608242098415582"  ["customs"]=>  string(6) "NINGBO"  ["mch_customs_no"]=>  string(10) "3302461123"}

接收到的数据如下

array(12) {  ["return_code"]=>  string(7) "SUCCESS"  ["return_msg"]=>  string(6) "成功"  ["sign"]=>  string(32) "91EFCEEAAD4322F331F3F63C4D8F1279"  ["appid"]=>  string(18) "wxa8092dd025e45123"  ["mch_id"]=>  string(10) "1238298123"  ["result_code"]=>  string(7) "SUCCESS"  ["err_code"]=>  string(1) "0"  ["err_code_des"]=>  string(2) "OK"  ["state"]=>  string(9) "SUBMITTED"  ["transaction_id"]=>  string(28) "4006742001201608242098415582"  ["out_trade_no"]=>  string(22) "SH20160824095750086988"  ["modify_time"]=>  string(14) "20160825111049"}

以上是"微信公众平台开发微信支付报关接口的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

商户 订单 订单号 海关 信息 检查 支付 参数 字段 接口 金额 示例 用户 类型 错误 币种 系统 备案号 公众 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 我的华为连接不到数据库 主机屋连接不上数据库 珠海毕云天网络技术有限公司 网络安全防范小常识 数据库默认端口号是多少 服务器操作系统微软 把自己的网页发布到web服务器 男朋友涉及违法软件开发 腾讯网络安全精英卡 db2数据库软件是 门窗软件开发技术 浙江工程oa管控软件开发平台 微信公众号软件开发招标文件 数据库安全是DBA的职责吗 计算机网络技术通讯网络方向 租用服务器怎么安全 服务器管理器如何改时间 车架号数据库 广州质量网络技术开发服务价格 网络安全简单又漂亮手抄报 为什么服务器价格不一样呢 奉贤区专业软件开发产品介绍 图片数据库搭建 网络安全与执法有哪些好的学校 商务局的网络技术岗位做什么 嵌入式软件开发和硬件 oracle数据库正版 中控服务器安全性会产生瓶颈 erp实施顾问要懂软件开发吗 亿速云高防服务器
0