# AllPay报关接口规范说明文档V5.0.0 > [上海偶可贝网络科技有限公司](https://www.goallpayx.com) > > - 版本信息:中文 V5.0.0 > - 更新时间:2019 年 5 月 ## 1.概述 本文档规定了商户与AllPay之间的海关申报产品进行联机交易时使用的报文接口。 ## 2.验签说明 ``` 1.对于发送到 AllPay 系统的 POST 请求报文,其中所有传入参数(除 signature 参数外)按照字段名的 ASCII 码从小到大排序后(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 String1。 2.在 String1 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 Key(接入 AllPay 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行加密运算,得到 signature 的值。 3.示例签名串 acqID=99020344&charSet=UTF-8&customs_code=3302462548&customs_name=宁波鑫海通达仓储服务有限公司&customs_place=GUANGZHOU_ZS&merID=000000000000016&merReserve=dd&orderCurrency=CNY&orderNum=ge6VYVeYbM2TUYkVgPhOZQJmqnoQ&origOrderNum=20190425061047&paymentSchema=WX&productPrice=3&signType=MD5&signature=12a0e499149f5d98b9d439dbe0e1ac9d&tarPrice=0&transTime=20190522171245&transType=DECL&transportPrice=0.1&version=VER000000005 ``` ## 3.通用API说明 统一支持POST和GET请求,支持form和JSON格式提交参数。 ### 3.1 通用 API 接入地址 | 交易名称 | 开发调试地址 | 生产交易地址 | | -------- | ------------------------------------------------ | -------------------------------------------- | | 申报 | https://testapi.allpayx.com/custom/directDeclare | https://api.allpayx.com/custom/directDeclare | | 申报查询 | https://testapi.allpayx.com/custom/query | https://api.allpayx.com/custom/query | ### 3.2 申报接口 1.请求报文格式 | 参数 | 类型 | 属性 | 描述 | | ------------- | ----------- | ---- | ---------------------------------------------------------- | | version | String(12) | M | 统一填写为“VER000000005” | | charSet | String(6) | M | 统一填写为“UTF-8” | | transType | String(4) | M | 交易类型代码:“DECL” | | orderNum | String(60) | M | 报关订单号:商户自行定义,需保证同一商户号下订单号不能重复 | | origOrderNum | String(60) | M | 支付成功的订单号 | | orderCurrency | String(3) | M | 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD"。当前只支持CNY报关 | | customs_code | String(64) | M | 商户海关备案编码 | | customs_name | String(128) | M | 商户海关备案名称 | | customs_place | String(128) | M | 海关,详见附件 1 海关列表 | | merID | String(15) | M | 商户 ID,由AllPay 分配 | | acqID | String(11) | M | 收单行 ID "99020344" | | paymentSchema | String(10) | M | 渠道代码。微信:WX | | transTime | String(14) | M | 交易时间,格式:"yyyyMMddHHmmss" | | signType | String(10) | M | MD5或SHA256 | | signature | String(32) | M | 采用 MD5或SHA256 签名 | 2.响应报文格式 | 参数 | 类型 | 属性 | 描述 | | -------------- | ----------- | ---- | --------------------------------- | | version | String(12) | M | 统一填写为“VER000000005” | | charSet | String(6) | M | 统一填写为“UTF-8” | | transType | String(4) | M | “DECL” | | orderNum | String(60) | M | 报关订单号 | | RespCode | String(2) | M | 应答码 00-成功。详见附件 2 应答码 | | RespMsg | String(128) | M | 应答消息 | | customs_code | String(64) | M | 商户在海关报备的编码 | | customs_name | String(128) | M | 商户在海关报备的名称 | | customs_place | String(128) | M | 海关,详见附件 1 海关列表 | | allpayOrderNum | String(64) | M | AllPay系统的转换商户订单号 | | schemaTransId | String(64) | M | 支付渠道的交易ID | | merID | String(15) | M | 商户 ID,由AllPay 分配 | | acqID | String(11) | M | 收单行 ID "99020344" | | paymentSchema | String(10) | M | 渠道代码。微信:WX | | transTime | String(14) | M | 交易时间,格式:"yyyyMMddHHmmss" | | signType | String(10) | M | MD5或SHA256 | | signature | String(32) | M | 采用 MD5或SHA256 签名 | ### 3.3 申报查询接口 1.请求报文格式 | 参数 | 类型 | 属性 | 描述 | | ------------- | ---------- | ---- | ------------------------------- | | version | String(12) | M | 统一填写为“VER000000005” | | charSet | String(6) | M | 统一填写为“UTF-8” | | transType | String(4) | M | 查询填写“INQY” | | orderNum | String(60) | M | 报关订单号 | | merID | String(15) | M | 商户 ID,由AllPay 分配 | | acqID | String(11) | M | 收单行 ID "99020344" | | paymentSchema | String(10) | M | 渠道代码。微信:WX | | transTime | String(14) | M | 交易时间,格式:"yyyyMMddHHmmss" | | signType | String(10) | M | MD5或SHA256 | | signature | String(32) | M | 采用 MD5或SHA256 签名 | 2.响应报文格式 | 参数 | 类型 | 属性 | 描述 | | -------------- | ----------- | ---- | --------------------------------- | | version | String(12) | M | 统一填写为“VER000000005” | | charSet | String(6) | M | 统一填写为“UTF-8” | | transType | String(4) | M | “DECL” | | orderNum | String(60) | M | 报关订单号 | | RespCode | String(2) | M | 应答码 00-成功。详见附件 2 应答码 | | RespMsg | String(128) | M | 应答消息 | | customs_code | String(64) | M | 商户在海关报备的编码 | | customs_name | String(128) | M | 商户在海关报备的名称 | | customs_place | String(128) | M | 海关,详见附件 1 海关列表 | | allpayOrderNum | String(64) | M | AllPay系统的转换商户订单号 | | schemaTransId | String(64) | M | 支付渠道的交易ID | | merID | String(15) | M | 商户 ID,由 AllPay 分配 | | acqID | String(11) | M | 收单行 ID "99020344" | | paymentSchema | String(10) | M | 渠道代码 微信:WX | | transTime | String(14) | M | 交易时间,格式:"yyyyMMddHHmmss" | | signType | String(10) | M | MD5或SHA256 | | signature | String(32) | M | 采用 MD5或SHA256 签名 | ### 4.1 微信海关列表 | 海关名称 | 海关编码 |备注| | ------------------------------------------------------------ | --------------- |---| | 广州(总署版) | GUANGZHOU_ZS |列表中没有的海关,也报送广州(总署版)| | 广州黄埔国检(推送至黄埔国检的订单需分别推送广州(总署版)和广州黄埔国检,即需要请求两次报关接口) | GUANGZHOU_HP_GJ || | 广州南沙国检(推送至南沙国检的订单需分别推送广州(总署版)和广州南沙国检,即需要请求两次报关接口) | GUANGZHOU_NS_GJ || | 杭州(总署版) | HANGZHOU_ZS || | 宁波 | NINGBO || | 郑州(保税物流中心) | ZHENGZHOU_BS || | 重庆 | CHONGQING || | 上海(总署版) | SHANGHAI_ZS || | 深圳 | SHENZHEN || | 郑州综保(总署版) | ZHENGZHOU_ZH_ZS || | 天津(推送订单至天津海关时,需要在商户管理后台同时配置天津海关备案信息与天津国检备案信息;调用报关接口时只需推送天津海关,即请求一次报关接口。) | TIANJIN || ## 5.附件 1 应答码 | 应答码 | 描述 | | ------ | ------------ | | 00 | 成功 | | 01 | 失败 | | 04 | 处理中 | | 61 | 超过限额 | | U1 | 商户不存在 | | U2 | 签名错误 | | U3 | 报文被篡改 | | U4 | 缺失参数 | | U5 | 无效的参数 | | U6 | 重复的订单号 | | U7 | 订单不存在 | | U8 | 参数为空 | | U9 | 系统错误 | | P1 | 渠道未配置 | | P2 | 币种未配置 | ## 6.技术支持 如果您有任何问题,请邮件联系support@allpayx.com