# ebuy-cashier-middleware-api

# 文档介绍

### 文档目的

此为收银机与中间件的报文协议。 为实现收银POS与易百后端支付，兑换业务交易实时同步，减少对账误差，同时可以实现与易百对接后，支持多种支付，兑换方式的需求。

### 物理架构

![Network](http://portal.e-buychina.com.cn/doc/Public/Uploads/2017-04-08/58e8f27eb9497.png "Network")

- 流程说明：
    
    1.收银机和易百POS采用USB口或者串口连接，各收银机之间通过局域网连接
    
    2.各门店（含多台收银机)通过公网VPN（或者专线）连接易百POSP
    
    3.易百POSP再通过专线连接各发卡银行

### 逻辑架构

![Middleware](http://portal.e-buychina.com.cn/doc/Public/Uploads/2017-04-08/58e8f6628b1df.png "Middleware")

- 流程说明：
    
    1.收银机发起交易，并把相关的数据发给中间件接口软件，中间件接口软件对收银机发来的数据指令进行解析并作相关的处理
    
    2.中间件接口软件发给[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")相关的指令，让[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")执行相关的操作
    
    3.[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")执行完相关的操作后获取相关数据发回给中间件接口软件
    
    4.中间件接口软件作相应的处理，并打包8583包发给易百POSP
    
    5.易百POSP根据交易类型做相应的处理，若需要转发给发卡行的就转发给发卡行并作相应的处理，最后返回响应报文8583包给中间件接口软件
    
    6.中间件接口软件根据需要发响应的指令数据给[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")（比如MAC校验）
    
    7.[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")作响应的处理，并返回响应数据给中间件接口软件
    
    8.中间件接口软件把处理结果返回给收银机

# 名词解释

### Socket

基于TCP/IP协议的通讯方式

### MIS-POS

安装于商户门店内的POS机具，提供活动执行辅助及兑换功能

### 易百POSP

处理e-Buy POS所有交易的一组网络设备和服务器

### BCD

二进制数值表示格式，如0x99，即为数值为99

### TLV

通讯协议中常用的数据格式，由标签（Tag），长度（Length），值（Value）三部分构成

### PINPAD

密码键盘

### 易百POS

即为[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")，安装于商户门店内的POS机具，提供活动执行辅助及兑换功能

### 易百后台

处理e-Buy POS所有交易的一组网络设备和服务器

### 中间件

安装在收银机上的独立应用，监控本地端口，并提供下载密钥、自动签到、自动更新和二次交互选择的界面功能

# 接口说明



# 调用方法

<table id="bkmrk-%E5%86%85%E5%AE%B9-%E8%AF%B4%E6%98%8E-%E9%80%9A%E8%AE%AF%E6%96%B9%E5%BC%8F-tcp%2Fip%C2%A0so" style="width: 644px;"><thead><tr><th style="width: 150px;">内容</th><th style="width: 494px;">说明</th></tr></thead><tbody><tr><td style="width: 150px;">通讯方式</td><td style="width: 494px;">TCP/IP [Socket](https://book.e-buy.com/link/391#bkmrk-socket "基于TCP/IP协议的通讯方式"),监听127.0.0.1端口</td></tr><tr><td style="width: 150px;">端口</td><td style="width: 494px;">监听单个端口，支持收发，使用3018端口</td></tr><tr><td style="width: 150px;">交互数据格式</td><td style="width: 494px;">JSON</td></tr><tr><td style="width: 150px;">字符编码</td><td style="width: 494px;">UTF-8</td></tr><tr><td style="width: 150px;">签名验证</td><td style="width: 494px;">本机通讯无需签名</td></tr></tbody></table>

# 报文结构

**请求报文和返回报文都采用如下的报文结构**

<table id="bkmrk-%E6%8A%A5%E6%96%87%E9%95%BF%E5%BA%A6-%E6%8A%A5%E6%96%87%E5%86%85%E5%AE%B9-2%E4%B8%AA%E5%AD%97%E8%8A%82-hex%E6%A0%BC%E5%BC%8F" style="width: 281px;"><thead><tr><th style="width: 141px;">报文长度</th><th style="width: 140px;">报文内容</th></tr></thead><tbody><tr><td style="width: 141px;">2个字节 HEX格式</td><td style="width: 140px;">明文ASCII格式</td></tr></tbody></table>

**其中报文内容采用如下JSON结构**

<table id="bkmrk-%E5%BA%8F%E5%8F%B7-%E6%A0%BC%E5%BC%8F-%E5%8F%82%E6%95%B0-%E6%95%B0%E6%8D%AE%E4%B8%BE%E4%BE%8B-%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E-%E5%A4%87"><thead><tr><th>序号</th><th>格式</th><th>参数</th><th>数据举例</th><th>参数说明</th><th>备注</th></tr></thead><tbody><tr><td>1</td><td>action</td><td>String</td><td>inquiry</td><td>交易类型</td><td>具体接口有详细说明</td></tr><tr><td>2</td><td>deviceNo</td><td>String</td><td>POS01</td><td>收银机编号</td><td>用于区别本次交易请求的收银机</td></tr><tr><td>3</td><td>shopNo</td><td>String</td><td>CN123456</td><td>门店编号</td><td>用于区别本次交易请求的门店</td></tr><tr><td>4</td><td>brand</td><td>String</td><td>663</td><td>品牌编号</td><td>用于区别本次交易请求的品牌，易百分配</td></tr><tr><td>5</td><td>body</td><td>String</td><td>BASE64</td><td>报文内容</td><td>具体接口有详细说明，本域需要采用BASE64编码</td></tr></tbody></table>

**报文举例**

```
0x00 0xE7{"action":"inquiry","deviceNo":"POS01","shopNo":"CN123456","brand":"663","body":"ewogICAgICAgICAidHJhY2VObyI6ICI5OTAwMDAwOTEwMDAxMDEwMTczMjEyMyIsCiAgICAgICAgICJvcmlnaW5hbFRyYWNlTm8iOiAiOTkwMDAwMDkxMDAwMTAxMDE3MzIxMjQiCiAgICAgfQ=="}

```

- 其中00E7表示报文内容长度为231个字节

# 业务参数对象



# 产品明细

- JSON Key为`goodsDetail`，必填

<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-g"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>goodsCategory</td><td>String</td><td>是</td><td>商品类别</td><td> </td></tr><tr><td>goodsId</td><td>String</td><td>是</td><td>商品编号</td><td> </td></tr><tr><td>goodsName</td><td>String</td><td>否</td><td>商品名称</td><td>用于报表、小票等显示</td></tr><tr><td>price</td><td>Price</td><td>是</td><td>单价</td><td>单位：元</td></tr><tr><td>quantity</td><td>Integer</td><td>是</td><td>数量</td><td> </td></tr><tr><td>rebateCode</td><td>String</td><td>否</td><td>折扣代码</td><td>收银机上已设置折扣，则必填,则必填,长度大于3位小于32位</td></tr><tr><td>activityNo</td><td>String</td><td>否</td><td>活动编号</td><td>易百后台交易成功，会返回本交易所属的活动编号</td></tr><tr><td>memo</td><td>String</td><td>否</td><td>备注</td><td>易百后台交易成功，会返回部分信息，如电子凭证号码</td></tr></tbody></table>

# 资金渠道

- JSON Key为`fundChannel`，出现在返回报文中，非必填

<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-c"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>channelNo</td><td>String</td><td>是</td><td>资金渠道编号</td><td> </td></tr><tr><td>channelName</td><td>String</td><td>是</td><td>资金渠道名称</td><td> </td></tr><tr><td>channelAmount</td><td>Price</td><td>是</td><td>金额</td></tr></tbody></table>

- 支持的资金渠道如下：

<table id="bkmrk-channelno-channelnam"><thead><tr><th>channelNo</th><th>channelName</th><th>字段意义</th></tr></thead><tbody><tr><td>user\_real\_money</td><td>用户实际支付</td><td>如支付宝余额、余额宝、微信钱包余额、银行卡等</td></tr><tr><td>user\_balance</td><td>用户余额支付</td><td>如支付宝余额、余额宝、微信钱包余额等</td></tr><tr><td>user\_bank\_card</td><td>用户银行卡余额</td><td>使用用户借记卡或贷记卡的余额进行支付</td></tr><tr><td>user\_credit</td><td>用户信用支付</td><td>如支付宝花呗、京东白条等</td></tr><tr><td>user\_points</td><td>用户积分支付</td><td>如银行积分、天猫积分、集分宝等</td></tr><tr><td>merchant\_benefit</td><td>商户提供的优惠</td><td>如商户空券，商户折扣等</td></tr><tr><td>platform\_benefit</td><td>平台提供的优惠</td><td>如平台折扣，平台补贴等</td></tr><tr><td>ebuy\_benefit</td><td>易百提供的优惠</td><td>如易百折扣，易百补贴等</td></tr></tbody></table>

# 打印信息

- JSON Key为`printDetail`，出现在返回报文中，非必填

<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-c"><thead><tr><th style="width: 141px;">字段</th><th style="width: 80px;">类型</th><th style="width: 83px;">是否必填</th><th style="width: 112px;">字段意义</th><th style="width: 364px;">备注</th></tr></thead><tbody><tr><td style="width: 141px;">cardNo64</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">卡号前六后四</td><td style="width: 364px;">返回需要打印的卡号前六后四</td></tr><tr><td style="width: 141px;">bank</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">发卡银行</td><td style="width: 364px;">返回需要打印的发卡银行</td></tr><tr><td style="width: 141px;">paymentOrderNo</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">机构订单号</td><td style="width: 364px;">返回需要打印的机构订单号</td></tr><tr><td style="width: 141px;">paymentUser</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">机构用户账号</td><td style="width: 364px;">返回需要打印的机构用户账号</td></tr><tr><td style="width: 141px;">pointSale</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">扣除积分</td><td style="width: 364px;">返回需要打印的扣除积分数量</td></tr><tr><td style="width: 141px;">qrCode1</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印二维码1</td><td style="width: 364px;">返回需要打印的二维码1</td></tr><tr><td style="width: 141px;">qrCode2</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印二维码2</td><td style="width: 364px;">返回需要打印的二维码2</td></tr><tr><td style="width: 141px;">qrCode3</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印二维码3</td><td style="width: 364px;">返回需要打印的二维码3</td></tr><tr><td style="width: 141px;">barCode1</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印条码1</td><td style="width: 364px;">返回需要打印的条码内容1</td></tr><tr><td style="width: 141px;">barCode2</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印条码2</td><td style="width: 364px;">返回需要打印的条码内容2</td></tr><tr><td style="width: 141px;">barCode3</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印条码3</td><td style="width: 364px;">返回需要打印的条码内容3</td></tr><tr><td style="width: 141px;">content</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印内容</td><td style="width: 364px;">返回需要打印的内容，[TLV](https://gitbook.e-fuli.com/ebuy-cashier-middleware-api/cn/GLOSSARY.html#tlv "通讯协议中常用的数据格式，由标签（Tag），长度（Length），值（Value）三部分构成")格式，1F为小票title，2F为小票交易类型说明显示</td></tr><tr><td style="width: 141px;">printMode</td><td style="width: 80px;">String</td><td style="width: 83px;">否</td><td style="width: 112px;">打印联数</td><td style="width: 364px;">1表示一联，2表示两联，3表示三联</td><td style="width: 29px;">\_\_</td></tr></tbody></table>

# 会员信息

- JSON Key为`memberDetail`，非必填

<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-m" style="width: 703px;"><thead><tr><th style="width: 155px;">字段</th><th style="width: 127px;">类型</th><th style="width: 94px;">是否必填</th><th style="width: 167px;">字段意义</th><th style="width: 160px;">备注</th></tr></thead><tbody><tr><td style="width: 155px;">memberId</td><td style="width: 127px;">String</td><td style="width: 94px;">是</td><td style="width: 167px;">会员ID</td><td style="width: 160px;"> </td></tr><tr><td style="width: 155px;">memberCode</td><td style="width: 127px;">String</td><td style="width: 94px;">是</td><td style="width: 167px;">会员编号</td><td style="width: 160px;"> </td></tr><tr><td style="width: 155px;">memberName</td><td style="width: 127px;">String</td><td style="width: 94px;">是</td><td style="width: 167px;">会员名称</td><td style="width: 160px;"> </td></tr><tr><td style="width: 155px;">memberPhone</td><td style="width: 127px;">String</td><td style="width: 94px;">否</td><td style="width: 167px;">会员手机号码</td><td style="width: 160px;"> </td></tr><tr><td style="width: 155px;">grade</td><td style="width: 127px;">String</td><td style="width: 94px;">否</td><td style="width: 167px;">会员等级</td><td style="width: 160px;"> </td></tr><tr><td style="width: 155px;">status</td><td style="width: 127px;">String</td><td style="width: 94px;">否</td><td style="width: 167px;">会员状态</td><td style="width: 160px;"> </td></tr><tr><td style="width: 155px;">balance</td><td style="width: 127px;">Price</td><td style="width: 94px;">否</td><td style="width: 167px;">会员卡余额</td><td style="width: 160px;"> </td></tr><tr><td style="width: 155px;">pointBalance</td><td style="width: 127px;">Price</td><td style="width: 94px;">否</td><td style="width: 167px;">会员积分余额</td></tr></tbody></table>

# 结算记录

- JSON Key为`settleRecord`，非必填

<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-a" style="width: 636px;"><thead><tr><th style="width: 165px;">字段</th><th style="width: 118px;">类型</th><th style="width: 90px;">是否必填</th><th style="width: 142px;">字段意义</th><th style="width: 121px;">备注</th></tr></thead><tbody><tr><td style="width: 165px;">activityNo</td><td style="width: 118px;">String</td><td style="width: 90px;">是</td><td style="width: 142px;">活动编号</td><td style="width: 121px;"> </td></tr><tr><td style="width: 165px;">activityName</td><td style="width: 118px;">String</td><td style="width: 90px;">是</td><td style="width: 142px;">活动名称</td><td style="width: 121px;"> </td></tr><tr><td style="width: 165px;">productName</td><td style="width: 118px;">String</td><td style="width: 90px;">是</td><td style="width: 142px;">产品名称</td><td style="width: 121px;"> </td></tr><tr><td style="width: 165px;">customer</td><td style="width: 118px;">String</td><td style="width: 90px;">是</td><td style="width: 142px;">结算客户</td><td style="width: 121px;"> </td></tr><tr><td style="width: 165px;">isRefund</td><td style="width: 118px;">Boolean</td><td style="width: 90px;">是</td><td style="width: 142px;">是否为退款</td><td style="width: 121px;"> </td></tr><tr><td style="width: 165px;">volume</td><td style="width: 118px;">Integer</td><td style="width: 90px;">是</td><td style="width: 142px;">交易笔数</td><td style="width: 121px;"> </td></tr><tr><td style="width: 165px;">totalReceiptAmount</td><td style="width: 118px;">Price</td><td style="width: 90px;">是</td><td style="width: 142px;">商户实收金额</td><td style="width: 121px;"> </td></tr><tr><td style="width: 165px;">totalAmount</td><td style="width: 118px;">Price</td><td style="width: 90px;">是</td><td style="width: 142px;">小计金额</td></tr></tbody></table>

# 交易记录

- JSON Key为`transRecord`，必填

<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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>原交易收银机流水号</td><td> </td></tr><tr><td>paidAmount</td><td>String</td><td>是</td><td>支付成功金额</td><td> </td></tr><tr><td>status</td><td>String</td><td>是</td><td>匹配状态</td><td>枚举如下</td></tr></tbody></table>

**status枚举**

- 0 上送初始时填写该值
- 1 paidAmount易百后台等于上送值
- 2 paidAmount易百后台大于上送值
- 3 paidAmount易百后台小于上送值
- 4 易百后台不存在该笔交易
- 5 易百后台该笔交易为失败交易
- 6 易百后台该笔交易为已撤销交易
- 7 易百后台该笔交易为已冲正交易
- 8 易百后台该笔交易为已退款交易
- 9 易百后台对账处理失败
- 10 易百后台有，但收银机不存在该笔交易

# 收单信息

- JSON Key为`paymentExtra`，必填

<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-a"><thead><tr><th style="width: 106px;">字段</th><th style="width: 76px;">类型</th><th style="width: 94px;">是否必填</th><th style="width: 132px;">字段意义</th><th style="width: 401px;">备注</th></tr></thead><tbody><tr><td style="width: 106px;">acqId</td><td style="width: 76px;">String</td><td style="width: 94px;">是</td><td style="width: 132px;">收单机构标识码</td><td style="width: 401px;"> </td></tr><tr><td style="width: 106px;">issuerId</td><td style="width: 76px;">String</td><td style="width: 94px;">是</td><td style="width: 132px;">发卡机构标识码</td><td style="width: 401px;"> </td></tr><tr><td style="width: 106px;">cardType</td><td style="width: 76px;">String</td><td style="width: 94px;">是</td><td style="width: 132px;">卡类型</td><td style="width: 401px;">0001贷记卡,0002借记卡,0003准贷记卡,0000其它</td></tr><tr><td style="width: 106px;">cardOrgan</td><td style="width: 76px;">String</td><td style="width: 94px;">是</td><td style="width: 132px;">卡类别</td><td style="width: 401px;">true外卡，false内卡</td></tr><tr><td style="width: 106px;">pan</td><td style="width: 76px;">String</td><td style="width: 94px;">是</td><td style="width: 132px;">卡号</td><td style="width: 401px;">脱敏卡号格式：622562\*\*\*\*8888</td></tr><tr><td style="width: 106px;">aid</td><td style="width: 76px;">String</td><td style="width: 94px;">否</td><td style="width: 132px;">应用标识</td><td style="width: 401px;">通过aid来判断卡类型（VISA/MASTER/...）,在没有返回aid字段的情况下，可以通过pan卡号字段中的卡BIN来判断卡类型</td></tr></tbody></table>

# 优惠券明细

- JSON Key为`voucherDetail`，必填

<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-v" style="width: 675px;"><thead><tr><th style="width: 141px;">字段</th><th style="width: 92px;">类型</th><th style="width: 92px;">是否必填</th><th style="width: 111px;">字段意义</th><th style="width: 239px;">备注</th></tr></thead><tbody><tr><td style="width: 141px;">voucherId</td><td style="width: 92px;">String</td><td style="width: 92px;">是</td><td style="width: 111px;">优惠券编号</td><td style="width: 239px;"> </td></tr><tr><td style="width: 141px;">voucherName</td><td style="width: 92px;">String</td><td style="width: 92px;">是</td><td style="width: 111px;">优惠券名称</td><td style="width: 239px;">用于报表、小票等显示</td></tr><tr><td style="width: 141px;">voucherType</td><td style="width: 92px;">String</td><td style="width: 92px;">是</td><td style="width: 111px;">优惠券类型</td></tr><tr><td style="width: 141px;">voucherAmount</td><td style="width: 92px;">Price</td><td style="width: 92px;">是</td><td style="width: 111px;">单价</td><td style="width: 239px;">单位：元</td></tr><tr><td style="width: 141px;">voucherCode</td><td style="width: 92px;">String</td><td style="width: 92px;">是</td><td style="width: 111px;">优惠券串号</td></tr></tbody></table>

# 交易类接口



# 银行卡收单

#### **交易流程说明**

- 该交易发至中间件后，中间件不会直接请求易百后台，而是先点亮[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")，等待刷卡和输入密码，[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")上确认后，中间件收到卡和密码信息再请求易百后台进行处理。

#### **action**

- `cardPayment`

#### **请求参数，收银机===&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-t"><thead><tr><th style="width: 165px;">字段</th><th style="width: 197px;">类型</th><th style="width: 81px;">是否必填</th><th style="width: 137px;">字段意义</th><th style="width: 229px;">备注</th></tr></thead><tbody><tr><td style="width: 165px;">traceNo</td><td style="width: 197px;">String</td><td style="width: 81px;">是</td><td style="width: 137px;">收银机流水号</td><td style="width: 229px;">不允许重复，建议YYYYmmddHHMMSS+10位流水号</td></tr><tr><td style="width: 165px;">totalAmount</td><td style="width: 197px;">Price</td><td style="width: 81px;">是</td><td style="width: 137px;">交易总金额</td><td style="width: 229px;">单位：元</td></tr><tr><td style="width: 165px;">undiscountAmount</td><td style="width: 197px;">Price</td><td style="width: 81px;">是</td><td style="width: 137px;">不可打折金额</td><td style="width: 229px;">单位：元</td></tr><tr><td style="width: 165px;">acquirer</td><td style="width: 197px;">String</td><td style="width: 81px;">是</td><td style="width: 137px;">收单机构</td><td style="width: 229px;">如：citicCashpay表示中信收单</td></tr><tr><td style="width: 165px;">goodsDetail</td><td style="width: 197px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 81px;">是</td><td style="width: 137px;">产品明细</td><td style="width: 229px;">验证产品明细时必填</td></tr><tr><td style="width: 165px;">memberDetail</td><td style="width: 197px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 81px;">否</td><td style="width: 137px;">会员信息</td><td style="width: 229px;">会员支付时必填</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "totalAmount": 40.8,
    "undiscountAmount": 0,
    "acquirer": "citicCashpay",
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000"
        }
    ],
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **返回参数，中间件===&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-t-0"><thead><tr><th style="width: 152px;">字段</th><th style="width: 172px;">类型</th><th style="width: 50px;">是否必填</th><th style="width: 129px;">字段意义</th><th style="width: 306px;">备注</th></tr></thead><tbody><tr><td style="width: 152px;">traceNo</td><td style="width: 172px;">String</td><td style="width: 50px;">是</td><td style="width: 129px;">收银机流水号</td><td style="width: 306px;">不允许重复</td></tr><tr><td style="width: 152px;">orderNo</td><td style="width: 172px;">String</td><td style="width: 50px;">是</td><td style="width: 129px;">交易订单号</td><td style="width: 306px;">易百生成</td></tr><tr><td style="width: 152px;">transDate</td><td style="width: 172px;">String</td><td style="width: 50px;">是</td><td style="width: 129px;">交易时间</td><td style="width: 306px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 152px;">returnCode</td><td style="width: 172px;">String</td><td style="width: 50px;">是</td><td style="width: 129px;">返回码</td><td style="width: 306px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 152px;">returnDesc</td><td style="width: 172px;">String</td><td style="width: 50px;">是</td><td style="width: 129px;">返回信息</td><td style="width: 306px;">交易结果描述或错误原因</td></tr><tr><td style="width: 152px;">paidAmount</td><td style="width: 172px;">Price</td><td style="width: 50px;">是</td><td style="width: 129px;">支付成功总金额</td><td style="width: 306px;">面值，单位：元</td></tr><tr><td style="width: 152px;">receiptAmount</td><td style="width: 172px;">Price</td><td style="width: 50px;">否</td><td style="width: 129px;">商户实收金额</td><td style="width: 306px;">净值，单位：元</td></tr><tr><td style="width: 152px;">invoiceAmount</td><td style="width: 172px;">Price</td><td style="width: 50px;">否</td><td style="width: 129px;">商户开票金额</td><td style="width: 306px;">单位：元</td></tr><tr><td style="width: 152px;">exchangeRate</td><td style="width: 172px;">Number(8,6)</td><td style="width: 50px;">否</td><td style="width: 129px;">汇率</td><td style="width: 306px;">1外币等于多少人民币</td></tr><tr><td style="width: 152px;">currency</td><td style="width: 172px;">String</td><td style="width: 50px;">否</td><td style="width: 129px;">货币类型</td><td style="width: 306px;">例如:CNY</td></tr><tr><td style="width: 152px;">discountCode</td><td style="width: 172px;">String</td><td style="width: 50px;">否</td><td style="width: 129px;">折扣编码</td><td style="width: 306px;">由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元</td></tr><tr><td style="width: 152px;">discountNum</td><td style="width: 172px;">Number</td><td style="width: 50px;">否</td><td style="width: 129px;">固定金额折扣数量</td><td style="width: 306px;">用于入账计折扣类型的数量</td></tr><tr><td style="width: 152px;">tenderCode</td><td style="width: 172px;">String</td><td style="width: 50px;">否</td><td style="width: 129px;">支付方式编码</td><td style="width: 306px;">由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元</td></tr><tr><td style="width: 152px;">activityProductNo</td><td style="width: 172px;">String</td><td style="width: 50px;">否</td><td style="width: 129px;">活动产品编号</td><td style="width: 306px;"> </td></tr><tr><td style="width: 152px;">activityProductName</td><td style="width: 172px;">String</td><td style="width: 50px;">否</td><td style="width: 129px;">活动产品名称</td><td style="width: 306px;"> </td></tr><tr><td style="width: 152px;">needSameCard</td><td style="width: 172px;">Boolean</td><td style="width: 50px;">否</td><td style="width: 129px;">同一张卡支付</td><td style="width: 306px;">如满额立减类活动，需要同一张银行卡支付剩余金额</td></tr><tr><td style="width: 152px;">goodsDetail</td><td style="width: 172px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 50px;">否</td><td style="width: 129px;">折抵产品明细</td><td style="width: 306px;">返回后台已抵扣成功的产品明细</td></tr><tr><td style="width: 152px;">fundChannel</td><td style="width: 172px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 50px;">否</td><td style="width: 129px;">资金渠道</td><td style="width: 306px;"> </td></tr><tr><td style="width: 152px;">printDetail</td><td style="width: 172px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 50px;">否</td><td style="width: 129px;">打印信息</td><td style="width: 306px;">如需要在收银小票上打印信息时必填</td></tr><tr><td style="width: 152px;">memberDetail</td><td style="width: 172px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 50px;">否</td><td style="width: 129px;">会员信息</td><td style="width: 306px;">返回本次交易的会员信息</td></tr><tr><td style="width: 152px;">paymentExtra</td><td style="width: 172px;">Object&lt;[paymentDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/b53b3 "payMentDetail")&gt;</td><td style="width: 50px;">否</td><td style="width: 129px;">收单信息</td><td style="width: 306px;">返回本次交易的收单信息</td></tr></tbody></table>

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

```
{
    "traceNo": "9900000910001011920150201", 
    "orderNo": "171698602301", 
    "transDate": "20161231120533", 
    "returnCode": "00", 
    "returnDesc": "SUCCESS", 
    "paidAmount": 40.8, 
    "receiptAmount": 40.8, 
    "invoiceAmount": 40.8, 
    "exchangeRate": 6.0939, 
    "currency": "CNY", 
    "discountCode": "0001", 
    "discountNum": 20, 
    "tenderCode": "8001", 
    "activityProductNo": "00000000089349", 
    "activityProductName": "中信365权益", 
    "needSameCard": true, 
    "goodsDetail": [
        {
            "goodsCategory": "001", 
            "goodsId": "P00001", 
            "goodsName": "牙膏", 
            "price": 8, 
            "quantity": 2, 
            "rebateCode": "000", 
            "activityNo": "2016123101", 
            "memo": "100123456789"
        }, 
        {
            "goodsCategory": "101", 
            "goodsId": "P00002", 
            "goodsName": "洗发水", 
            "price": 24.8, 
            "quantity": 1, 
            "rebateCode": "000", 
            "activityNo": "2016123101", 
            "memo": "100123456789"
        }
    ], 
    "fundChannel": [
        {
            "channelNo": "001", 
            "channelName": "用户实付现金", 
            "channelAmount": "20.8"
        }, 
        {
            "channelNo": "002", 
            "channelName": "用户积分支付", 
            "channelAmount": "20"
        }
    ], 
    "printDetail": {
        "cardNo64": "622562****8888", 
        "bank": "中信银行", 
        "paymentOrderNo": "201612315689412157458787", 
        "pointSale": "20000", 
        "qrCode1": "htt://www.api-location-url.com/url", 
        "qrCode2": "", 
        "qrCode3": "", 
        "barCode1": "12345679", 
        "barCode2": "", 
        "barCode3": ""
    }, 
    "cardInfo": {
        "cardNo": "", 
        "password": "", 
        "valid": "", 
        "track1": "", 
        "track2": "", 
        "track3": "", 
        "cardSn": "", 
        "icData": ""
    }, 
    "memberDetail": {
        "memberId": "M000001545", 
        "memberName": "TONY", 
        "grade": "1", 
        "status": "1", 
        "balance": 1000, 
        "pointBalance": 30000
    }, 
    "voucherDetail": [
        {
            "voucherId": "001", 
            "voucherName": "现金优惠券", 
            "voucherType": "现金", 
            "voucherCode": "123456789", 
            "channelAmount": "20.8"
        }, 
        {
            "voucherId": "002", 
            "voucherName": "买一赠一优惠券", 
            "voucherType": "买赠", 
            "voucherCode": "1232136781", 
            "channelAmount": "20.8"
        }
    ], 
    "paymentExtra": {
        "acqId": "0100", 
        "issuerId": "0200", 
        "cardType": "0001", 
        "cardOrgan": false, 
        "pan": "622562****8888", 
        "aid": "A000000333010101"
    }
}

```

<footer class="page-footer" id="bkmrk-"></footer>

# 实体卡权益积分兑换

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

- 银行积分兑换
- 银行积分兑换+现金支付
- 银行权益验证
- 银行权益验证+现金支付
- 预付费卡消费
- 会员卡消费

#### **交易流程说明**

- 该交易发至中间件后，中间件不会直接请求易百后台，而是先点亮[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")，等待刷卡和输入密码，[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")上确认后，中间件收到卡和密码信息再请求易百后台进行处理。

#### **action**

- `cardRedemption`

#### **请求参数，收银机===&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-t"><thead><tr><th style="width: 142px;">字段</th><th style="width: 173px;">类型</th><th style="width: 95px;">是否必填</th><th style="width: 165px;">字段意义</th><th style="width: 234px;">备注</th></tr></thead><tbody><tr><td style="width: 142px;">traceNo</td><td style="width: 173px;">String</td><td style="width: 95px;">是</td><td style="width: 165px;">收银机流水号</td><td style="width: 234px;">不允许重复，建议YYYYmmddHHMMSS+10位流水号</td></tr><tr><td style="width: 142px;">totalAmount</td><td style="width: 173px;">Price</td><td style="width: 95px;">是</td><td style="width: 165px;">交易总金额</td><td style="width: 234px;">单位：元</td></tr><tr><td style="width: 142px;">undiscountAmount</td><td style="width: 173px;">Price</td><td style="width: 95px;">是</td><td style="width: 165px;">不可打折金额</td><td style="width: 234px;">单位：元</td></tr><tr><td style="width: 142px;">goodsDetail</td><td style="width: 173px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 95px;">是</td><td style="width: 165px;">产品明细</td><td style="width: 234px;">验证产品明细时必填</td></tr><tr><td style="width: 142px;">memberDetail</td><td style="width: 173px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 95px;">否</td><td style="width: 165px;">会员信息</td><td style="width: 234px;">会员支付时必填</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "totalAmount": 40.8,
    "undiscountAmount": 0,
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000"
        }
    ],
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **返回参数，中间件===&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-t-0"><thead><tr><th style="width: 151px;">字段</th><th style="width: 170px;">类型</th><th style="width: 74px;">是否必填</th><th style="width: 140px;">字段意义</th><th style="width: 274px;">备注</th></tr></thead><tbody><tr><td style="width: 151px;">traceNo</td><td style="width: 170px;">String</td><td style="width: 74px;">是</td><td style="width: 140px;">收银机流水号</td><td style="width: 274px;">不允许重复</td></tr><tr><td style="width: 151px;">orderNo</td><td style="width: 170px;">String</td><td style="width: 74px;">是</td><td style="width: 140px;">交易订单号</td><td style="width: 274px;">易百生成</td></tr><tr><td style="width: 151px;">transDate</td><td style="width: 170px;">String</td><td style="width: 74px;">是</td><td style="width: 140px;">交易时间</td><td style="width: 274px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 151px;">returnCode</td><td style="width: 170px;">String</td><td style="width: 74px;">是</td><td style="width: 140px;">返回码</td><td style="width: 274px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 151px;">returnDesc</td><td style="width: 170px;">String</td><td style="width: 74px;">是</td><td style="width: 140px;">返回信息</td><td style="width: 274px;">交易结果描述或错误原因</td></tr><tr><td style="width: 151px;">paidAmount</td><td style="width: 170px;">Price</td><td style="width: 74px;">是</td><td style="width: 140px;">支付成功总金额</td><td style="width: 274px;">面值，单位：元</td></tr><tr><td style="width: 151px;">receiptAmount</td><td style="width: 170px;">Price</td><td style="width: 74px;">否</td><td style="width: 140px;">商户实收金额</td><td style="width: 274px;">净值，单位：元</td></tr><tr><td style="width: 151px;">invoiceAmount</td><td style="width: 170px;">Price</td><td style="width: 74px;">否</td><td style="width: 140px;">商户开票金额</td><td style="width: 274px;">单位：元</td></tr><tr><td style="width: 151px;">exchangeRate</td><td style="width: 170px;">Number(8,6)</td><td style="width: 74px;">否</td><td style="width: 140px;">汇率</td><td style="width: 274px;">1外币等于多少人民币</td></tr><tr><td style="width: 151px;">currency</td><td style="width: 170px;">String</td><td style="width: 74px;">否</td><td style="width: 140px;">货币类型</td><td style="width: 274px;">例如:CNY</td></tr><tr><td style="width: 151px;">discountCode</td><td style="width: 170px;">String</td><td style="width: 74px;">否</td><td style="width: 140px;">折扣编码</td><td style="width: 274px;">由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元</td></tr><tr><td style="width: 151px;">discountNum</td><td style="width: 170px;">Number</td><td style="width: 74px;">否</td><td style="width: 140px;">固定金额折扣数量</td><td style="width: 274px;">用于入账计折扣类型的数量</td></tr><tr><td style="width: 151px;">tenderCode</td><td style="width: 170px;">String</td><td style="width: 74px;">否</td><td style="width: 140px;">支付方式编码</td><td style="width: 274px;">由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元</td></tr><tr><td style="width: 151px;">activityProductNo</td><td style="width: 170px;">String</td><td style="width: 74px;">否</td><td style="width: 140px;">活动产品编号</td><td style="width: 274px;"> </td></tr><tr><td style="width: 151px;">activityProductName</td><td style="width: 170px;">String</td><td style="width: 74px;">否</td><td style="width: 140px;">活动产品名称</td><td style="width: 274px;"> </td></tr><tr><td style="width: 151px;">needSameCard</td><td style="width: 170px;">Boolean</td><td style="width: 74px;">否</td><td style="width: 140px;">同一张卡支付</td><td style="width: 274px;">如满额立减类活动，需要同一张银行卡支付剩余金额</td></tr><tr><td style="width: 151px;">goodsDetail</td><td style="width: 170px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 74px;">否</td><td style="width: 140px;">折抵产品明细</td><td style="width: 274px;">返回后台已抵扣成功的产品明细</td></tr><tr><td style="width: 151px;">fundChannel</td><td style="width: 170px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 74px;">否</td><td style="width: 140px;">资金渠道</td><td style="width: 274px;"> </td></tr><tr><td style="width: 151px;">printDetail</td><td style="width: 170px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 74px;">否</td><td style="width: 140px;">打印信息</td><td style="width: 274px;">如需要在收银小票上打印信息时必填</td></tr><tr><td style="width: 151px;">memberDetail</td><td style="width: 170px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 74px;">否</td><td style="width: 140px;">会员信息</td><td style="width: 274px;">返回本次交易的会员信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "paidAmount": 40.8,
    "receiptAmount": 40.8,
    "invoiceAmount": 40.8,
    "exchangeRate": 6.0939,
    "currency": "CNY",
    "discountCode": "0001",
    "discountNum": 20,
    "tenderCode": "8001",
    "activityProductNo": "2016123101",
    "activityProductName": "中信365权益",
    "needSameCard": true,
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        }
    ],
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中信银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}
```

# 二维码支付或兑换

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

- 支付宝支付
- 微信被扫支付
- 银行二维码支付
- 银行二维码积分兑换
- 银联立码付
- 百度支付
- 翼支付
- 其他二维码支付
- 产品券/代金券/折扣券/买N赠M券/立减券
- 外卖或自助点单订单码自动上屏

#### **交易流程说明**

- 该交易需要先采集二维码扫描器或键盘输入的二维码信息，再发至中间件，中间件收到请求后，检查包含qrcode内容信息再请求易百后台进行处理。

#### **action**

- `qrcodeSale`

#### **请求参数，收银机===&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-t"><thead><tr><th style="width: 136px;">字段</th><th style="width: 169px;">类型</th><th style="width: 78px;">是否必填</th><th style="width: 112px;">字段意义</th><th style="width: 314px;">备注</th></tr></thead><tbody><tr><td style="width: 136px;">traceNo</td><td style="width: 169px;">String</td><td style="width: 78px;">是</td><td style="width: 112px;">收银机流水号</td><td style="width: 314px;">不允许重复，建议YYYYmmddHHMMSS+10位流水号</td></tr><tr><td style="width: 136px;">totalAmount</td><td style="width: 169px;">Price</td><td style="width: 78px;">是</td><td style="width: 112px;">交易总金额</td><td style="width: 314px;">单位：元</td></tr><tr><td style="width: 136px;">undiscountAmount</td><td style="width: 169px;">Price</td><td style="width: 78px;">是</td><td style="width: 112px;">不可打折金额</td><td style="width: 314px;">单位：元</td></tr><tr><td style="width: 136px;">qrcode</td><td style="width: 169px;">String</td><td style="width: 78px;">是</td><td style="width: 112px;">二维码内容</td><td style="width: 314px;">串号、一维码或二维码内容</td></tr><tr><td style="width: 136px;">goodsDetail</td><td style="width: 169px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 78px;">是</td><td style="width: 112px;">产品明细</td><td style="width: 314px;">验证产品明细时必填</td></tr><tr><td style="width: 136px;">memberDetail</td><td style="width: 169px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 78px;">否</td><td style="width: 112px;">会员信息</td><td style="width: 314px;">会员支付时必填</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "totalAmount": 40.8,
    "undiscountAmount": 0,
    "qrcode": "280123121234567890",
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000"
        }
    ],
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **返回参数，中间件===&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-t-0"><thead><tr><th style="width: 147px;">字段</th><th style="width: 168px;">类型</th><th style="width: 47px;">是否必填</th><th style="width: 132px;">字段意义</th><th style="width: 235px;">备注</th></tr></thead><tbody><tr><td style="width: 147px;">traceNo</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">收银机流水号</td><td style="width: 235px;">不允许重复</td></tr><tr><td style="width: 147px;">orderNo</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">交易订单号</td><td style="width: 235px;">易百生成</td></tr><tr><td style="width: 147px;">transDate</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">交易时间</td><td style="width: 235px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 147px;">returnCode</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">返回码</td><td style="width: 235px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 147px;">returnDesc</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">返回信息</td><td style="width: 235px;">交易结果描述或错误原因</td></tr><tr><td style="width: 147px;">paidAmount</td><td style="width: 168px;">Price</td><td style="width: 47px;">是</td><td style="width: 132px;">支付成功总金额</td><td style="width: 235px;">单位：元</td></tr><tr><td style="width: 147px;">receiptAmount</td><td style="width: 168px;">Price</td><td style="width: 47px;">否</td><td style="width: 132px;">商户实收金额</td><td style="width: 235px;">单位：元</td></tr><tr><td style="width: 147px;">invoiceAmount</td><td style="width: 168px;">Price</td><td style="width: 47px;">否</td><td style="width: 132px;">商户开票金额</td><td style="width: 235px;">单位：元</td></tr><tr><td style="width: 147px;">exchangeRate</td><td style="width: 168px;">Number(8,6)</td><td style="width: 47px;">否</td><td style="width: 132px;">汇率</td><td style="width: 235px;">1外币等于多少人民币</td></tr><tr><td style="width: 147px;">currency</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">货币类型</td><td style="width: 235px;">例如:CNY</td></tr><tr><td style="width: 147px;">discountCode</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">折扣编码</td><td style="width: 235px;">由收银机分配，用于入账计折扣类型，如：2016120102\\</td><td style="width: 80px;">10.00表示折扣10元</td></tr><tr><td style="width: 147px;">discountNum</td><td style="width: 168px;">Number</td><td style="width: 47px;">否</td><td style="width: 132px;">固定金额折扣数量</td><td style="width: 235px;">用于入账计折扣类型的数量</td></tr><tr><td style="width: 147px;">tenderCode</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">支付方式编码</td><td style="width: 235px;">由收银机分配，用于入账计支付方式，如：2016120101\\</td><td style="width: 80px;">20.00表示支付20元</td></tr><tr><td style="width: 147px;">activityProductNo</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">活动产品编号</td><td style="width: 235px;"> </td></tr><tr><td style="width: 147px;">activityProductName</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">活动产品名称</td><td style="width: 235px;"> </td></tr><tr><td style="width: 147px;">goodsDetail</td><td style="width: 168px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">折抵产品明细</td><td style="width: 235px;">返回后台已抵扣成功的产品明细</td></tr><tr><td style="width: 147px;">fundChannel</td><td style="width: 168px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">资金渠道</td><td style="width: 235px;"> </td></tr><tr><td style="width: 147px;">printDetail</td><td style="width: 168px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">打印信息</td><td style="width: 235px;">如需在收银小票上打印信息时必填</td></tr><tr><td style="width: 147px;">memberDetail</td><td style="width: 168px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">会员信息</td><td style="width: 235px;">返回本次交易的会员信息</td></tr><tr><td style="width: 147px;">voucherDetail</td><td style="width: 168px;">List&lt;[voucherDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/084b6 "voucherDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">优惠券信息</td><td style="width: 235px;">返回本次交易的优惠券信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "paidAmount": 40.8,
    "receiptAmount": 40.8,
    "invoiceAmount": 40.8,
    "exchangeRate": 6.0939,
    "currency": "CNY",
    "discountCode": "0001",
    "discountNum": 20,
    "tenderCode": "8001",
    "activityProductNo": "2016123102",
    "activityProductName": "支付宝支付",
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        }
    ],
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中国银行",
        "paymentOrderNo": "201612315689412157458787",
        "paymentUser": "139****@163.com",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}
```

# 交易结果查询

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

- 在收银机未收到后台返回时，可以调用此接口查询原交易的状态。

#### **action**

- `inquiry`

#### **请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>originalTraceNo</td><td>String</td><td>是</td><td>原收银机流水号</td><td>传入需要查询的原交易收银机流水号</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "originalTraceNo": "99000009100010101732124"
}

```

#### **返回参数，中间件===&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-t-0"><thead><tr><th style="width: 154px;">字段</th><th style="width: 165px;">类型</th><th style="width: 78px;">是否必填</th><th style="width: 139px;">字段意义</th><th style="width: 273px;">备注</th></tr></thead><tbody><tr><td style="width: 154px;">traceNo</td><td style="width: 165px;">String</td><td style="width: 78px;">是</td><td style="width: 139px;">收银机流水号</td><td style="width: 273px;">不允许重复</td></tr><tr><td style="width: 154px;">orderNo</td><td style="width: 165px;">String</td><td style="width: 78px;">是</td><td style="width: 139px;">交易订单号</td><td style="width: 273px;">单位：元</td></tr><tr><td style="width: 154px;">transDate</td><td style="width: 165px;">String</td><td style="width: 78px;">是</td><td style="width: 139px;">交易时间</td><td style="width: 273px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 154px;">returnCode</td><td style="width: 165px;">String</td><td style="width: 78px;">是</td><td style="width: 139px;">返回码</td><td style="width: 273px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 154px;">returnDesc</td><td style="width: 165px;">String</td><td style="width: 78px;">是</td><td style="width: 139px;">返回信息</td><td style="width: 273px;">交易结果描述或错误原因</td></tr><tr><td style="width: 154px;">paidAmount</td><td style="width: 165px;">Price</td><td style="width: 78px;">是</td><td style="width: 139px;">支付成功总金额</td><td style="width: 273px;">单位：元</td></tr><tr><td style="width: 154px;">receiptAmount</td><td style="width: 165px;">Price</td><td style="width: 78px;">否</td><td style="width: 139px;">商户实收金额</td><td style="width: 273px;">单位：元</td></tr><tr><td style="width: 154px;">invoiceAmount</td><td style="width: 165px;">Price</td><td style="width: 78px;">否</td><td style="width: 139px;">商户开票金额</td><td style="width: 273px;">单位：元</td></tr><tr><td style="width: 154px;">exchangeRate</td><td style="width: 165px;">Number(8,6)</td><td style="width: 78px;">否</td><td style="width: 139px;">汇率</td><td style="width: 273px;">1外币等于多少人民币</td></tr><tr><td style="width: 154px;">currency</td><td style="width: 165px;">String</td><td style="width: 78px;">否</td><td style="width: 139px;">货币类型</td><td style="width: 273px;">例如:CNY</td></tr><tr><td style="width: 154px;">discountCode</td><td style="width: 165px;">String</td><td style="width: 78px;">否</td><td style="width: 139px;">折扣编码</td><td style="width: 273px;">由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元</td></tr><tr><td style="width: 154px;">discountNum</td><td style="width: 165px;">Number</td><td style="width: 78px;">否</td><td style="width: 139px;">固定金额折扣数量</td><td style="width: 273px;">用于入账计折扣类型的数量</td></tr><tr><td style="width: 154px;">tenderCode</td><td style="width: 165px;">String</td><td style="width: 78px;">否</td><td style="width: 139px;">支付方式编码</td><td style="width: 273px;">由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元</td></tr><tr><td style="width: 154px;">activityProductNo</td><td style="width: 165px;">String</td><td style="width: 78px;">否</td><td style="width: 139px;">活动产品编号</td><td style="width: 273px;"> </td></tr><tr><td style="width: 154px;">activityProductName</td><td style="width: 165px;">String</td><td style="width: 78px;">否</td><td style="width: 139px;">活动产品名称</td><td style="width: 273px;"> </td></tr><tr><td style="width: 154px;">needSameCard</td><td style="width: 165px;">Boolean</td><td style="width: 78px;">否</td><td style="width: 139px;">同一张卡支付</td><td style="width: 273px;">如满额立减类活动，需要同一张银行卡支付剩余金额</td></tr><tr><td style="width: 154px;">goodsDetail</td><td style="width: 165px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 78px;">否</td><td style="width: 139px;">折抵产品明细</td><td style="width: 273px;">返回后台已抵扣成功的产品明细</td></tr><tr><td style="width: 154px;">fundChannel</td><td style="width: 165px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 78px;">否</td><td style="width: 139px;">资金渠道</td><td style="width: 273px;"> </td></tr><tr><td style="width: 154px;">printDetail</td><td style="width: 165px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 78px;">否</td><td style="width: 139px;">打印信息</td><td style="width: 273px;">如需要在收银小票上打印信息时必填</td></tr><tr><td style="width: 154px;">memberDetail</td><td style="width: 165px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 78px;">否</td><td style="width: 139px;">会员信息</td><td style="width: 273px;">返回本次交易的会员信息</td></tr><tr><td style="width: 154px;">voucherDetail</td><td style="width: 165px;">List&lt;[voucherDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/084b6 "voucherDetail")&gt;</td><td style="width: 78px;">否</td><td style="width: 139px;">优惠券信息</td><td style="width: 273px;">返回本次交易的优惠券信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "paidAmount": 40.8,
    "receiptAmount": 40.8,
    "invoiceAmount": 40.8,
    "exchangeRate": 6.0939,
    "currency": "CNY",
    "discountCode": "0001",
    "discountNum": 20,
    "tenderCode": "8001",
    "activityProductNo": "2016123102",
    "activityProductName": "支付宝支付",
    "needSameCard": true,
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        }
    ],
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中国银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **支持查询的交易**

- cardSale
- qrcodeSale

# 当日撤销（实体卡）

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

- 需要对原交易整体撤销时，可以在原交易的同一天调用此接口。

#### **交易流程说明**

- 该交易发至中间件后，中间件不会直接请求易百后台，而是先点亮[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")，等待刷卡和输入密码，[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")上确认后，中间件收到卡和密码信息再请求易百后台进行处理。

#### **action**

- `voidCardSale`

#### **请求参数，收银机===&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-t" style="width: 747px;"><thead><tr><th style="width: 119px;">字段</th><th style="width: 60px;">类型</th><th style="width: 78px;">是否必填</th><th style="width: 115px;">字段意义</th><th style="width: 375px;">备注</th></tr></thead><tbody><tr><td style="width: 119px;">traceNo</td><td style="width: 60px;">String</td><td style="width: 78px;">是</td><td style="width: 115px;">收银机流水号</td><td style="width: 375px;">不允许重复</td></tr><tr><td style="width: 119px;">originalTraceNo</td><td style="width: 60px;">String</td><td style="width: 78px;">是</td><td style="width: 115px;">原收银机流水号</td><td style="width: 375px;">传入需要查询的原交易收银机流水号</td></tr><tr><td style="width: 119px;">acquirer</td><td style="width: 60px;">String</td><td style="width: 78px;">否</td><td style="width: 115px;">收单机构</td><td style="width: 375px;">如：citicCashpay表示中信收单，如果收单撤销是必填的</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "originalTraceNo": "99000009100010101732124",
    "acquirer": "citicCashpay"
}

```

#### **返回参数，中间件===&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-t-0" style="width: 788px;"><thead><tr><th style="width: 122px;">字段</th><th style="width: 171px;">类型</th><th style="width: 101px;">是否必填</th><th style="width: 109px;">字段意义</th><th style="width: 285px;">备注</th></tr></thead><tbody><tr><td style="width: 122px;">traceNo</td><td style="width: 171px;">String</td><td style="width: 101px;">是</td><td style="width: 109px;">收银机流水号</td><td style="width: 285px;">不允许重复</td></tr><tr><td style="width: 122px;">orderNo</td><td style="width: 171px;">String</td><td style="width: 101px;">是</td><td style="width: 109px;">交易订单号</td><td style="width: 285px;"> </td></tr><tr><td style="width: 122px;">transDate</td><td style="width: 171px;">String</td><td style="width: 101px;">是</td><td style="width: 109px;">交易时间</td><td style="width: 285px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 122px;">returnCode</td><td style="width: 171px;">String</td><td style="width: 101px;">是</td><td style="width: 109px;">返回码</td><td style="width: 285px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 122px;">returnDesc</td><td style="width: 171px;">String</td><td style="width: 101px;">是</td><td style="width: 109px;">返回信息</td><td style="width: 285px;">交易结果描述或错误原因</td></tr><tr><td style="width: 122px;">discountCode</td><td style="width: 171px;">String</td><td style="width: 101px;">否</td><td style="width: 109px;">折扣编码</td><td style="width: 285px;">由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元</td></tr><tr><td style="width: 122px;">tenderCode</td><td style="width: 171px;">String</td><td style="width: 101px;">否</td><td style="width: 109px;">支付方式编码</td><td style="width: 285px;">由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元</td></tr><tr><td style="width: 122px;">fundChannel</td><td style="width: 171px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 101px;">否</td><td style="width: 109px;">资金渠道</td><td style="width: 285px;"> </td></tr><tr><td style="width: 122px;">printDetail</td><td style="width: 171px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 101px;">否</td><td style="width: 109px;">打印信息</td><td style="width: 285px;">如需要在收银小票上打印信息时必填</td></tr><tr><td style="width: 122px;">memberDetail</td><td style="width: 171px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 101px;">否</td><td style="width: 109px;">会员信息</td><td style="width: 285px;">返回本次交易的会员信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "discountCode": "0001",
    "tenderCode": "8001",
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中信银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **支持撤销的交易**

- cardPayment
- cardRedemption

# 当日撤销（二维码）

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

- 需要对原交易整体撤销时，可以在原交易的同一天调用此接口。

#### **action**

- `voidQrcodeSale`

#### **请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>originalTraceNo</td><td>String</td><td>是</td><td>原收银机流水号</td><td>传入需要查询的原交易收银机流水号</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "originalTraceNo": "99000009100010101732124"
}

```

#### **返回参数，中间件===&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-t-0" style="width: 773px;"><thead><tr><th style="width: 119px;">字段</th><th style="width: 171px;">类型</th><th style="width: 82px;">是否必填</th><th style="width: 113px;">字段意义</th><th style="width: 288px;">备注</th></tr></thead><tbody><tr><td style="width: 119px;">traceNo</td><td style="width: 171px;">String</td><td style="width: 82px;">是</td><td style="width: 113px;">收银机流水号</td><td style="width: 288px;">不允许重复</td></tr><tr><td style="width: 119px;">orderNo</td><td style="width: 171px;">String</td><td style="width: 82px;">是</td><td style="width: 113px;">交易订单号</td><td style="width: 288px;"> </td></tr><tr><td style="width: 119px;">transDate</td><td style="width: 171px;">String</td><td style="width: 82px;">是</td><td style="width: 113px;">交易时间</td><td style="width: 288px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 119px;">returnCode</td><td style="width: 171px;">String</td><td style="width: 82px;">是</td><td style="width: 113px;">返回码</td><td style="width: 288px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 119px;">returnDesc</td><td style="width: 171px;">String</td><td style="width: 82px;">是</td><td style="width: 113px;">返回信息</td><td style="width: 288px;">交易结果描述或错误原因</td></tr><tr><td style="width: 119px;">discountCode</td><td style="width: 171px;">String</td><td style="width: 82px;">否</td><td style="width: 113px;">折扣编码</td><td style="width: 288px;">由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元</td></tr><tr><td style="width: 119px;">tenderCode</td><td style="width: 171px;">String</td><td style="width: 82px;">否</td><td style="width: 113px;">支付方式编码</td><td style="width: 288px;">由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元</td></tr><tr><td style="width: 119px;">fundChannel</td><td style="width: 171px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 82px;">否</td><td style="width: 113px;">资金渠道</td><td style="width: 288px;"> </td></tr><tr><td style="width: 119px;">printDetail</td><td style="width: 171px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 82px;">否</td><td style="width: 113px;">打印信息</td><td style="width: 288px;">如需要在收银小票上打印信息时必填</td></tr><tr><td style="width: 119px;">memberDetail</td><td style="width: 171px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 82px;">否</td><td style="width: 113px;">会员信息</td><td style="width: 288px;">返回本次交易的会员信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "discountCode": "0001",
    "tenderCode": "8001",
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中信银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **支持撤销的交易**

- qrcodeSale

# 隔日退款（实体卡）

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

- 用户需要退款时，可以调用此接口，支持全额或部分退款（依赖支付机构的接口）。

#### **交易流程说明**

- 该交易发至中间件后，中间件不会直接请求易百后台，而是先点亮[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")，等待刷卡和输入密码，[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")上确认后，中间件收到卡和密码信息再请求易百后台进行处理。

#### **action**

- `refundCardSale`

#### **请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>originalTraceNo</td><td>String</td><td>是</td><td>原收银机流水号</td><td>传入需要退款的原交易收银机流水号</td></tr><tr><td>refundAmount</td><td>Price</td><td>是</td><td>本次退款金额</td><td>单位：元</td></tr><tr><td>acquirer</td><td>String</td><td>否</td><td>收单机构</td><td>如：citicCashpay表示中信收单，如果收单撤销是必填的</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "originalTraceNo": "99000009100010101732124",
    "refundAmount": 40.8,
    "acquirer": "citicCashpay"
}

```

#### **返回参数，中间件===&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-t-0" style="height: 398px;"><thead><tr style="height: 29px;"><th style="width: 138px; height: 29px;">字段</th><th style="width: 169px; height: 29px;">类型</th><th style="width: 83px; height: 29px;">是否必填</th><th style="width: 146px; height: 29px;">字段意义</th><th style="width: 273px; height: 29px;">备注</th></tr></thead><tbody><tr style="height: 29px;"><td style="width: 138px; height: 29px;">traceNo</td><td style="width: 169px; height: 29px;">String</td><td style="width: 83px; height: 29px;">是</td><td style="width: 146px; height: 29px;">收银机流水号</td><td style="width: 273px; height: 29px;">不允许重复</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">orderNo</td><td style="width: 169px; height: 29px;">String</td><td style="width: 83px; height: 29px;">是</td><td style="width: 146px; height: 29px;">交易订单号</td><td style="width: 273px; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">transDate</td><td style="width: 169px; height: 29px;">String</td><td style="width: 83px; height: 29px;">是</td><td style="width: 146px; height: 29px;">交易时间</td><td style="width: 273px; height: 29px;">格式为：YYYYmmddHHMMSS</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">returnCode</td><td style="width: 169px; height: 29px;">String</td><td style="width: 83px; height: 29px;">是</td><td style="width: 146px; height: 29px;">返回码</td><td style="width: 273px; height: 29px;">00表示交易成功，其他表示失败</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">returnDesc</td><td style="width: 169px; height: 29px;">String</td><td style="width: 83px; height: 29px;">是</td><td style="width: 146px; height: 29px;">返回信息</td><td style="width: 273px; height: 29px;">交易结果描述或错误原因</td></tr><tr style="height: 45px;"><td style="width: 138px; height: 45px;">discountCode</td><td style="width: 169px; height: 45px;">String</td><td style="width: 83px; height: 45px;">否</td><td style="width: 146px; height: 45px;">折扣编码</td><td style="width: 273px; height: 45px;">由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元</td></tr><tr style="height: 45px;"><td style="width: 138px; height: 45px;">tenderCode</td><td style="width: 169px; height: 45px;">String</td><td style="width: 83px; height: 45px;">否</td><td style="width: 146px; height: 45px;">支付方式编码</td><td style="width: 273px; height: 45px;">由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元</td></tr><tr style="height: 29px;"><td style="width: 138px; height: 29px;">refundAmount</td><td style="width: 169px; height: 29px;">Price</td><td style="width: 83px; height: 29px;">是</td><td style="width: 146px; height: 29px;">退款成功总金额</td><td style="width: 273px; height: 29px;">单位：元</td></tr><tr style="height: 35px;"><td style="width: 138px; height: 35px;">fundChannel</td><td style="width: 169px; height: 35px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 83px; height: 35px;">否</td><td style="width: 146px; height: 35px;">资金渠道</td><td style="width: 273px; height: 35px;"> </td></tr><tr style="height: 35px;"><td style="width: 138px; height: 35px;">printDetail</td><td style="width: 169px; height: 35px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 83px; height: 35px;">否</td><td style="width: 146px; height: 35px;">打印信息</td><td style="width: 273px; height: 35px;">如需要在收银小票上打印信息时必填</td></tr><tr style="height: 35px;"><td style="width: 138px; height: 35px;">memberDetail</td><td style="width: 169px; height: 35px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 83px; height: 35px;">否</td><td style="width: 146px; height: 35px;">会员信息</td><td style="width: 273px; height: 35px;">返回本次交易的会员信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "discountCode": "0001",
    "tenderCode": "8001",
    "refundAmount": 40.8,
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中信银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **支持退款的交易**

- cardPayment
- CardRedemption

# 隔日退款（二维码）

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

- 用户需要退款时，可以调用此接口，支持全额或部分退款（依赖支付机构的接口）。

#### **action**

- `refundQrcodeSale`

#### **请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>originalTraceNo</td><td>String</td><td>是</td><td>原收银机流水号</td><td>传入需要退款的原交易收银机流水号</td></tr><tr><td>refundAmount</td><td>Price</td><td>是</td><td>本次退款金额</td><td>单位：元</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "originalTraceNo": "99000009100010101732124",
    "refundAmount": 40.8
}

```

#### **返回参数，中间件===&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-t-0" style="width: 765px;"><thead><tr><th style="width: 114px;">字段</th><th style="width: 172px;">类型</th><th style="width: 81px;">是否必填</th><th style="width: 117px;">字段意义</th><th style="width: 281px;">备注</th></tr></thead><tbody><tr><td style="width: 114px;">traceNo</td><td style="width: 172px;">String</td><td style="width: 81px;">是</td><td style="width: 117px;">收银机流水号</td><td style="width: 281px;">不允许重复</td></tr><tr><td style="width: 114px;">orderNo</td><td style="width: 172px;">String</td><td style="width: 81px;">是</td><td style="width: 117px;">交易订单号</td><td style="width: 281px;"> </td></tr><tr><td style="width: 114px;">transDate</td><td style="width: 172px;">String</td><td style="width: 81px;">是</td><td style="width: 117px;">交易时间</td><td style="width: 281px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 114px;">returnCode</td><td style="width: 172px;">String</td><td style="width: 81px;">是</td><td style="width: 117px;">返回码</td><td style="width: 281px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 114px;">returnDesc</td><td style="width: 172px;">String</td><td style="width: 81px;">是</td><td style="width: 117px;">返回信息</td><td style="width: 281px;">交易结果描述或错误原因</td></tr><tr><td style="width: 114px;">refundAmount</td><td style="width: 172px;">Price</td><td style="width: 81px;">是</td><td style="width: 117px;">退款成功总金额</td><td style="width: 281px;">单位：元</td></tr><tr><td style="width: 114px;">discountCode</td><td style="width: 172px;">String</td><td style="width: 81px;">否</td><td style="width: 117px;">折扣编码</td><td style="width: 281px;">由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元</td></tr><tr><td style="width: 114px;">tenderCode</td><td style="width: 172px;">String</td><td style="width: 81px;">否</td><td style="width: 117px;">支付方式编码</td><td style="width: 281px;">由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元</td></tr><tr><td style="width: 114px;">fundChannel</td><td style="width: 172px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 81px;">否</td><td style="width: 117px;">资金渠道</td><td style="width: 281px;"> </td></tr><tr><td style="width: 114px;">printDetail</td><td style="width: 172px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 81px;">否</td><td style="width: 117px;">打印信息</td><td style="width: 281px;">如需要在收银小票上打印信息时必填</td></tr><tr><td style="width: 114px;">memberDetail</td><td style="width: 172px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 81px;">否</td><td style="width: 117px;">会员信息</td><td style="width: 281px;">返回本次交易的会员信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "refundAmount": 40.8,
    "discountCode": "0001",
    "tenderCode": "8001",
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中信银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **支持退款的交易**

- qrcodeSale

# 卡余额或权益查询

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

- 银行卡积分余额查询
- 银行卡余额查询
- 银行卡权益次数查询
- 预付费卡余额查询
- 会员卡积分或余额查询

#### **交易流程说明**

- 该交易发至中间件后，中间件不会直接请求易百后台，而是先点亮[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")，等待刷卡和输入密码，[MIS-POS](https://book.e-buy.com/link/391#bkmrk-mis-pos "安装于商户门店内的POS机具，提供活动执行辅助及兑换功能")上确认后，中间件收到卡和密码信息再请求易百后台进行处理。

#### **action**

- `balance`

#### **请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>activityProductNo</td><td>String</td><td>否</td><td>活动产品编号</td><td>卡BIN不明确时必填，易百分配</td></tr><tr><td>memberDetail</td><td>Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td>否</td><td>会员信息</td><td>会员交易时必填</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "activityProductNo": "HDCP00000000001236",
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **返回参数，中间件===&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-t-0"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>orderNo</td><td>String</td><td>是</td><td>交易订单号</td><td>单位：元</td></tr><tr><td>transDate</td><td>String</td><td>是</td><td>交易时间</td><td>格式为：YYYYmmddHHMMSS</td></tr><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>rightsTimes</td><td>Integer</td><td>是</td><td>权益次数</td><td>返回可以享受的权益次数</td></tr><tr><td>moneyBalance</td><td>Price</td><td>是</td><td>现金余额</td><td>单位：元</td></tr><tr><td>pointBalance</td><td>Price</td><td>是</td><td>积分余额</td><td>单位：分</td></tr><tr><td>printDetail</td><td>Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td>否</td><td>打印信息</td><td>如需要在收银小票上打印信息时必填</td></tr><tr><td>memberDetail</td><td>Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td>否</td><td>会员信息</td><td>返回本次交易的会员信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "rightsTimes": 1,
    "moneyBalance": 40.8,
    "pointBalance": 40000,
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中信银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "0",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}
```

# 电子凭证查询

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

- 查询电子凭证的产品信息，可抵用的金额以及所属的活动，支持易百自有电子凭证和第三方电子凭证。

#### **交易流程说明**

- 该交易需要先采集二维码扫描器或键盘输入的二维码信息，再发至中间件，中间件收到请求后，检查包含ecoupon内容信息再请求易百后台进行处理。

#### **action**

- `ecouponInquiry`

#### **请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>qrcode</td><td>String</td><td>是</td><td>电子凭证号</td><td>要查询的电子凭证号</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "qrcode": "00000001235"
}

```

#### **返回参数，中间件===&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-t-0"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>orderNo</td><td>String</td><td>是</td><td>交易订单号</td><td>单位：元</td></tr><tr><td>transDate</td><td>String</td><td>是</td><td>交易时间</td><td>格式为：YYYYmmddHHMMSS</td></tr><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>canPayAmount</td><td>Price</td><td>是</td><td>可抵用的总金额</td><td>单位：元</td></tr><tr><td>activityProductNo</td><td>String</td><td>否</td><td>活动产品编号</td><td>该电子凭证所属的活动产品编号</td></tr><tr><td>activityProductName</td><td>String</td><td>否</td><td>活动产品名称</td><td>该电子凭证所属的活动产品名称</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "canPayAmount": 40.8,
    "activityProductNo": "2016123101",
    "activityProductName": "中信365权益"
}
```

# 会员集点

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

- 会员集点

#### **action**

- `accumulating`

#### **请求参数，收银机===&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-t" style="width: 751px;"><thead><tr><th style="width: 151px;">字段</th><th style="width: 175px;">类型</th><th style="width: 84px;">是否必填</th><th style="width: 107px;">字段意义</th><th style="width: 234px;">备注</th></tr></thead><tbody><tr><td style="width: 151px;">traceNo</td><td style="width: 175px;">String</td><td style="width: 84px;">是</td><td style="width: 107px;">收银机流水号</td><td style="width: 234px;">不允许重复</td></tr><tr><td style="width: 151px;">totalAmount</td><td style="width: 175px;">Price</td><td style="width: 84px;">是</td><td style="width: 107px;">交易总金额</td><td style="width: 234px;">单位：元</td></tr><tr><td style="width: 151px;">undiscountAmount</td><td style="width: 175px;">Price</td><td style="width: 84px;">否</td><td style="width: 107px;">不可打折金额</td><td style="width: 234px;">单位：元</td></tr><tr><td style="width: 151px;">activityNo</td><td style="width: 175px;">String</td><td style="width: 84px;">否</td><td style="width: 107px;">集点活动编号</td><td style="width: 234px;">收银机集点时填写,后台集点不填</td></tr><tr><td style="width: 151px;">points</td><td style="width: 175px;">Integer</td><td style="width: 84px;">否</td><td style="width: 107px;">集点点数</td><td style="width: 234px;">收银机集点时填写,后台集点不填</td></tr><tr><td style="width: 151px;">goodsDetail</td><td style="width: 175px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 84px;">否</td><td style="width: 107px;">产品明细</td><td style="width: 234px;">验证产品明细时必填</td></tr><tr><td style="width: 151px;">memberDetail</td><td style="width: 175px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 84px;">否</td><td style="width: 107px;">会员信息</td><td style="width: 234px;">会员支付时必填</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "totalAmount": 40.8,
    "undiscountAmount": 0,
    "activityNo": "2016121901",
    "points": 100,
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000"
        }
    ],
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **返回参数，中间件===&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-t-0" style="width: 802px;"><thead><tr><th style="width: 157px;">字段</th><th style="width: 169px;">类型</th><th style="width: 83px;">是否必填</th><th style="width: 134px;">字段意义</th><th style="width: 259px;">备注</th></tr></thead><tbody><tr><td style="width: 157px;">traceNo</td><td style="width: 169px;">String</td><td style="width: 83px;">是</td><td style="width: 134px;">收银机流水号</td><td style="width: 259px;">不允许重复</td></tr><tr><td style="width: 157px;">orderNo</td><td style="width: 169px;">String</td><td style="width: 83px;">是</td><td style="width: 134px;">交易订单号</td><td style="width: 259px;">易百生成</td></tr><tr><td style="width: 157px;">transDate</td><td style="width: 169px;">String</td><td style="width: 83px;">是</td><td style="width: 134px;">交易时间</td><td style="width: 259px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 157px;">returnCode</td><td style="width: 169px;">String</td><td style="width: 83px;">是</td><td style="width: 134px;">返回码</td><td style="width: 259px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 157px;">returnDesc</td><td style="width: 169px;">String</td><td style="width: 83px;">是</td><td style="width: 134px;">返回信息</td><td style="width: 259px;">交易结果描述或错误原因</td></tr><tr><td style="width: 157px;">activityProductNo</td><td style="width: 169px;">String</td><td style="width: 83px;">否</td><td style="width: 134px;">集点活动产品编号</td><td style="width: 259px;"> </td></tr><tr><td style="width: 157px;">activityProductName</td><td style="width: 169px;">String</td><td style="width: 83px;">否</td><td style="width: 134px;">集点活动产品名称</td><td style="width: 259px;"> </td></tr><tr><td style="width: 157px;">printDetail</td><td style="width: 169px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 83px;">否</td><td style="width: 134px;">打印信息</td><td style="width: 259px;">如需要在收银小票上打印信息时必填</td></tr><tr><td style="width: 157px;">memberDetail</td><td style="width: 169px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 83px;">否</td><td style="width: 134px;">会员信息</td><td style="width: 259px;">返回本次交易的会员信息</td></tr></tbody></table>

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

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "activityProductNo": "2016123102",
    "activityProductName": "圣诞集点活动",
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中国银行",
        "paymentOrderNo": "201612315689412157458787",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}
```

# 管理类接口



# 每日结算

**接口用途**

- 汇总本次结算至上次结算时间段内的所有成功交易（含退款）。

**action**

- `summary`

**请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr></tbody></table>

**请求报文举例**

```
{
    "traceNo": "99000009100010101732123"
}

```

**返回参数，中间件===&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-t-0" style="width: 756px;"><thead><tr><th style="width: 144px;">字段</th><th style="width: 147px;">类型</th><th style="width: 82px;">是否必填</th><th style="width: 142px;">字段意义</th><th style="width: 241px;">备注</th></tr></thead><tbody><tr><td style="width: 144px;">traceNo</td><td style="width: 147px;">String</td><td style="width: 82px;">是</td><td style="width: 142px;">收银机流水号</td><td style="width: 241px;">不允许重复</td></tr><tr><td style="width: 144px;">transDate</td><td style="width: 147px;">String</td><td style="width: 82px;">是</td><td style="width: 142px;">交易时间</td><td style="width: 241px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 144px;">returnCode</td><td style="width: 147px;">String</td><td style="width: 82px;">是</td><td style="width: 142px;">返回码</td><td style="width: 241px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 144px;">returnDesc</td><td style="width: 147px;">String</td><td style="width: 82px;">是</td><td style="width: 142px;">返回信息</td><td style="width: 241px;">交易结果描述或错误原因</td></tr><tr><td style="width: 144px;">settleRecord</td><td style="width: 147px;">List&lt;[settleRecord](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/8e6b4 "settleRecord")&gt;</td><td style="width: 82px;">是</td><td style="width: 142px;">结算记录</td><td style="width: 241px;"> </td></tr><tr><td style="width: 144px;">beginDate</td><td style="width: 147px;">String</td><td style="width: 82px;">是</td><td style="width: 142px;">结算开始时间</td><td style="width: 241px;">格式：YYYYmmddHHMMSS</td></tr><tr><td style="width: 144px;">endDate</td><td style="width: 147px;">String</td><td style="width: 82px;">是</td><td style="width: 142px;">结算结束时间</td><td style="width: 241px;">格式：YYYYmmddHHMMSS</td></tr><tr><td style="width: 144px;">volume</td><td style="width: 147px;">Integer</td><td style="width: 82px;">是</td><td style="width: 142px;">总交易笔数</td><td style="width: 241px;"> </td></tr><tr><td style="width: 144px;">totalReceiptAmount</td><td style="width: 147px;">Price</td><td style="width: 82px;">是</td><td style="width: 142px;">商户实收总金额</td><td style="width: 241px;"> </td></tr><tr><td style="width: 144px;">totalAmount</td><td style="width: 147px;">Price</td><td style="width: 82px;">是</td><td style="width: 142px;">总金额</td><td style="width: 241px;">所有交易汇总的金额</td></tr></tbody></table>

**返回报文举例**

```
{
    "traceNo": "99000009100010101732123",
    "transDate": "20161231102201",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "settleRecord": [
        {
            "activityNo": "2016101201",
            "activityName": "浦发银行积分兑换",
            "productName": "大杯",
            "customer": "浦发银行",
            "isRefund": false,
            "volume": 130,
            "totalReceiptAmount": "2082.10",
            "totalAmount": "2082.10"
        },
        {
            "activityNo": "2016120301",
            "activityName": "支付宝",
            "productName": "全场产品",
            "customer": "易百支付",
            "isRefund": false,
            "volume": 100,
            "totalReceiptAmount": "234.10",
            "totalAmount": "234.10"
        }
    ],
    "beginDate": "20161029113602",
    "endDate": "20161030113602",
    "volume": 230,
    "totalReceiptAmount": 1900,
    "totalAmount": 2000,
}
```

# 批上送

**接口用途**

- 收银机可批量上传数据到易百后台，易百后台返回对账匹配的结果，最多支持一周内(含当天)的交易对账。

**action**

- `batchUpload`

**请求参数，收银机===&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-t"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>transCount</td><td>Integer</td><td>是</td><td>本次上送笔数</td><td>必须与transRecord的List大小一致</td></tr><tr><td>beginTime</td><td>String</td><td>是</td><td>交易开始时间</td><td>格式：YYYYmmddHHMMSS</td></tr><tr><td>endTime</td><td>String</td><td>是</td><td>交易结束时间</td><td>格式：YYYYmmddHHMMSS</td></tr><tr><td>transRecord</td><td>List&lt;[transRecord](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/093f6 "transRecord")&gt;</td><td>是</td><td>交易记录</td><td>每次上送最大支持5000笔交易</td></tr></tbody></table>

**请求报文举例**

```
{
    "traceNo": "99000009100010101732123",
    "transCount": 3,
    "beginTime": "20161231102201",
    "endTime": "20161231102230",
    "transRecord": [
      {
          "traceNo": "99000009100010101732123",
          "paidAmount": 100.00,
          "status": 0
      },
      {
          "traceNo": "99000009100010101732123",
          "paidAmount": 200.00,
          "status": 0
      },
      {
          "traceNo": "99000009100010101732123",
          "paidAmount": 300.00,
          "status": 0
      }
    ]
}

```

**返回参数，中间件===&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-t-0"><thead><tr><th>字段</th><th>类型</th><th>是否必填</th><th>字段意义</th><th>备注</th></tr></thead><tbody><tr><td>traceNo</td><td>String</td><td>是</td><td>收银机流水号</td><td>不允许重复</td></tr><tr><td>transDate</td><td>String</td><td>是</td><td>交易时间</td><td>格式为：YYYYmmddHHMMSS</td></tr><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>transRecord</td><td>List&lt;[transRecord](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/093f6 "transRecord")&gt;</td><td>是</td><td>对账后的记录</td><td>每次返回最大支持5000笔交易</td></tr></tbody></table>

**返回报文举例**

```
{
    "traceNo": "99000009100010101732123",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "transRecord": [
      {
          "traceNo": "99000009100010101732123",
          "paidAmount": 100.00,
          "status": 1
      },
      {
          "traceNo": "99000009100010101732123",
          "paidAmount": 200.00,
          "status": 2
      },
      {
          "traceNo": "99000009100010101732123",
          "paidAmount": 300.00,
          "status": 3
      }
    ]
}
```