# AllPay报关接口规范说明文档V5.0.0
>[上海偶可贝网络科技有限公司](https://www.allpayx.com)
>
>- 版本信息:中文 V5.0.0
>- 更新时间:2018 年12 月
#### 1. 概述
本文档规定了商户与AllPay之间的海关申报产品进行联机交易时使用的报文接口。
#### 2. 验签说明
```
1.对于发送到 AllPay 系统的 POST 请求报文,其中所有传入参数(除 signature 参数外)按照字段名的 ASCII 码从小到大排序后(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 String1。
2.在 String1 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 Key(接入 AllPay 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行 md5 运算,得到 signature 的值。
3.示例签名串 IDCard=411422199808080415&acqID=99020344&charSet=UTF-8&customerAccount=ab123456&customs_code=3302462548&customs_name=AAAA&customs_place=CUSTOMSHEADOFFICE&merID=000000000000015&merReserve=dd&name=shi kai feng&orderCurrency=CNY&orderNum=kfvWipRWHEboJPh71m7lXkUILutt&origOrderNum=VzVJhPdX18tDu3vgGfNOIgh71LjY&paymentSchema=UP&productPrice=80&signType=MD5&transTime=20181229171552&transType=DECL&transportPrice=10&version=VER0000000052f2c77e3718c47cfb47a89a6fbc9d361
```
#### 3. 通用API说明
商户服务器和 AllPay 网关对接的海关申报相关接口,包括申报、申报查询、申报更新。
##### 3.1. 通用API 接入地址
| 交易名称 | 开发调试地址 | 生产交易地址 |
| ------- | ----------------------------------------- | ------------------------------------------ |
| 申报 | https://testapi.allpayx.com/custom/declare | https://api.allpayx.com/custom/declare |
| 申报查询 | https://testapi.allpayx.com/custom/query | https://api.allpayx.com/custom/query |
| 申报更新 | https://testapi.allpayx.com/custom/update | https://api.allpayx.com/custom/update |
##### 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 | 支付成功的订单号 |
| productPrice | String(12) | M | 商品金额:如 100 元,表示为 100 或 100.00 |
| transportPrice | String(12) | M | 运费金额:如 100 元,表示为 100 或 100.00 |
| tarPrice | String(12) | M | 关税金额:如 100 元,表示为 100 或 100.00 |
| orderCurrency | String(3) | M | 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD" |
| customs_code | String(64) | M | 商户海关备案编码 |
| customs_name | String(128) | M | 商户海关备案名称 |
| customs_place | String(128) | M | 海关,详见附件 1 海关列表 |
| name | String(64) | M | 消费者姓名 |
| IDCard | String(32) | M | 消费者身份证号 |
| customerAccount | String(64) | M | 消费者在商家的注册帐号 |
| businessType | String(2) | O | 保税进口:1,直邮进口:2。如果不填,默认为1保税进口,视申报海关需要填写 |
| merID | String(15) | M | 商户 ID,由AllPay 分配 |
| acqID | String(11) | M | 收单行 ID "99020344" |
| paymentSchema | String(10) | M | 渠道代码。银联:UP,微信:WX,支付宝:AP/APMP |
| 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 | 渠道代码。银联:UP,微信:WX,支付宝:AP/APMP |
| 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 | 渠道代码。银联:UP,微信:WX,支付宝:AP/APMP |
| 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 | 渠道代码。银联:UP,微信:WX,支付宝:AP/APMP |
| transTime | String(14) | M | 交易时间,格式:"yyyyMMddHHmmss" |
| signType | String(10) | M | MD5或SHA256 |
| signature | String(32) | M | 采用 MD5或SHA256 签名 |
##### 3.4. 申报更新接口
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 | 支付成功的订单号 |
| productPrice | String(12) | M | 商品金额:如 100 元,表示为 100 或 100.00 |
| transportPrice | String(12) | M | 运费金额:如 100 元,表示为 100 或 100.00 |
| tarPrice | String(12) | M | 关税金额:如 100 元,表示为 100 或 100.00 |
| orderCurrency | String(3) | M | 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD" |
| customs_code | String(64) | M | 商户海关备案编码 |
| customs_name | String(128) | M | 商户海关备案名称 |
| customs_place | String(128) | M | 海关,详见附件 1 海关列表 |
| name | String(64) | M | 消费者姓名 |
| IDCard | String(32) | M | 消费者身份证号 |
| customerAccount | String(64) | M | 消费者在商家的注册帐号 |
| businessType | String(2) | O | 保税进口:1,直邮进口:2。如果不填,默认为1保税进口,视申报海关需要填写 |
| merID | String(15) | M | 商户 ID,由AllPay 分配 |
| acqID | String(11) | M | 收单行 ID "99020344" |
| paymentSchema | String(10) | M | 渠道代码。银联:UP,微信:WX,支付宝:AP/APMP |
| 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 | 渠道代码。银联:UP,微信:WX,支付宝:AP/APMP |
| transTime | String(14) | M | 交易时间,格式:"yyyyMMddHHmmss" |
| signType | String(10) | M | MD5或SHA256 |
| signature | String(32) | M | 采用 MD5或SHA256 签名 |
#### 4. 附件 1 海关列表
##### 4.1 支付宝海关列表
| 海关名称 | 海关编码 |
| ------------------------------------------------------------ | ---------------------- |
| 杭州海关 | HANGZHOU_ZONGSHU |
| 广州海关 | ZONGSHU |
| 河南保税物流中心 | ZHENGZHOU |
| 新郑综合保税区(空港)(先推送HENAN报送地方国检,再推送ZONGSHU) | HENAN
ZONGSHU |
| 宁波海关 | NINGBO |
| 重庆海关 | ZONGSHU |
| 深圳海关(先推送SHENZHEN_ZS报送地方国检,再推送ZONGSHU) | SHENZHEN_ZS
ZONGSHU |
| 上海海关 | SHANGHAI_CBT |
| 西安海关 | ZONGSHU |
| 南沙国检 | NANSHAGJ |
| 天津海关 | ZONGSHU |
| 合肥海关 | ZONGSHU |
| 苏州海关 | ZONGSHU |
| 广州黄埔海关 | GUANGZHOU_HUANGPU |
##### 4.2 微信海关列表
| 海关名称 | 海关编码 |
| ------------------------------------------------------------ | --------------- |
| 广州(总署版) | GUANGZHOU_ZS |
| 广州黄埔国检(推送至黄埔国检的订单需分别推送广州(总署版)和广州黄埔国检,即需要请求两次报关接口) | GUANGZHOU_HP_GJ |
| 广州南沙国检(推送至南沙国检的订单需分别推送广州(总署版)和广州南沙国检,即需要请求两次报关接口) | GUANGZHOU_NS_GJ |
| 杭州(总署版) | HANGZHOU_ZS |
| 宁波 | NINGBO |
| 郑州(保税物流中心) | ZHENGZHOU_BS |
| 重庆 | CHONGQING |
| 西安 | XIAN |
| 上海(总署版) | SHANGHAI_ZS |
| 深圳 | SHENZHEN |
| 郑州综保(总署版) | ZHENGZHOU_ZH_ZS |
| 天津 | TIANJIN |
| 北京 | BEIJING |
##### 4.3 银联海关列表
| 海关名称 | 海关编码 |
| -------------- | ----------------- |
| 海关总署 | CUSTOMSHEADOFFICE |
| 深圳海关 | SHENZHEN |
| 广州海关 | GUANGZHOU |
| 南沙国检 | NANSHAGUOJIAN |
| 浙江口岸(杭州) | ZHEJIANG |
| 上海海关 | SHANGHAI |
| 郑州经开 | ZHENGZHOUJK |
| 郑州综合 | ZHENGZHOUZH |
以上海关列表为各渠道支持通过 API 报关的海关,实际支持情况以各渠道更新为准。
#### 5. 附件 2 应答码
| 应答码 | 描述 |
| ------ | ----------- |
| 00 | 成功 |
| 01 | 失败 |
| 04 | 处理中 |
| 61 | 超过限额 |
| U1 | 商户不存在 |
| U2 | 签名错误 |
| U3 | 报文被篡改 |
| U4 | 缺失参数 |
| U5 | 无效的参数 |
| U6 | 重复的订单号 |
| U7 | 订单不存在 |
| U8 | 参数为空 |
| U9 | 系统错误 |
| P1 | 渠道未配置 |
| P2 | 币种未配置 |
*注意:银联渠道申请报关后应答码为04处理中,需要过段时间调用申报查询接口确定最终状态。
#### 6. 技术支持
如果您有任何问题,请邮件联系support@allpayx.com