# AllPay报关接口规范说明文档V5.0.0 > [上海偶可贝网络科技有限公司](https://www.allpayx.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 | | 西安 | XIAN | | 上海(总署版) | SHANGHAI_ZS | | 深圳 | SHENZHEN | | 郑州综保(总署版) | ZHENGZHOU_ZH_ZS | | 天津 | TIANJIN | | 北京 | BEIJING | ## 5.附件 1 应答码 | 应答码 | 描述 | | ------ | ------------ | | 00 | 成功 | | 01 | 失败 | | 04 | 处理中 | | 61 | 超过限额 | | U1 | 商户不存在 | | U2 | 签名错误 | | U3 | 报文被篡改 | | U4 | 缺失参数 | | U5 | 无效的参数 | | U6 | 重复的订单号 | | U7 | 订单不存在 | | U8 | 参数为空 | | U9 | 系统错误 | | P1 | 渠道未配置 | | P2 | 币种未配置 | ## 6.技术支持 如果您有任何问题,请邮件联系support@allpayx.com