ebuy-cashier-middleware-api

文档介绍
文档目的 

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

 物理架构 

 

 

 流程说明： 

 1.收银机和易百POS采用USB口或者串口连接，各收银机之间通过局域网连接 

 2.各门店（含多台收银机)通过公网VPN（或者专线）连接易百POSP 

 3.易百POSP再通过专线连接各发卡银行 

 

 逻辑架构 

 

 

 流程说明： 

 1.收银机发起交易，并把相关的数据发给中间件接口软件，中间件接口软件对收银机发来的数据指令进行解析并作相关的处理 

 2.中间件接口软件发给 MIS-POS 相关的指令，让 MIS-POS 执行相关的操作 

 3. MIS-POS 执行完相关的操作后获取相关数据发回给中间件接口软件 

 4.中间件接口软件作相应的处理，并打包8583包发给易百POSP 

 5.易百POSP根据交易类型做相应的处理，若需要转发给发卡行的就转发给发卡行并作相应的处理，最后返回响应报文8583包给中间件接口软件 

 6.中间件接口软件根据需要发响应的指令数据给 MIS-POS （比如MAC校验） 

 7. MIS-POS 作响应的处理，并返回响应数据给中间件接口软件 

 8.中间件接口软件把处理结果返回给收银机

名词解释
Socket 

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

 MIS-POS 

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

 易百POSP 

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

 BCD 

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

 TLV 

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

 PINPAD 

 密码键盘 

 易百POS 

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

 易百后台 

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

 中间件 

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

接口说明

调用方法
内容 

 说明 

 通讯方式 

 TCP/IP  Socket ,监听127.0.0.1端口 

 端口 

 监听单个端口，支持收发，使用3018端口 

 交互数据格式 

 JSON 

 字符编码 

 UTF-8 

 签名验证 

 本机通讯无需签名

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

 报文长度 

 报文内容 

 2个字节 HEX格式 

 明文ASCII格式 

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

 序号 

 格式 

 参数 

 数据举例 

 参数说明 

 备注 

 1 

 action 

 String 

 inquiry 

 交易类型 

 具体接口有详细说明 

 2 

 deviceNo 

 String 

 POS01 

 收银机编号 

 用于区别本次交易请求的收银机 

 3 

 shopNo 

 String 

 CN123456 

 门店编号 

 用于区别本次交易请求的门店 

 4 

 brand 

 String 

 663 

 品牌编号 

 用于区别本次交易请求的品牌，易百分配 

 5 

 body 

 String 

 BASE64 

 报文内容 

 具体接口有详细说明，本域需要采用BASE64编码 

 报文举例 

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

 

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

业务参数对象

产品明细
JSON Key为 goodsDetail ，必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 goodsCategory 

 String 

 是 

 商品类别 

   

 goodsId 

 String 

 是 

 商品编号 

   

 goodsName 

 String 

 否 

 商品名称 

 用于报表、小票等显示 

 price 

 Price 

 是 

 单价 

 单位：元 

 quantity 

 Integer 

 是 

 数量 

   

 rebateCode 

 String 

 否 

 折扣代码 

 收银机上已设置折扣，则必填,则必填,长度大于3位小于32位 

 activityNo 

 String 

 否 

 活动编号 

 易百后台交易成功，会返回本交易所属的活动编号 

 memo 

 String 

 否 

 备注 

 易百后台交易成功，会返回部分信息，如电子凭证号码

资金渠道
JSON Key为 fundChannel ，出现在返回报文中，非必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 channelNo 

 String 

 是 

 资金渠道编号 

   

 channelName 

 String 

 是 

 资金渠道名称 

   

 channelAmount 

 Price 

 是 

 金额 

 支持的资金渠道如下： 

 channelNo 

 channelName 

 字段意义 

 user_real_money 

 用户实际支付 

 如支付宝余额、余额宝、微信钱包余额、银行卡等 

 user_balance 

 用户余额支付 

 如支付宝余额、余额宝、微信钱包余额等 

 user_bank_card 

 用户银行卡余额 

 使用用户借记卡或贷记卡的余额进行支付 

 user_credit 

 用户信用支付 

 如支付宝花呗、京东白条等 

 user_points 

 用户积分支付 

 如银行积分、天猫积分、集分宝等 

 merchant_benefit 

 商户提供的优惠 

 如商户空券，商户折扣等 

 platform_benefit 

 平台提供的优惠 

 如平台折扣，平台补贴等 

 ebuy_benefit 

 易百提供的优惠 

 如易百折扣，易百补贴等

打印信息
JSON Key为 printDetail ，出现在返回报文中，非必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 cardNo64 

 String 

 否 

 卡号前六后四 

 返回需要打印的卡号前六后四 

 bank 

 String 

 否 

 发卡银行 

 返回需要打印的发卡银行 

 paymentOrderNo 

 String 

 否 

 机构订单号 

 返回需要打印的机构订单号 

 paymentUser 

 String 

 否 

 机构用户账号 

 返回需要打印的机构用户账号 

 pointSale 

 String 

 否 

 扣除积分 

 返回需要打印的扣除积分数量 

 qrCode1 

 String 

 否 

 打印二维码1 

 返回需要打印的二维码1 

 qrCode2 

 String 

 否 

 打印二维码2 

 返回需要打印的二维码2 

 qrCode3 

 String 

 否 

 打印二维码3 

 返回需要打印的二维码3 

 barCode1 

 String 

 否 

 打印条码1 

 返回需要打印的条码内容1 

 barCode2 

 String 

 否 

 打印条码2 

 返回需要打印的条码内容2 

 barCode3 

 String 

 否 

 打印条码3 

 返回需要打印的条码内容3 

 content 

 String 

 否 

 打印内容 

 返回需要打印的内容， TLV 格式，1F为小票title，2F为小票交易类型说明显示 

 printMode 

 String 

 否 

 打印联数 

 1表示一联，2表示两联，3表示三联 

 __

会员信息
JSON Key为 memberDetail ，非必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 memberId 

 String 

 是 

 会员ID 

   

 memberCode 

 String 

 是 

 会员编号 

   

 memberName 

 String 

 是 

 会员名称 

   

 memberPhone 

 String 

 否 

 会员手机号码 

   

 grade 

 String 

 否 

 会员等级 

   

 status 

 String 

 否 

 会员状态 

   

 balance 

 Price 

 否 

 会员卡余额 

   

 pointBalance 

 Price 

 否 

 会员积分余额

结算记录
JSON Key为 settleRecord ，非必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 activityNo 

 String 

 是 

 活动编号 

   

 activityName 

 String 

 是 

 活动名称 

   

 productName 

 String 

 是 

 产品名称 

   

 customer 

 String 

 是 

 结算客户 

   

 isRefund 

 Boolean 

 是 

 是否为退款 

   

 volume 

 Integer 

 是 

 交易笔数 

   

 totalReceiptAmount 

 Price 

 是 

 商户实收金额 

   

 totalAmount 

 Price 

 是 

 小计金额

交易记录
JSON Key为 transRecord ，必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 原交易收银机流水号 

   

 paidAmount 

 String 

 是 

 支付成功金额 

   

 status 

 String 

 是 

 匹配状态 

 枚举如下 

 status枚举 

 0 上送初始时填写该值 

 1 paidAmount易百后台等于上送值 

 2 paidAmount易百后台大于上送值 

 3 paidAmount易百后台小于上送值 

 4 易百后台不存在该笔交易 

 5 易百后台该笔交易为失败交易 

 6 易百后台该笔交易为已撤销交易 

 7 易百后台该笔交易为已冲正交易 

 8 易百后台该笔交易为已退款交易 

 9 易百后台对账处理失败 

 10 易百后台有，但收银机不存在该笔交易

收单信息
JSON Key为 paymentExtra ，必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 acqId 

 String 

 是 

 收单机构标识码 

   

 issuerId 

 String 

 是 

 发卡机构标识码 

   

 cardType 

 String 

 是 

 卡类型 

 0001贷记卡,0002借记卡,0003准贷记卡,0000其它 

 cardOrgan 

 String 

 是 

 卡类别 

 true外卡，false内卡 

 pan 

 String 

 是 

 卡号 

 脱敏卡号格式：622562****8888 

 aid 

 String 

 否 

 应用标识 

 通过aid来判断卡类型（VISA/MASTER/...）,在没有返回aid字段的情况下，可以通过pan卡号字段中的卡BIN来判断卡类型

优惠券明细
JSON Key为 voucherDetail ，必填 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 voucherId 

 String 

 是 

 优惠券编号 

   

 voucherName 

 String 

 是 

 优惠券名称 

 用于报表、小票等显示 

 voucherType 

 String 

 是 

 优惠券类型 

 voucherAmount 

 Price 

 是 

 单价 

 单位：元 

 voucherCode 

 String 

 是 

 优惠券串号

交易类接口

银行卡收单
交易流程说明 

 该交易发至中间件后，中间件不会直接请求易百后台，而是先点亮 MIS-POS ，等待刷卡和输入密码， MIS-POS 上确认后，中间件收到卡和密码信息再请求易百后台进行处理。 

 action 

 cardPayment 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复，建议YYYYmmddHHMMSS+10位流水号 

 totalAmount 

 Price 

 是 

 交易总金额 

 单位：元 

 undiscountAmount 

 Price 

 是 

 不可打折金额 

 单位：元 

 acquirer 

 String 

 是 

 收单机构 

 如：citicCashpay表示中信收单 

 goodsDetail 

 List< goodsDetail > 

 是 

 产品明细 

 验证产品明细时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 会员支付时必填 

 请求报文举例 

 {

 "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

 }

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

 易百生成 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 paidAmount 

 Price 

 是 

 支付成功总金额 

 面值，单位：元 

 receiptAmount 

 Price 

 否 

 商户实收金额 

 净值，单位：元 

 invoiceAmount 

 Price 

 否 

 商户开票金额 

 单位：元 

 exchangeRate 

 Number(8,6) 

 否 

 汇率 

 1外币等于多少人民币 

 currency 

 String 

 否 

 货币类型 

 例如:CNY 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元 

 discountNum 

 Number 

 否 

 固定金额折扣数量 

 用于入账计折扣类型的数量 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元 

 activityProductNo 

 String 

 否 

 活动产品编号 

   

 activityProductName 

 String 

 否 

 活动产品名称 

   

 needSameCard 

 Boolean 

 否 

 同一张卡支付 

 如满额立减类活动，需要同一张银行卡支付剩余金额 

 goodsDetail 

 List< goodsDetail > 

 否 

 折抵产品明细 

 返回后台已抵扣成功的产品明细 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 paymentExtra 

 Object< paymentDetail > 

 否 

 收单信息 

 返回本次交易的收单信息 

 返回报文举例 

 {

 "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"

 }

}

实体卡权益积分兑换
接口用途 

 银行积分兑换 

 银行积分兑换+现金支付 

 银行权益验证 

 银行权益验证+现金支付 

 预付费卡消费 

 会员卡消费 

 交易流程说明 

 该交易发至中间件后，中间件不会直接请求易百后台，而是先点亮 MIS-POS ，等待刷卡和输入密码， MIS-POS 上确认后，中间件收到卡和密码信息再请求易百后台进行处理。 

 action 

 cardRedemption 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复，建议YYYYmmddHHMMSS+10位流水号 

 totalAmount 

 Price 

 是 

 交易总金额 

 单位：元 

 undiscountAmount 

 Price 

 是 

 不可打折金额 

 单位：元 

 goodsDetail 

 List< goodsDetail > 

 是 

 产品明细 

 验证产品明细时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 会员支付时必填 

 请求报文举例 

 {

 "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

 }

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

 易百生成 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 paidAmount 

 Price 

 是 

 支付成功总金额 

 面值，单位：元 

 receiptAmount 

 Price 

 否 

 商户实收金额 

 净值，单位：元 

 invoiceAmount 

 Price 

 否 

 商户开票金额 

 单位：元 

 exchangeRate 

 Number(8,6) 

 否 

 汇率 

 1外币等于多少人民币 

 currency 

 String 

 否 

 货币类型 

 例如:CNY 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元 

 discountNum 

 Number 

 否 

 固定金额折扣数量 

 用于入账计折扣类型的数量 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元 

 activityProductNo 

 String 

 否 

 活动产品编号 

   

 activityProductName 

 String 

 否 

 活动产品名称 

   

 needSameCard 

 Boolean 

 否 

 同一张卡支付 

 如满额立减类活动，需要同一张银行卡支付剩余金额 

 goodsDetail 

 List< goodsDetail > 

 否 

 折抵产品明细 

 返回后台已抵扣成功的产品明细 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 返回报文举例 

 {

 "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 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复，建议YYYYmmddHHMMSS+10位流水号 

 totalAmount 

 Price 

 是 

 交易总金额 

 单位：元 

 undiscountAmount 

 Price 

 是 

 不可打折金额 

 单位：元 

 qrcode 

 String 

 是 

 二维码内容 

 串号、一维码或二维码内容 

 goodsDetail 

 List< goodsDetail > 

 是 

 产品明细 

 验证产品明细时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 会员支付时必填 

 请求报文举例 

 {

 "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

 }

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

 易百生成 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 paidAmount 

 Price 

 是 

 支付成功总金额 

 单位：元 

 receiptAmount 

 Price 

 否 

 商户实收金额 

 单位：元 

 invoiceAmount 

 Price 

 否 

 商户开票金额 

 单位：元 

 exchangeRate 

 Number(8,6) 

 否 

 汇率 

 1外币等于多少人民币 

 currency 

 String 

 否 

 货币类型 

 例如:CNY 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102\ 

 10.00表示折扣10元 

 discountNum 

 Number 

 否 

 固定金额折扣数量 

 用于入账计折扣类型的数量 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101\ 

 20.00表示支付20元 

 activityProductNo 

 String 

 否 

 活动产品编号 

   

 activityProductName 

 String 

 否 

 活动产品名称 

   

 goodsDetail 

 List< goodsDetail > 

 否 

 折抵产品明细 

 返回后台已抵扣成功的产品明细 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 voucherDetail 

 List< voucherDetail > 

 否 

 优惠券信息 

 返回本次交易的优惠券信息 

 返回报文举例 

 {

 "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 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 originalTraceNo 

 String 

 是 

 原收银机流水号 

 传入需要查询的原交易收银机流水号 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123",

 "originalTraceNo": "99000009100010101732124"

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

 单位：元 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 paidAmount 

 Price 

 是 

 支付成功总金额 

 单位：元 

 receiptAmount 

 Price 

 否 

 商户实收金额 

 单位：元 

 invoiceAmount 

 Price 

 否 

 商户开票金额 

 单位：元 

 exchangeRate 

 Number(8,6) 

 否 

 汇率 

 1外币等于多少人民币 

 currency 

 String 

 否 

 货币类型 

 例如:CNY 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元 

 discountNum 

 Number 

 否 

 固定金额折扣数量 

 用于入账计折扣类型的数量 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元 

 activityProductNo 

 String 

 否 

 活动产品编号 

   

 activityProductName 

 String 

 否 

 活动产品名称 

   

 needSameCard 

 Boolean 

 否 

 同一张卡支付 

 如满额立减类活动，需要同一张银行卡支付剩余金额 

 goodsDetail 

 List< goodsDetail > 

 否 

 折抵产品明细 

 返回后台已抵扣成功的产品明细 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 voucherDetail 

 List< voucherDetail > 

 否 

 优惠券信息 

 返回本次交易的优惠券信息 

 返回报文举例 

 {

 "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 ，等待刷卡和输入密码， MIS-POS 上确认后，中间件收到卡和密码信息再请求易百后台进行处理。 

 action 

 voidCardSale 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 originalTraceNo 

 String 

 是 

 原收银机流水号 

 传入需要查询的原交易收银机流水号 

 acquirer 

 String 

 否 

 收单机构 

 如：citicCashpay表示中信收单，如果收单撤销是必填的 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123",

 "originalTraceNo": "99000009100010101732124",

 "acquirer": "citicCashpay"

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

   

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 返回报文举例 

 {

 "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 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 originalTraceNo 

 String 

 是 

 原收银机流水号 

 传入需要查询的原交易收银机流水号 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123",

 "originalTraceNo": "99000009100010101732124"

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

   

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 返回报文举例 

 {

 "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 ，等待刷卡和输入密码， MIS-POS 上确认后，中间件收到卡和密码信息再请求易百后台进行处理。 

 action 

 refundCardSale 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 originalTraceNo 

 String 

 是 

 原收银机流水号 

 传入需要退款的原交易收银机流水号 

 refundAmount 

 Price 

 是 

 本次退款金额 

 单位：元 

 acquirer 

 String 

 否 

 收单机构 

 如：citicCashpay表示中信收单，如果收单撤销是必填的 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123",

 "originalTraceNo": "99000009100010101732124",

 "refundAmount": 40.8,

 "acquirer": "citicCashpay"

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

   

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元 

 refundAmount 

 Price 

 是 

 退款成功总金额 

 单位：元 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 返回报文举例 

 {

 "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 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 originalTraceNo 

 String 

 是 

 原收银机流水号 

 传入需要退款的原交易收银机流水号 

 refundAmount 

 Price 

 是 

 本次退款金额 

 单位：元 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123",

 "originalTraceNo": "99000009100010101732124",

 "refundAmount": 40.8

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

   

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 refundAmount 

 Price 

 是 

 退款成功总金额 

 单位：元 

 discountCode 

 String 

 否 

 折扣编码 

 由收银机分配，用于入账计折扣类型，如：2016120102|10.00表示折扣10元 

 tenderCode 

 String 

 否 

 支付方式编码 

 由收银机分配，用于入账计支付方式，如：2016120101|20.00表示支付20元 

 fundChannel 

 List< fundChannel > 

 否 

 资金渠道 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 返回报文举例 

 {

 "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 ，等待刷卡和输入密码， MIS-POS 上确认后，中间件收到卡和密码信息再请求易百后台进行处理。 

 action 

 balance 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 activityProductNo 

 String 

 否 

 活动产品编号 

 卡BIN不明确时必填，易百分配 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 会员交易时必填 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123",

 "activityProductNo": "HDCP00000000001236",

 "memberDetail": {

 "memberId": "M000001545",

 "memberName": "TONY",

 "grade": "1",

 "status": "1",

 "balance": 1000.00,

 "pointBalance": 30000

 }

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

 单位：元 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 rightsTimes 

 Integer 

 是 

 权益次数 

 返回可以享受的权益次数 

 moneyBalance 

 Price 

 是 

 现金余额 

 单位：元 

 pointBalance 

 Price 

 是 

 积分余额 

 单位：分 

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 返回报文举例 

 {

 "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 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 qrcode 

 String 

 是 

 电子凭证号 

 要查询的电子凭证号 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123",

 "qrcode": "00000001235"

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

 单位：元 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 canPayAmount 

 Price 

 是 

 可抵用的总金额 

 单位：元 

 activityProductNo 

 String 

 否 

 活动产品编号 

 该电子凭证所属的活动产品编号 

 activityProductName 

 String 

 否 

 活动产品名称 

 该电子凭证所属的活动产品名称 

 返回报文举例 

 {

 "traceNo": "99000009100010101732123",

 "orderNo": "171698602301",

 "transDate": "20161231120533",

 "returnCode": "00",

 "returnDesc": "SUCCESS",

 "canPayAmount": 40.8,

 "activityProductNo": "2016123101",

 "activityProductName": "中信365权益"

}

会员集点
接口用途 

 会员集点 

 action 

 accumulating 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 totalAmount 

 Price 

 是 

 交易总金额 

 单位：元 

 undiscountAmount 

 Price 

 否 

 不可打折金额 

 单位：元 

 activityNo 

 String 

 否 

 集点活动编号 

 收银机集点时填写,后台集点不填 

 points 

 Integer 

 否 

 集点点数 

 收银机集点时填写,后台集点不填 

 goodsDetail 

 List< goodsDetail > 

 否 

 产品明细 

 验证产品明细时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 会员支付时必填 

 请求报文举例 

 {

 "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

 }

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 orderNo 

 String 

 是 

 交易订单号 

 易百生成 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 activityProductNo 

 String 

 否 

 集点活动产品编号 

   

 activityProductName 

 String 

 否 

 集点活动产品名称 

   

 printDetail 

 Object< printDetail > 

 否 

 打印信息 

 如需要在收银小票上打印信息时必填 

 memberDetail 

 Object< memberDetail > 

 否 

 会员信息 

 返回本次交易的会员信息 

 返回报文举例 

 {

 "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 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 请求报文举例 

 {

 "traceNo": "99000009100010101732123"

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 settleRecord 

 List< settleRecord > 

 是 

 结算记录 

   

 beginDate 

 String 

 是 

 结算开始时间 

 格式：YYYYmmddHHMMSS 

 endDate 

 String 

 是 

 结算结束时间 

 格式：YYYYmmddHHMMSS 

 volume 

 Integer 

 是 

 总交易笔数 

   

 totalReceiptAmount 

 Price 

 是 

 商户实收总金额 

   

 totalAmount 

 Price 

 是 

 总金额 

 所有交易汇总的金额 

 返回报文举例 

 {

 "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 

 请求参数，收银机===>中间件 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 transCount 

 Integer 

 是 

 本次上送笔数 

 必须与transRecord的List大小一致 

 beginTime 

 String 

 是 

 交易开始时间 

 格式：YYYYmmddHHMMSS 

 endTime 

 String 

 是 

 交易结束时间 

 格式：YYYYmmddHHMMSS 

 transRecord 

 List< transRecord > 

 是 

 交易记录 

 每次上送最大支持5000笔交易 

 请求报文举例 

 {

 "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

 }

 ]

}

 

 返回参数，中间件===>收银机 

 字段 

 类型 

 是否必填 

 字段意义 

 备注 

 traceNo 

 String 

 是 

 收银机流水号 

 不允许重复 

 transDate 

 String 

 是 

 交易时间 

 格式为：YYYYmmddHHMMSS 

 returnCode 

 String 

 是 

 返回码 

 00表示交易成功，其他表示失败 

 returnDesc 

 String 

 是 

 返回信息 

 交易结果描述或错误原因 

 transRecord 

 List< transRecord > 

 是 

 对账后的记录 

 每次返回最大支持5000笔交易 

 返回报文举例 

 {

 "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

 }

 ]

}