# POS机相关配置与说明



# POS机指令说明

- 00 服务端下发打印文本譬如 00|支付渠道:支付宝当面付|
- 01 仅显示的信息
- 02 输入文本数据，最大30个字节的数据
    
    ```
    |02|01|请输入原交易日期
    
    |02|02|请输入原交易参考号
    
    |02|03|请输入原交易流水号
    
    ```
- 03 输入文本数据，星号回显，最大30个字节的数据
- 04 支持刷卡以及IC插卡，同时上送卡号，有效期，1/2/3磁道
- 05 二维码扫描（最长255）
- 06 显示提示信息，产生随机数，本地记录，然后通信，通信成功后，提示输入密文，和本地存贮随机数进行验证。验证的次数由主机返回
- 07 提示选择是否的确认取消，确认则继续下一步，取消则退出
- 08 显示选择项，按照选择的选项更新交易码。格式如下：交易码~菜单名称&amp;交易码~菜单名称
- 09 首先显示提示信息，提示密文输入，星号回显，需要对密码进行非对称RSA加密
- 0A|00|请输入结算金额 表示结算金额框 0A|02|请输入积分金额$defaultAmount 表示积分抵扣金额($defaultAmount表示初始显示0A|00的输入金额)
- 0B 输入银行卡密码（X9.8算法加密）
- 0C 读行业磁条卡(支持手输，卡号长度不限制，无有效期，上传三个磁道)
- 0D 只上送银行卡卡号及有效期，不上送磁道，加密(3DES)卡号在第2域，有效期在14域
- 0E 只上送SHA1加密的卡号，加密数据在63域40字节ASCII码，跟其他数据用|分割
- 0F 上送SHA1加密的卡号和卡号前六位，加密数据在63域46字节ASCII码，跟其他数据用|分割
- 10 确认上次输入的内容，提示语模板为：请确认输入的金额data是否正确? 显示确认与取消两个按钮，确认按钮继续下一步输入，如无，则直接交易，取消按钮则返回上一步输入位置，由操作人员清除后重新输入
- 11 支持银行非接IC卡读取、是否有卡号、有效期、磁道或其他数据？
- 12 支持行业非接IC卡读取，是否磁道或其他数据？
- 13 清空流水及冲正
- 14 重打印上笔交易
- 15 退出签到状态，重新签到
- 1F 服务端下发小票title信息 譬如 'e-Buy 电子凭证'
- 2F 服务端下发小票交易类型信息 譬如 '交易类型:二维码支付'

ps:

1. 离线隔日退款交易action=refund，菜单需配置05指令来获取traceNo值。

# 收单机构标识

<table id="bkmrk-%E4%B8%8B%E5%8F%91pos%E7%9A%84%E6%A0%87%E8%AF%86%E5%80%BC-%E6%98%93%E7%99%BE%E7%BB%88%E7%AB%AF%E6%A0%87%E8%AF%86%E5%80%BC-%E6%94%B6%E5%8D%95" style="width: 737px;"><thead><tr><th style="width: 129px;">**下发POS的标识值**</th><th style="width: 126px;">**易百终端标识值**</th><th style="width: 167px;">**收单机构**</th><th style="width: 157px;">**AppName**</th><th style="width: 158px;">**二进制位置**</th></tr></thead><tbody><tr><td style="width: 129px;">0x01</td><td style="width: 126px;">1</td><td style="width: 167px;">招行积分（星巴克）</td><td style="width: 157px;">cmbPoint</td><td style="width: 158px;">0000 0001</td></tr><tr><td style="width: 129px;">0x02</td><td style="width: 126px;">2</td><td style="width: 167px;">中信收单（透传）</td><td style="width: 157px;">citicCashpay</td><td style="width: 158px;">0000 0010</td></tr><tr><td style="width: 129px;">0x04</td><td style="width: 126px;">4</td><td style="width: 167px;">嘉联收单</td><td style="width: 157px;">jlpayCashpay</td><td style="width: 158px;">0000 0100</td></tr><tr><td style="width: 129px;">0x08</td><td style="width: 126px;">8</td><td style="width: 167px;">建行收单（间连）</td><td style="width: 157px;">ccbCashpay</td><td style="width: 158px;">0000 1000</td></tr><tr><td style="width: 129px;">0x10</td><td style="width: 126px;">16</td><td style="width: 167px;">建行收单（直连）</td><td style="width: 157px;">ccbCashpay</td><td style="width: 158px;">0001 0000</td></tr><tr><td style="width: 129px;">0x20</td><td style="width: 126px;">32</td><td style="width: 167px;">中信收单</td><td style="width: 157px;">citicCashpay</td><td style="width: 158px;">0010 0000</td></tr><tr><td style="width: 129px;">0x40</td><td style="width: 126px;">64</td><td style="width: 167px;">杉德收单</td><td style="width: 157px;">sandCashpay</td><td style="width: 158px;">0100 0000</td></tr><tr><td style="width: 129px;">0x80</td><td style="width: 126px;">128</td><td style="width: 167px;">杉德预付费</td><td style="width: 157px;">sandPrepay</td><td style="width: 158px;">1000 0000</td></tr></tbody></table>

# Json菜单配置格式

#### **菜单内容**

```
[{
    "iconUrl": "1级菜单icon url",
    "title": "1级菜单名称",
    "action": "",
    "command": "",
    "childrenFunc": [{
        "iconUrl": "2级菜单icon url",
        "title": "2级菜单名称",
        "action": "2级菜单action",
        "command": "2级菜单下发指令"
    },
    {
        "iconUrl": "2级菜单icon url",
        "title": "2级菜单名称",
        "action": "2级菜单action",
        "command": "2级菜单下发指令",
        "platformUrls": [{
            "code": "平台code",
            "url": "平台icon url"
        }]
    }]
}]

```

#### 额外信息**内容（仅webposp使用）**

```
//headPictureList    头部banner轮播图列表

{
    "headPictureList": [{
        "picUrl": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999\_10000&sec=1530714400246&di=9b2f72ab52a845dfacf6526a1e1babe5&imgtype=0&src=http%3A%2F%2Fimg02.tooopen.com%2Fimages%2F20160514%2Ftooopen\_sy\_162520087466.jpg",
        "linkUrl": "http://www.e-buychina.com/"
    },
    {
        "picUrl": "图片url",
        "linkUrl": "点击图片链接url"
    }]
}

```

#### 打印模板**内容（仅posp使用）**

```
#TLV格式
01=积分方式:后台折算
02=销售金额:
03=折抵金额:
04=实付金额:
05=消费积分:
06=订单号码:
07=兑换产品:
08=现场兑换,离柜无效
09=--------------------------------
0A=总计      
0B=[电子凭证]          数量
0C=[积分兑换] 笔数     金额
0D=[身份验证]          数量
0E=交通银行  
0F=招商银行
```

# 出库获取终端映射配置

#### **接口用途**

- 机器出库时，通过机器号获取终端映射（brand，shopNo，deviceNo）
- 请在出库前确保已配置好商户，终端，终端映射以及终端中的序列号。

#### **接口地址**

- `https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/ebuyGetPosConfig`

#### **action**

- ebuyGetPosConfig

**请求参数，中间件===&gt;易百后台**

<table id="bkmrk-%E5%AD%97%E6%AE%B5-%E7%B1%BB%E5%9E%8B-%E6%98%AF%E5%90%A6%E5%BF%85%E5%A1%AB-%E5%AD%97%E6%AE%B5%E6%84%8F%E4%B9%89-%E5%A4%87%E6%B3%A8-p"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>posSn</td><td>String</td><td>否</td><td>机器序列号</td><td>例如：G8703U12345</td></tr></tbody></table>

#### **请求报文举例**

```
  {
    "posSn": "G8703W00519"
  }

```

#### **返回参数，易百后台===&gt;中间件**

<table id="bkmrk-%E5%AD%97%E6%AE%B5-%E7%B1%BB%E5%9E%8B-%E6%98%AF%E5%90%A6%E5%BF%85%E5%A1%AB-%E5%AD%97%E6%AE%B5%E6%84%8F%E4%B9%89-%E5%A4%87%E6%B3%A8-r"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>returnCode</td><td>String</td><td>是</td><td>返回码</td><td>00表示交易成功，其他表示失败</td></tr><tr><td>returnDesc</td><td>String</td><td>是</td><td>返回信息</td><td>交易结果描述或错误原因</td></tr><tr><td>deviceNo</td><td>String</td><td>否</td><td>收银机编号</td><td> </td></tr><tr><td>shopNo</td><td>String</td><td>否</td><td>门店编号</td><td> </td></tr><tr><td>brand</td><td>String</td><td>是</td><td>品牌编号</td><td>如：674</td></tr></tbody></table>

#### **返回报文举例**

```
{
    "returnCode": "00",
    "shopNo": "16171",
    "deviceNo": "1",
    "brand": "674",
    "returnDesc": "SUCCESS"
}

```

#### **返回码表**

"00" , "SUCCESS"

"GRT\_CONFIG\_ERROR01", "POS\_SN NOT EXIST"

"GRT\_CONFIG\_ERROR02", "POS\_SN USED BY MULTI-TERMINAL"

"GRT\_CONFIG\_ERROR03", "TERMINAL IS MISSING"

"GRT\_CONFIG\_ERROR04", "POS CONFIG NOT EXIST"

"GRT\_CONFIG\_ERROR05", "POS CONFIG IS WRONG"

# 收单cardPayment交易特殊逻辑

#### 正交易：

仅当action=cardPayment时，中间件不唤醒刷卡界面，直接组装报文请求易百后台，等待二次交互或收单指令返回。

刷卡输密由子应用发起。

#### 反交易（当action=void或action=refund）：

当acquirer字段不为空时，中间件不唤醒刷卡界面，直接组装报文请求易百后台，等待收单指令返回。

刷卡输密由子应用发起。