# GoAllPay报关接口规范说明文档V5.0.0 >[上海偶可贝网络科技有限公司](https://www.allpayx.com) > >- 版本信息:中文 V5.0.0 >- 更新时间:2020 年 6 月 ## 1.概述 本文档规定了商户与GoAllPay之间的海关申报产品进行联机交易时使用的报文接口。 ## 2.验签说明 ``` 1.对于发送到 GoAllPay 系统的请求报文,其中所有传入参数(除 signature 参数外)按照字段名的 ASCII 码从小到大排序后(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 String1。 2.在 String1 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 Key(接入 GoAllPay 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行加密运算,得到 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说明 商户服务器和 GoAllPay 网关对接的海关申报相关接口,包括申报、申报查询、申报更新。 ### 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” | | customsDeclarationNo | String(60) | O | 报关订单号,商户自行定义。
注:支付宝和微信可选送该字段,银联不能送该字段。支付宝和微信如果没有送该字段,会把orderNum作为报关订单号。 | | orderNum | String(60) | M | 交易ID:商户自行定义,需保证同一商户号下交易ID不能重复 | | 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,由GoAllPay 分配 | | 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 | 交易ID | | 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 | GoAllPay系统的转换商户订单号 | | schemaTransId | String(64) | M | 支付渠道的交易ID。
注:银联报关需要用该字段作为物流单以及销售单的报关单号 | | merID | String(15) | M | 商户 ID,由GoAllPay 分配 | | 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 | 交易ID | | merID | String(15) | M | 商户 ID,由GoAllPay 分配 | | 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 | 交易ID | | 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 | GoAllPay系统的转换商户订单号 | | schemaTransId | String(64) | M | 支付渠道的交易ID。 | | merID | String(15) | M | 商户 ID,由 GoAllPay 分配 | | 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” | | customsDeclarationNo | String(60) | O | 报关订单号,商户自行定义。
注:支付宝和微信可选送该字段,银联不能送该字段。支付宝和微信如果没有送该字段,会把orderNum作为报关订单号。 | | orderNum | String(60) | M | 申报接口中的交易ID | | 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,由GoAllPay 分配 | | 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 | 交易ID | | 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 | GoAllPay系统的转换商户订单号 | | schemaTransId | String(64) | M | 支付渠道的交易ID | | merID | String(15) | M | 商户 ID,由GoAllPay 分配 | | 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 支付宝海关列表 | 海关名称 | 海关编码 | | ------------------------------------------------------------ | ---------------------- | | 总署 | ZONGSHU | | 杭州海关 | HANGZHOU_ZONGSHU | | 河南保税物流中心 | ZHENGZHOU | | 新郑综合保税区(空港)(先推送HENAN,再推送ZONGSHU) | HENAN | | 宁波海关 | NINGBO | | 上海海关 | SHANGHAI_CBT | | 南沙国检 | NANSHAGJ | | 天津海关(先推送TIANJIN,再推送ZONGSHU) | TIANJIN | | 广州海关(机场)(推送广州机场国检,备案信息需要传企业在广电的备案信息)| GUANGZHOU_AIRPORT | | 广州海关(南沙)(推送广州南沙国检,备案信息需要传企业在广电的备案信息)| GUANGZHOU_NANSHA | | 广州海关(黄埔)(推送广州黄埔国检,备案信息需要传企业在广电的备案信息)| GUANGZHOU_HUANGPU | | 广州海关(沙田)(推送广州沙田国检,备案信息需要传企业在广电的备案信息)| GUANGZHOU_SHATIAN | ### 4.2 微信海关列表 | 海关名称 | 海关编码 | | ------------------------------------------------------------ | --------------- | | 广州(总署版) | GUANGZHOU_ZS | | 广州黄埔国检(推送至黄埔国检的订单需分别推送广州(总署版)和广州黄埔国检,即需要请求两次报关接口) | GUANGZHOU_HP_GJ | | 广州南沙国检(推送至南沙国检的订单需分别推送广州(总署版)和广州南沙国检,即需要请求两次报关接口) | GUANGZHOU_NS_GJ | | 杭州(总署版) | HANGZHOU_ZS | | 宁波 | NINGBO | | 郑州(保税物流中心) | ZHENGZHOU_BS | | 重庆 | CHONGQING | | 上海(总署版) | SHANGHAI_ZS | | 深圳 | SHENZHEN | | 郑州综保(总署版) | ZHENGZHOU_ZH_ZS | | 天津 | TIANJIN | ### 4.3 银联海关列表 | 海关名称 | 海关编码 | | -------------- | ----------------- | | 海关总署 | CUSTOMSHEADOFFICE | | 北京海关 | CUSTOMSHEADOFFICE | | 广州海关 | GUANGZHOU | | 宁波海关 | NINGBO | | 上海海关 | SHANGHAI | 以上海关列表为各渠道支持通过 API 报关的海关,实际支持情况以各渠道更新为准。 ## 5.附件 2 应答码 | 应答码 | 描述 | | ------ | ----------- | | 00 | 成功 | | 01 | 失败 | | 04 | 处理中 | | 61 | 超过限额 | | U1 | 商户不存在 | | U2 | 签名错误 | | U3 | 报文被篡改 | | U4 | 缺失参数 | | U5 | 无效的参数 | | U6 | 重复的订单号 | | U7 | 订单不存在 | | U8 | 参数为空 | | U9 | 系统错误 | | P1 | 渠道未配置 | | P2 | 币种未配置 | | E1 | 身份信息不匹配 | ***注意:银联渠道申请报关后应答码为04处理中,需要过段时间调用申报查询接口确定最终状态。** ## 6.技术支持 如果您有任何问题,请邮件联系support@allpayx.com