# 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 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 K1(接入时 ALLPAY 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行 md5 运算,得到 signature 的值。

3.示例签名串 IDCard=411422198902210693&acqID=99020344&charSet=UTF-8&customerAccount=ab123456&customs_code=3302462548&customs_name=AAAA&customs_place=CUSTOMSHEADOFFICE&merID=000000000000015&merReserve=dd&name=zhang bao jiang&orderCurrency=CNY&orderNum=kfvWipRWHEboJPh71m7lXkUILutt&origOrderNum=VzVJhPdX18tDu3vgGfNOIgh71LjY&paymentSchema=UP&productPrice=80&signType=MD5&transTime=20181229171552&transType=DECL&transportPrice=10&version=VER000000005
```



#### 3.通用API说明 

商户服务器和 AllPay 网关对接的海关申报相关接口,包括申报接口,申报查询。

##### 3.1. 通用API 接入地址 

| 交易名称 | 开发调试地址                               | 生产交易地址                               |
| -------- | ------------------------------------------ | ------------------------------------------ |
| 申报接口 | https://testapi.allpayx.com/custom/declare | https://testapi.allpayx.com/custom/declare |
| 申报查询 | 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    | 原交易的商户订单号orderNum                                   |
| 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)   | C    | 保税进口: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(3)   | M    | MD5或SH256                                                   |
| signature       | String(32)  | M    | 采用 MD5或SH256 签名                                         |

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-成功                                |
| 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(3)   | M    | MD5                                           |
| signature      | String(32)  | M    | signature                                     |

##### 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(3)  | M    | MD5                                           |
| signature     | String(32) | M    | 采用 MD5 签名                                 |

2.响应报文格式

| 参数           | 类型        | 属性 | 描述                                          |
| -------------- | ----------- | ---- | --------------------------------------------- |
| version        | String(12)  | M    | 统一填写为“VER000000005”                      |
| charSet        | String(6)   | M    | 统一填写为“UTF-8”                             |
| transType      | String(4)   | M    | “INQY”                                        |
| orderNum       | String(60)  | M    | 订单号                                        |
| RespCode       | String(2)   | M    | 应答码 00-成功                                |
| 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(3)   | M    | MD5                                           |
| signature      | String(32)  | M    | signature                                     |

##### 

### 4.	附件 1 海关列表

##### 4.1 支付宝海关列表

| 海关名称                                                     | 海关编码               |
| ------------------------------------------------------------ | ---------------------- |
| 杭州海关                                                     | HANGZHOU_ZONGSHU       |
| 广州海关                                                     | ZONGSHU                |
| 河南保税物流中心                                             | ZHENGZHOU              |
| 新郑综合保税区(空港)(先推送HENAN报送地方国检,再推送ZONGSHU) | HENAN   ZONGSHU        |
| 宁波海关                                                     | NINGBO                 |
| 重庆海关                                                     | 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.应当码

银联渠道申请报关告后应答码为处理中,需要查询来确定报关状态,银联海关申报查询为04时,表示后端系统处理中,需要过段时间再发起申报查询。 

| 应答码 | 描  述       |
| ------ | ------------ |
| 00     | 成功         |
| 01     | 失败         |
| 04     | 处理中       |
| 61     | 超过限额     |
| U1     | 商户号不存在 |
| U2     | 签名错误     |
| U3     | 报文被篡改   |
| U4     | 缺失参数     |
| U5     | 无效的参数   |
| U6     | 重复的订单号 |
| U7     | 订单不存在   |
| U8     | 参数不能为空 |
| U9     | 系统错误     |
| P1     | 渠道未配置   |
| P2     | 币种未配置   |

### 6 技术支持

如果您有任何问题,请邮件联系: support@allpayx.com 谢谢。