e-Buy 收银一体化
- 文档介绍
- 文档版本 (当前版本V3.3)
- 名词解释
- 接口说明
- 业务参数对象
- 礼品卡信息
- 卡信息
- 产品明细
- 资金渠道
- 打印信息
- 会员信息
- 权益信息
- 结算记录
- 交易记录
- 活动产品
- 交易时间戳
- 交易记录明细
- 功能菜单
- 图片信息
- 包裹明细
- 订单信息
- 优惠券明细
- 批量核销明细
- 批量核销劵码
- 扩展信息
- 集点明细
- 签购单信息
- 机构信息
- 电子券包本信息
- 账户信息
- 会员积分
- 会员电子券
- 卡券明细
- 扩展信息-抖音线上核销报文
- 交易类接口列表
- 银行卡收单
- 实体卡权益积分兑换
- 二维码支付或兑换
- 交易结果查询
- 当日撤销
- 隔日退款
- 撤销或退款结果查询(接口处于设计开发中请勿对接)
- 卡余额或权益查询
- 电子凭证查询
- 电子凭证预核销
- 电子凭证批量核销
- 批量核销结果查询
- 会员资产查询接口
- 会员集点
- 活动产品选项
- 收单交易结果通知
- 管理类接口列表
- 外卖类接口列表
- 卡券管理类接口列表
- 预授权类接口列表
- 电子券包本处理类接口列表
- POS机相关配置与说明
文档介绍
文档目的
此为收银机或中间件与易百后台直接通讯的报文协议。 为实现收银POS与易百后端支付,兑换业务交易实时同步,减少对账误差,同时可以实现与易百对接后,支持多种支付,兑换方式的需求。
物理架构
-
流程说明:
1.收银机和易百POS采用USB口或者串口连接,各收银机之间通过局域网连接
2.各门店(含多台收银机)通过公网VPN(或者专线)连接易百POSP
3.易百POSP再通过专线连接各发卡银行
逻辑架构
@startuml
skinparam monochrome reverse skinparam sequence { ParticipantFontSize 24 ActorFontSize 24 ArrowFontSize 22 GroupFontSize 20 }
participant "Cashier POS" participant "e-Buy Backend" #99FF99
"Cashier POS" -> "e-Buy Backend" : 1.Request ||| "e-Buy Backend" -> "Cashier POS" : 2.Response ||| ||| @enduml
-
流程说明:
1.收银机发起交易,数据发给易百后台
2.易百后台根据交易类型做相应的处理,并将处理结果返回给收银机
文档版本 (当前版本V3.3)
| 版本号 | 更新日期 | 说明 | 更新人 |
|---|---|---|---|
| V1.0 | 2018/2/1 | 初始导入 | 陈利军 |
| V1.1 | 2018/2/3 | 新增管理类接口:每日签到,每日结算,下载公钥个AID,下载秘钥 | 陈利军 |
| V1.2 | 2018/2/7 | 新增交易类接口:银行卡收单,实体卡权益积分兑换,二维码支付或兑换,交易结果查询,当日撤销,隔日退款 | 陈利军 |
| V1.3 | 2018/2/10 | 新增实体类描述 | 陈利军 |
| V1.4 | 2018/2/12 | 新增签名算法和加密算法的描述及demo | 陈利军 |
| V2.0 | 2018/3/7 | 新增收单交易结果通知接口 | 谈峥 |
| V2.1 | 2018/3/18 | 新增电子凭证查询,活动产品选项接口说明 | 徐仕霖 |
| V2.2 | 2018/3/19 | 银行卡收单,返回报文新增字段:cashBank,cashOrderNo,cashAmount | 谈峥 |
| V2.3 | 2018/3/22 | 二维码交易接口,返回报文新增字段:memberDetail,voucherDetail | 谢东磊 |
| V2.4 | 2018/4/3 | 调整集点接口支持一次按多个活动集点,请求报文新增字段activityNo | 徐仕霖 |
| V2.5 | 2018/4/14 | 新增交易明细查询接口 | 徐仕霖 |
| V2.6 | 2018/5/9 | 新增批上送,对账文件接口 | 谢东磊 |
| V2.7 | 2018/5/10 | 新增POS机相关配置说明 | 谈峥 |
| V3.0 | 2018/5/12 | 新增外卖类接口:订单列表,订单详情,拒绝订单,确认订单,取消接单,订单结算 | 谢东磊 |
| V3.1 | 2018/5/14 | 外卖接口新增:开启接单,关闭接单,核销冲正 | 谢东磊 |
| V3.2 | 2018/6/19 | 新增出库获取终端映射接口 | 谈峥 |
| V3.3 | 2018/7/20 | 新增cardpayment交易特殊逻辑 | 谈峥 |
| V3.4 | 2019/5/5 | 新增劵码批量核销、劵码预核销接口、支持单码批量核销撤销功能 | 凡先锋 |
| V3.5 | 2020/4/13 | 新增线上对接字段verifyType | 凡先锋 |
| V3.6 | 2020/4/29 | 更新traceNo格式要求'不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列' | 陈利军 |
| V3.7 | 2020/10/14 | 二维码支付或兑换接口增加权益(rightsDetail)字段上送webposp | 陈利军 |
| V3.8 | 2020/10/14 | 增加POS指令(00,1F,2F)说明 | 陈利军 |
名词解释
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所有交易的一组网络设备和服务器
中间件
安装在收银机上的独立应用,监控本地端口,并提供下载密钥、自动签到、自动更新和二次交互选择的界面功能
接口说明
调用方法
| 内容 | 说明 |
|---|---|
| 通讯方式 | 采用 HTTPS 方式访问 |
| 提交方法 | POST (application/json) |
| 交互数据格式 | JSON |
| 字符编码 | UTF-8 |
| 签名算法 | MD5 |
| 签名验证 | 提交和返回数据都需要验证签名 |
报文结构
请求报文和返回报文都采用如下的报文结构
| 序号 | 参数 | 类型 | 参考数据 | 参数说明 | 备注 |
|---|---|---|---|---|---|
| 1 | action | String | inquiry | 交易类型 | 具体接口有详细说明 |
| 2 | deviceNo | String(8) | POS01 | 收银机编号 | 用于区别本次交易请求的收银机 |
| 3 | shopNo | String(15) | CN123456 | 门店编号 | 用于区别本次交易请求的门店 |
| 4 | brand | String | 663 | 品牌编号 | 用于区别本次交易请求的品牌,易百分配 |
| 5 | body | String | BASE64 | 报文内容 | 具体接口有详细说明,本域需要采用BASE64编码 |
| 6 | mwVersion | String | 20161010 | 中间件版本号 | 用于兼容不同的中间件对应后台不同的处理方式 |
| 7 | ptlVersion | String | 20161010 | 协议版本号 | 用于兼容不同的报文协议对应后台不同的处理方式 |
| 8 | posVersion | String | 20161010 | 易百POS版本号 | 用于兼容不同的易百POS对应后台不同的处理方式 |
| 9 | timestamp | String | 1483372334 | Unix时间戳 | 单位:秒,中间件需要在收到返回时同步该时间 |
| 10 | sign | String | 7E65B60DCFA42B04 | 数据签名 | 详见:签名算法 |
报文举例
{
"action" : "inquiry",
"deviceNo" : "POS01",
"shopNo" : "CN123456",
"brand" : "663",
"body" : "ewogICAgICAgICAidHJhY2VObyI6ICI5OTAwMDAwOTEwMDAxMDEwMTczMjEyMyIsCiAgICAgICAgICJvcmlnaW5hbFRyYWNlTm8iOiAiOTkwMDAwMDkxMDAwMTAxMDE3MzIxMjQiCiAgICAgfQ==",
"mwVersion" : "20161010",
"ptlVersion" : "20161010",
"posVersion" : "20161010",
"timestamp" : "1483372334",
"sign" : "7E65B60DCFA42B04"
}
签名算法
签名过程
-
拼接报文参数
除sign参数外的所有参数按照ASCII顺序排序后,以"参数名1=参数值1&参数名2=参数值2"的方式拼接所有参数 -
拼接签名 mwMacKey
最后在尾部拼接双方约定的密钥"KEY=xxxxx",
因调用downloadKey接口前,并未获得mwMacKey,故使用指定KEY签名
因调用signin接口前,并未获得mwMacKey,故使用mwTmk签名 -
签名值计算
MD5-32加密后再转成HEX大写格式,即为签名值,并赋给sign参数。 -
注
当参数值为null或为空时不参与签名串拼接
示例报文
{
"action" : "inquiry",
"deviceNo" : "POS01",
"shopNo" : "CN123456",
"brand" : "663",
"body" : "ewogICAgICAgICAidHJhY2VObyI6ICI5OTAwMDAwOTEwMDAxMDEwMTczMjEyMyIsCiAgICAgICAgICJvcmlnaW5hbFRyYWNlTm8iOiAiOTkwMDAwMDkxMDAwMTAxMDE3MzIxMjQiCiAgICAgfQ==",
"mwVersion" : "20161010",
"ptlVersion" : "20161010",
"posVersion" : "20161010",
"timestamp" : "1483372334",
"sign" : "F38545F4D74B5C10A9EBBC053ED9D1CF"
}
签名mwMacKey密钥
94365019BBF9CEEAB0DF658E67754A70
拼接报文参数
action=inquiry&body=ewogICAgICAgICAidHJhY2VObyI6ICI5OTAwMDAwOTEwMDAxMDEwMTczMjEyMyIsCiAgICAgICAgICJvcmlnaW5hbFRyYWNlTm8iOiAiOTkwMDAwMDkxMDAwMTAxMDE3MzIxMjQiCiAgICAgfQ==&brand=663&deviceNo=POS01&mwVersion=20161010&posVersion=20161010&ptlVersion=20161010&shopNo=CN123456×tamp=1483372334
拼接签名KEY
action=inquiry&body=ewogICAgICAgICAidHJhY2VObyI6ICI5OTAwMDAwOTEwMDAxMDEwMTczMjEyMyIsCiAgICAgICAgICJvcmlnaW5hbFRyYWNlTm8iOiAiOTkwMDAwMDkxMDAwMTAxMDE3MzIxMjQiCiAgICAgfQ==&brand=663&deviceNo=POS01&mwVersion=20161010&posVersion=20161010&ptlVersion=20161010&shopNo=CN123456×tamp=1483372334&KEY=94365019BBF9CEEAB0DF658E67754A70
签名值计算
F38545F4D74B5C10A9EBBC053ED9D1CF
Java代码示例
Map<String, String> map = new TreeMap<>();
map.put("action", "downloadKey");
map.put("deviceNo", "CN999999");
map.put("shopNo", "CN999999");
map.put("brand", "1458");
map.put("body", "JXU2RDRCJXU4QkQ1JXU1MTg1JXU1QkI5JTIwJXU2RDRCJXU4QkQ1JXU1MTg1JXU1QkI5");
map.put("mwVersion", "20170214");
map.put("ptlVersion", "20170214");
map.put("posVersion", "20170214");
map.put("timestamp", "1483372334");
StringBuilder buffer = new StringBuilder();
for (Map.Entry<String, String> item : map.entrySet()) {
buffer.append(item.getKey()).append("=").append(item.getValue()).append("&");
}
buffer.append("KEY=").append("F42616614BDC0000161EF06C04061484");
String checkSign = DESCoder.getInstance().encryptMD5(buffer.toString(), "UTF-8").toUpperCase();
System.out.println(buffer.toString());
System.out.println(checkSign);
输出:
action=downloadKey&body=JXU2RDRCJXU4QkQ1JXU1MTg1JXU1QkI5JTIwJXU2RDRCJXU4QkQ1JXU1MTg1JXU1QkI5&brand=1458&deviceNo=CN999999&mwVersion=20170214&posVersion=20170214&ptlVersion=20170214&shopNo=CN999999×tamp=1483372334&KEY=F42616614BDC0000161EF06C04061484
824AE098F6135CF50A824BAE220379C6
数据加密算法
3DES介绍
- 3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。
加解密过程
- 设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,M代表明文,C代表密文,这样:
- 3DES加密过程为:C=Ek3(Dk2(Ek1(M)))
- 3DES解密过程为:M=Dk1(EK2(Dk3(C)))
- K1、K2、K3决定了算法的安全性,易百采用K1等于K3,并且使用ECB/NoPadding填充模式。
加密举例
设pinKey为: 9D93D15D6A3913AB4151C456A80841EF,则:
K1 = 9D93D15D6A3913AB
K2 = 4151C456A80841EF
K3 = 9D93D15D6A3913AB
原始数据M表示HEX为:3132333435363738,加密如下:
DES1_RESULT = Ek(M,K1)
DES2_RESULT = Dk(DES1_RESULT,K2)
C = Ek(DES2_RESULT,K3)
最终加密结果C为:C63AABF759BDE968
解密举例
设pinKey为: 9D93D15D6A3913AB4151C456A80841EF,则:
K1 = 9D93D15D6A3913AB
K2 = 4151C456A80841EF
K3 = 9D93D15D6A3913AB
密文数据C表示HEX为:C63AABF759BDE968,解密如下:
DES1_RESULT = Dk(C,K3)
DES2_RESULT = Ek(DES1_RESULT,K2)
M = Dk(DES2_RESULT,K1)
最终解密结果M为:3132333435363738
密码加密算法
ANSI X9.8 Format(带主帐号信息)
- PIN BLOCK 格式:等于 PIN 按位异或主帐号
-
PIN 格式:(个人识别码 Personal Identity Number)总共有8个byte长度,分为两个部分;(类似数据包的格式)
Byte 1 PIN的长度 Byte 2 – Byte 3/4/5/6/7 4--12个PIN(每个PIN占4个BIT) Byte4/5/6/7/8 – Byte 8 FILLER “F” (每个“F“占4个BIT) -
PAN(主帐号 Primary Account Number)同样包含8个byte,格式如下:
Byte 1 — Byte 2 0x00 0x00 Byte 3 — Byte 8 12个主帐号字符(最后一位为校验位) 12位字符主帐号的取法:取主帐号的右12位(不包括最右边的校验位),不足12位左补“0X00”。
加密举例
- 明文 PIN:
123456 - 主帐号 PAN:
123456789012345678 - 截取下的主帐号为:
678901234567(最后一位校验位8的前12位字符为截取的主帐号) - 则用于PIN加密的主帐号为:
0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67 - 则 PIN BLOCK (PIN按位异或主帐号PAN)
即是为: 0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF 异或上: 0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67 结果为: 0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98
密钥使用流程
一般调用流程:
- 当做 DownloadKey 时,使用 rootKey 来生成签名,返回报文中得到中间件主密钥 mwTmk 的密文,使用 rootKey 对该密文做3DES解密,得到 mwTmk 的明文。
- 当做 SignIn 时,使用上一步中获得的 mwTmk 明文来生成签名,返回报文中得到中间件Mac秘钥(工作秘钥) mwMacKey 的密文,使用 mwTmk 明文对此密文做3DES解密,得到mwMacKey 的明文。
- 当做交易时,使用上一步中获得的 mwMacKey 明文来生成签名。
业务参数对象
礼品卡信息
- JSON Key为cardInfo,出现在返回报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| cardNo | String | 是 | 卡号 | 礼品卡号 |
| cardStatus | int | 是 | 卡状态 | |
| effectStartTime | long | 否 | 有效开始时间 | 时间戳(毫秒数) |
| expireTime | String | 否 | 失效时间 | 时间戳(毫秒数) |
| bindSuccessTime | String | 否 | 绑定成功时间 | 时间戳(毫秒数) |
| lastUseTime | String | 否 | 最近使用时间 | 时间戳(毫秒数) |
| cardId | String | 是 | 礼品卡种ID | |
| cardName | String | 是 | 礼品卡名称 | |
| cardFaceValue | Price | 是 | 卡面值(单位:元,保留两位小数) | 后端返回 |
| cardNetValue | Price | 是 | 卡净值(单位:元,保留两位小数) | 后端返回 |
| cardBalance | Price | 是 | 卡余额(单位:元,保留两位小数) | 后端返回 |
| extraInfo | String | 否 | 附加信息 | 主要是针对显示用的 |
- 卡状态枚举说明
| 状态值 | 状态名称 |
| 0 | 已用完 |
| 11 | 可使用 |
| 20 | 已过期 |
| 21 | 已作废 |
| 81 | 已经激活未绑定 |
| 82 | 未激活 |
卡信息
- JSON Key为cardInfo,出现在请求报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| cardNo | String | 是 | 卡号 | 卡支付类交易时为必填 |
| password | String | 否 | 密码 | 如需要密码时必填,采用金融加密 |
| valid | String | 否 | 有效期 | 卡支付类交易时为必填,格式:YYMM |
| track1 | String | 否 | 第一磁道 | 采用金融加密 |
| track2 | String | 否 | 第二磁道 | 卡支付类交易时为必填,采用金融加密 |
| track3 | String | 否 | 第三磁道 | 采用金融加密 |
| cardSn | String | 否 | IC卡序列号 | 卡支付类交易时,如为IC卡则必填 |
| icData | String | 否 | IC卡数据 | 卡支付类交易时,如为IC卡则必填 |
| cardType | String | 否 | 卡类型 | 具体枚举如下 |
| tc | String | 否 | 交易证书 | 用于确认交易符合相应规则的证书 |
cardNo加密方法
- 使用pinKey对cardNo进行3DES加密,加密结果转为HEX格式,详见:数据加密算法
password加密方法
- 使用对pinKey进行ANSI X.98加密,加密结果转为HEX格式,详见:密码加密算法
track1加密方法
- 使用pinKey对track1进行3DES加密,加密结果转为HEX格式,详见:数据加密算法
track2加密方法
- 使用pinKey对track2进行3DES加密,加密结果转为HEX格式,详见:数据加密算法
track3加密方法
- 使用pinKey对track3进行3DES加密,加密结果转为HEX格式,详见:数据加密算法
cardType枚举
00表示刷磁条卡
01表示插入IC卡
02表示非接IC卡
03表示手输卡号
04表示二维码扫描
05表示其他
06表示收银机采集数据
07表示ApplePay
08表示三星Pay
09表示华为Pay
10表示小米Pay
产品明细
- JSON Key为
goodsDetail,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| goodsCategory | String | 是 | 商品类别 | |
| goodsId | String | 是 | 商品编号 | |
| goodsName | String | 是 | 商品名称 | 用于报表、小票等显示 |
| goodsSpec | String | 否 | 商品规格 | 用于报表、小票等显示 |
| price | Price | 是 | 单价 | 单位:元 |
| quantity | Integer | 是 | 数量 | |
| rebateCode | String | 否 | 折扣代码 | 收银机上已设置折扣,则必填,长度大于3位小于32位 |
| activityNo | String | 否 | 活动编号 | 易百后台交易成功,会返回本交易所属的活动编号 |
| memo | String | 否 | 备注 | 易百后台交易成功,会返回部分信息,如电子凭证号码 |
| voucherId | String | 否 | 优惠券ID | 当有优惠券信息时返回 |
资金渠道
- JSON Key为
fundChannel,出现在返回报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| channelNo | String | 是 | 资金渠道编号 | |
| channelName | String | 是 | 资金渠道名称 | |
| channelAmount | Price | 是 | 金额 | 对应的资金渠道金额 |
| sectionNo | String | 否 | 活动编号 | 活动编号由财务后台分配,和收银机可以进行匹配入机 |
- 支持的资金渠道如下:
| channelNo | channelName | 字段意义 |
|---|---|---|
| user_real_money | 用户实际支付 | 如支付宝余额、余额宝、微信钱包余额、银行卡等 |
| user_balance | 用户余额支付 | 如支付宝余额、余额宝、微信钱包余额等 |
| user_bank_card | 用户银行卡余额 | 使用用户借记卡或贷记卡的余额进行支付 |
| user_credit | 用户信用支付 | 如绑卡活动、支付宝花呗、京东白条等 |
| user_points | 用户积分支付 | 如银行积分、天猫积分、集分宝等 |
| user_points_amount | 用户积分对等的金额(RMB) | 用户本次支付的积分值除以积分比例得到金额 |
| user_rights | 用户权益 | 商户权益等 |
| user_coupon | 用户用券抵扣金额 | 如支付宝卡包券、银行APP卡包券(等于voucherDetail明细中的所有voucherAmount累加总和) |
| merchant_benefit | 商户提供的优惠 | 如商户空券,商户折扣等 |
| platform_benefit | 平台提供的优惠 | 如平台折扣,平台补贴等 |
| other_benefit | 其他出资方优惠 | 如银行 |
| ebuy_benefit | 易百提供的优惠 | 如易百折扣,易百补贴等 |
打印信息
- JSON Key为
printDetail,出现在返回报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| cardNo64 | String | 否 | 卡号前六后四 | 返回需要打印的卡号前六后四 |
| bank | String | 否 | 发卡银行 | 返回需要打印的发卡银行 |
| bankTid | String | 否 | 收单终端号 | 在银联二维码,嘉联收单时返回 |
| bankMid | 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 | 是 | 会员编号 | |
| memberCode | String | 是 | 会员卡号 | |
| memberName | String | 是 | 会员名称 | |
| memberPhone | String | 否 | 会员手机号码 | |
| grade | String | 否 | 会员等级 | |
| status | String | 否 | 会员状态 | |
| balance | Price | 否 | 会员卡余额 | |
| pointBalance | Price | 否 | 会员积分余额 |
权益信息
- JSON Key为
rightsDetail,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| snCode | String | 是 | 权益编号 |
结算记录
- JSON Key为
settleRecord,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| activityNo | String | 是 | 活动编号 | |
| activityName | String | 是 | 活动名称 | |
| productName | String | 是 | 产品名称 | |
| customer | String | 是 | 结算客户 | |
| isRefund | Boolean | 是 | 是否为退款 | |
| volume | Integer | 是 | 交易笔数 | |
| totalReceiptAmount | Price | 是 | 商户实收金额 | |
| totalAmount | Price | 是 | 小计金额 |
交易记录
- JSON Key为
transRecord,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 原交易收银机流水号 | 必须包含yyyyMMdd(当天) |
| paidAmount | String | 是 | 支付成功金额 | |
| status | String | 是 | 匹配状态 | 枚举如下 |
status枚举
- 0 上送初始时填写该值
- 1 paidAmount易百后台等于上送值
- 2 paidAmount易百后台大于上送值
- 3 paidAmount易百后台小于上送值
- 4 易百后台不存在该笔交易
- 5 易百后台该笔交易为失败交易
- 6 易百后台该笔交易为已撤销交易
- 7 易百后台该笔交易为已冲正交易
- 8 易百后台该笔交易为已退款交易
- 9 易百后台对账处理失败
- 10 易百后台有,但收银机不存在该笔交易
活动产品
- JSON Key为
activityProductList,只在需要二次交互时填写
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| activityProductNo | String | 是 | 活动产品编号 | |
| activityProductName | String | 是 | 活动产品名称 | |
| command | String | 否 | 下发交易指令 | |
| showOrder | String | 是 | 显示顺序 | 从小到大显示 |
交易时间戳
- JSON Key为
transTimestamp,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 原交易收银机流水号 | 必须包含yyyyMMdd(当天) |
| send | String | 是 | 发送时间 | Unix时间戳,单位:秒 |
| recv | String | 是 | 接收时间 | Unix时间戳,单位:秒 |
交易记录明细
- JSON Key为
transInfo,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| action | String | 是 | 交易action | |
| traceNo | String | 是 | 交易收银机流水号 | 必须包含yyyyMMdd(当天) |
| orderNo | String | 是 | 易百系统参考号 | |
| transDate | String | 是 | 交易时间 | 格式:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| paidAmount | String | 是 | 交易成功金额 | |
| activityProductNo | String | 是 | 活动产品编号 | |
| activityProductName | String | 是 | 活动产品名称 | 活动名称+产品名称 |
| bank | String | 是 | 交易机构标识 | |
| cardNo64 | String | 是 | 卡号或串码 | |
| printContent | String | 是 | 小票打印数据 |
功能菜单
- JSON Key为
function,出现在返回报文中
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| iconUrl | String | 是 | 用于功能显示icon图下载URL | 变长 |
| title | String | 是 | 用于功能名称显示 | 变长 |
| action | String | 是 | 功能对应的后台处理路径 | 变长 |
| command | String | 是 | 用于下发功能所有执行的指令 | 例如:04|00|请刷磁条卡|1|08|00|暴风雪(中)$HDCP00000000072578|0| |
| childrenFunc | List<function> | 否 | 功能下的子项 | 变长 |
图片信息
- JSON Key为
headPicture,出现在返回报文中
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| displayPicUrl | String | 是 | 用于广告显示图片下载URL | 变长 |
| linkUrl | String | 是 | 用于点击广告图片后要跳转的页面URL | 变长 |
包裹明细
- JSON Key为
packageDetail,出现在返回报文中
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| packId | String | 是 | 打包ID | 变长 |
| packName | String | 是 | 打包名称 | |
| goodsInfoList | List<goodsDetail> | 是 | 产品明细 |
订单信息
- JSON Key为
orderInfo,出现在返回报文中,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| appOrderNo | String | 是 | 应用订单号 | 变长 |
| statusCode | String | 是 | 订单状态码 | 变长 |
| status | String | 是 | 订单状态 | 订单状态汉字描述 |
| orderTime | String | 是 | 订单时间 | 格式HH:mm,用于订单列表页面显示 |
| orderCreateTime | String | 是 | 订单时间 | 格式yyyy-MM-dd HH:mm:ss |
| orderAmount | Price | 是 | 订单金额 | |
| rcptName | String | 是 | 收货人 | |
| platformName | String | 是 | 平台名称 | 变长,说明订单是来自百度,美团平台,长度不超过四个汉字 |
| packageDetailList | List<packageDetail> | 否 | 订单包裹明细 | 该节点在调用订单明细接口时才会有数据下发 |
优惠券明细
- JSON Key为
voucherDetail,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| voucherId | String | 是 | 优惠券编号 | |
| voucherName | String | 是 | 优惠券名称 | 用于报表、小票等显示 |
| voucherType | String | 是 | 优惠券类型 | |
| voucherAmount | Price | 是 | 单价 | 单位:元 |
| merchantDiscount | Price | 否 | 商户优惠金额 | 单位:元 |
| userDiscount | Price | 否 | 用户购券金额 | 单位:元 |
| platformDiscount | Price | 否 | 平台优惠补贴金额 | 单位:元 |
| otherDiscount | Price | 否 | 其他出资方补贴金额 | 单位:元 |
| voucherCode | String | 是 | 优惠券串号 |
批量核销明细
- JSON Key为
ecouponsData,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| code | String | 是 | 劵码 | |
| status | String | 是 | 核销结果返回码 | 00表示核销成功,其他失败 |
| desc | String | 是 | 核销结果描述 | |
| paidAmount | Price | 是 | 支付成功总金额 | 单位:元 |
| receiptAmount | Price | 否 | 商户实收金额 | 单位:元 |
| invoiceAmount | Price | 否 | 商户开票金额 | 单位:元 |
| lockTime | String | 是 | 锁定时间,单位(秒) | 默认:300 |
| afterLock | String | 是 | 锁定到期后处理,核销:1,解锁:0 | 默认:0 |
| exchangeRate | Number(8,6) | 否 | 汇率 | 1外币等于多少人民币 |
| currency | String | 否 | 货币类型 | 例如:CNY |
| discountCode | String | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| activityProductNo | String | 否 | 活动产品编号 | |
| activityProductName | String | 否 | 活动产品名称 | |
| goodsDetail | List<goodsDetail> | 否 | 折抵产品明细 | 返回后台已抵扣成功的产品明细 |
| fundChannel | List<fundChannel> | 否 | 资金渠道 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
批量核销劵码
- JSON Key为
codeInfo,必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| code | String | 是 | 劵码 | |
| activityProductNo | String | 否 | 活动产品编号 | |
| ext | String | 否 | 扩展字段 |
扩展信息
- JSON Key为
extendsData,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| vUseInfo | String | 否 | 劵使用须知 | |
| vDiscountDesc | String | 否 | 劵优惠说明 | |
| vUseRule | String | 否 | 劵使用规则 | |
| activityProductId | String | 否 | 活动产品id | |
| userRealAmount | Price | 否 | 用户实付金额 | 单位元 |
| defaultGoodsId | String | 否 | 默认上屏ID产品 id | 如果值为空或者goodsDetail的size是1都不支持更换 |
| oriCode | String | 否 | 请求对应的原券码 | |
| ticketType | String | 否 | 券所属类型 | -------电子券ticketType---------- ebuy代金券: cashCoupon ebuy产品券:merchandiseCoupon ebuy折扣券:discountCoupon ebuy满减券:fullReduceCoupon ebuy买赠券:buyGetCoupon |
| cardSearchCode | String | 否 | 现金卡对应的查询码 |
|
| voucherDetail | String | 是 | 易百券相关信息 |
createTime String 创建时间 validStart String 券有效期开始时间 ticketName String 券名 00 可使用 35 码配置异常 statusDesc String 状态描述 faceValue BigDecimal 面值(分) |
| isRefund | int | 否 | 查询原消费交易时如发生过退款此时isRefund=1 | 注意isRefund=1时仅表示消费交易有过退款操作,并不表示消费金额已全部退完 |
| verifyOptions | Objetc | 否 | 抖音核销专用返回 | |
| invoiceInfo | String | 否 | Costa支付宝企业付开票信息约定返回 |
[{ 返回如上JSON数组格式,isInvoice=true时表示此金额为开票字段 |
集点明细
- JSON Key为
pointDetail,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| activityNo | String | 是 | 集点活动编号 | |
| points | Integer | 是 | 集点点数 |
签购单信息
- JSON Key为purchaseOrder,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| mid | String | 是 | 商户编号 | |
| tid | String | 是 | 终端编号 | |
| merchantName | String | 是 | 商户名称 | |
| acquiere | String | 是 | 收单行标识码 | |
| issuer | String | 是 | 发卡行标识码 | |
| cardNo | String | 是 | 卡号 | |
| batchNo | String | 是 | 批次号 | |
| voucherNo | String | 是 | 凭证号 | |
| authNo | String | 否 | 授权码 | |
| referNo | String | 是 | 系统参考号 | |
| date | String | 是 | 日期 | |
| expDate | String | 否 | 卡有效期 | |
| transType | String | 是 | 交易类型 | 中间件还需根据用卡方式拼接上(括号和括号内的字母):刷卡:(S)、插卡:(I)、挥卡:(C)、手卡号输:(M) |
| amount | String | 交易金额 | ||
| wildcard | String | 否 | 国际信用卡公司代码 | |
| TC | String | 否 | TC | |
| ARQC | String | 否 | ARQC | |
| TVR | String | 否 | TVR | |
| TSI | String | 否 | TSI | |
| AID | String | 否 | AID | |
| ATC | String | 否 | ATC | |
| APPLAB | String | 否 | APPLAB | |
| APPName | String | 否 | APPName | |
| reMark | String | 是 | 备注信息 | 备注信息 LLVAR190 MIS-POS Client负责备注栏信息分行打印,不去管具体信息内容。 要求: 1.每行信息用';'分割。 2.如有中文提示,比如原凭证号,原授权号,则请加上这些信息。 3.重打印标志由MIS-POS Client判断,故EMV-POS不需要 重打印凭证/DUPLICATED 这条备注信息。 |
机构信息
- JSON Key为
orgLogInInfo,出现在请求报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| loginIndex | String | 是 | 对应签到标志的寻位索引 | |
| mid | String | 否 | 机构商户号 | |
| tid | String | 否 | 机构终端号 | |
| merchantName | String | 否 | 机构商户名称 | |
| serviceIp | String | 否 | 机构服务IP | |
| servicePort | String | 否 | 机构服务端口 | |
| serviceUrl | String | 否 | 机构服务url |
电子券包本信息
箱信息:
JSON Key为voucherBox,出现在请求报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| boxId | String | 是 | 电子券箱号 | |
| voucherPkg | List<voucherPkg> | 否 | 电子券包信息 |
包信息:
JSON Key为voucherPkg,出现在请求报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| pkgId | String | 是 | 电子券包号 | |
| voucherReel | List<voucherReel> | 否 | 电子券本信息 |
本信息:
JSON Key为voucherReel,出现在请求报文中,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| reelId | String | 是 | 电子券本号 | |
| codeDetail | List<codeDetail> | 否 | 电子券券号 |
券信息:
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| code | String | 是 | 电子凭证码 | |
| saleChannelOrderId | String | 是 | 取码方制码订单号 | |
| saleChannelName | String | 是 | 取码方名称 | |
| sendChannelName | String | 是 | 制码方名称 | |
| remainTimes | Integer | 是 | 剩余核销次数 | |
| createDate | String | 是 | 码创建日期 | yyyyMMdd |
| createTime | String | 是 | 码创建时间 | yyyyMMddHHmmss |
| validStart | String | 否 | 码有效开始时间 | yyyyMMddHHmmss |
| validEnd | String | 否 | 码有效结束时间 | yyyyMMddHHmmss |
| activateDate | String | 否 | 激活日期 | yyyyMMdd |
| activateTime | String | 否 | 激活时间 | yyyyMMddHHmmss |
| activateShopNo | String | 否 | 激活门店 | |
| verifyDate | String | 否 | 码核销日期 | yyyyMMdd |
| verifyTime | String | 否 | 码核销时间 | yyyyMMddHHmmss |
| status | String | 是 | 状态 | |
| statusDesc | String | 是 | 状态描述 | |
| cityCheck | String | 是 | 劵所在城市是否可用 | Y可用N不可用 |
| ticketId | String | 是 | 券id | |
| ticketName | String | 是 | 券名称 | |
| activityId | String | 是 | 活动id | |
| activityName | String | 是 | 活动名称 | |
| faceValue | Number | 否 | 券面值 | 单位:分 |
| shopNo | String | 否 | 核销门店编号 | |
| shopName | String | 否 | 核销门店名称 | |
| cityName | String | 是 | 城市名称 | 武汉市 |
| cityCode | String | 是 | 城市编码 | 武汉市 |
账户信息
- JSON Key为
accountInfo,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| memberCode | String | 是 | 账号编号 | accountType是5时,此字段是券码 |
| accountType | String | 是 | 账户类型。1:易百会员ID,2:手机号码,3:支付宝ID, 4:微信OPENID,5:券码(添加) |
会员积分
- JSON Key为
point,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| points | String | 是 | 积分总数 | |
| deductileAmount | String | 是 | 可抵扣金额 | |
| validDate | String | 否 | 即将过期日期 | 格式:YYYYMMDDhhmmss |
| invalidPoints | String | 否 | 即将过期积分数 |
会员电子券
- JSON Key为
vouchers,非必填
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| voucherType | String | 是 | coupon电子券,rights权益,cashCard现金卡 | 枚举类型,易百提供 |
| code | String | 是 | 码号或卡号 | |
| faceAmount | String | 是 | 面值 | |
| validDate | String | 是 | 使用有效期 | 格式:YYYYMMDD-YYYYMMDD |
| voucherStatus | String | 是 | 状态 | |
| voucherStatusDesc | String | 是 | 状态描述 | |
| tenderDiscountCode | String | 否 | 使用电子券和权益时返回 | 格式:支付编码|折扣编码 |
| cardAmount | String | 否 | 现金卡剩余金额,使用现金卡时返回 | |
| merchatRealAmount | String | 否 | 商户实收金额,使用电子券和权益时返回 | 特殊字段需与ebuy确认 |
| discountAmount | String | 否 | 商户优惠金额,使用电子券和权益时返回 | 特殊字段需与ebuy确认 |
| userInvoiceAmount | String | 否 | 给用户开票的金额 | |
| ebuyInvoiceAmount | String | 否 | 给易百开票的金额,使用电子券和权益时返回 | |
| platformCode | String | 否 | 平台编码,易百提供(天猫(Tmall),淘宝(TaoBao),拼多多(PDD),京东(JD)) | |
| activityProductNo | String | 否 | 活动产品编号 | |
| remainTimes | String | 否 | 当前可使用次数,使用电子券和权益时返回 | |
| totalTimes | String | 否 | 总使用次数,使用电子券和权益时返回 | |
| voucherScope | String | 否 | 商户定制规则使用字段,配置部分原样下发 | 例如:商户券分类,就餐时间规则,使用条件限制 |
| defaultGoodsId | String | 否 | 默认上屏产品 id,多产品时返回 | |
| goodsDetail | List<goodsDetail> | 否 | 折抵产品明细 |
卡券明细
- JSON Key为codeDetail,非必填
字段 类型 是否必填 字段意义 备注 code String 是 卡券号 请求时上送,原样返回 password String 否 卡密码 请求时上送 ticketId String 是 券批次id 后端返回 ticketName String 是 券批次名称 后端返回 useTimes Number 是 可用次数 后端返回 resultCode String 是 操作结果码 后端返回 resultDesc String 是 操作结果描述 后端返回 cardNetValue Price 否 净值(单位:元) 请求时上送
扩展信息-抖音线上核销报文
- JSON Key为verifyOptions,非必填,包含如下三个字段(verifyToken,poiId, orderList)
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
|
verifyToken
|
String | 是 |
相同 token的结果幂等,开发者⾃⾏⽣成,⻓度需⼤于 4 字节⼩于 64 字节
|
|
|
poiId
|
String | 是 |
核销⻔店信息,核销原⽣券时需要⻔店信息
|
|
|
orderInfo
|
OrdeInfo | 是 |
订单信息,若该门店不支持核销则OrdeInfo为空
|
|
| OrdeInfo字段及含义如下 | ||||
|
orderId
|
String | 是 |
要核销的券所属订单
|
|
| certificateId |
String
|
否 | 券信息 • 团购券和代⾦券返回传certificate_id |
certificateId及timesCardInfo两者必有其一 |
|
timesCardInfo
|
TimesCard | 否 | 券信息 • 次卡券返回TimesCard结构 |
|
| TimesCard字段及含义如下 | ||||
|
code
|
String
|
是 |
抵扣券ID,对应抖⾳原⽣团购券的certificate_id
|
|
|
times
|
Integer | 是 |
次卡券必填,代表可核销次数,小于等于0表示次卡已用完
|
|
交易类接口列表
银行卡收单
-
接口用途
- 银行卡收单
- 预付费卡消费
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/cardPayment
action
cardPayment
请求参数,中件间===>易百后台
字段 类型 是否必填 字段意义 备注 traceNo String 是 收银机流水号 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 onlineTid String 否 线上对接使用的统一终端号 对接前需提前和易百技术沟通 totalAmount Price 是 交易总金额 单位:元 undiscountAmount Price 是 不可打折金额 单位:元 activityProductNo String 否 活动产品编号 二次交互时填写 orderSubject String 否 订单标题 最长256 orderDescription String 否 订单描述 最长256 acquirer String 是 收单机构 如:citicCashpay表示中信收单 request8583 String 否 请求报文HEX MIS-POS灌其他机构密钥,需要组包并填写该域 goodsDetail List<goodsDetail> 是 产品明细 验证产品明细时必填 cardInfo Object<cardInfo> 是 卡信息 memberDetail Object<memberDetail> 否 会员信息 会员支付时必填 请求报文举例
{ "traceNo": "9900000910001011820150201", "totalAmount": 40.8, "undiscountAmount": 0, "activityProductNo": "HDCP00000000001234", "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" } ], "cardInfo": { "cardNo": "", "password": "", "valid": "", "track1": "", "track2": "", "track3": "", "cardSn": "", "icData": "" }, "memberDetail": { "memberId": "M000001545", "memberName": "TONY", "grade": "1", "status": "1", "balance": 1000.00, "pointBalance": 30000 } }返回参数,易百后台===>中件间
- 可能返回活动产品选项,需要进行选择
字段 类型 是否必填 字段意义 备注 traceNo String 是 收银机流水号 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 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 否 折扣编码 由收银机分配,用于入账计折扣类型 discountNum Number 否 固定金额折扣数量 用于入账计折扣类型的数量 tenderCode String 否 支付方式编码 由收银机分配,用于入账计支付方式 activityProductNo String 否 活动产品编号 activityProductName String 否 活动产品名称 needSameCard Boolean 否 同一张卡支付 如满额立减类活动,需要同一张银行卡支付剩余金额 response8583 String 否 返回报文HEX MIS-POS灌其他机构密钥,后台透传该域。(部分收单业务占用此字段下发pos指令) goodsDetail List<goodsDetail> 否 折抵产品明细 返回后台已抵扣成功的产品明细 fundChannel List<fundChannel> 否 资金渠道 printDetail Object<printDetail> 否 打印信息 如需要在收银小票上打印信息时必填 cardInfo Object<cardInfo> 否 卡信息 如果是IC卡,需要返回IC卡数据信息,用于IC卡检验 memberDetail Object<memberDetail> 否 会员信息 返回本次交易的会员信息 voucherDetail List<voucherDetail> 否 优惠券信息 返回本次交易的优惠券信息 cashBank String 否 收单机构编号 收单机构编号,详情参考收单标识说明 cashOrderNo String 否 收单机构订单号 反交易时下发 cashAmount Price 否 收单实际金额 pos机请求收单机构时使用的金额 purchaseOrder List<purchaseOrder> 否 收单签购单内容 签购单信息 返回报文举例
{ "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.00, "pointBalance": 30000 }, "voucherDetail": [ { "voucherId": "001", "voucherName": "现金优惠券", "voucherType": "现金", "voucherCode": "123456789", "channelAmount": "20.8" }, { "voucherId": "002", "voucherName": "买一赠一优惠券", "voucherType": "买赠", "voucherCode": "1232136781", "channelAmount": "20.8" } ] }
实体卡权益积分兑换
接口用途
- 银行积分兑换
- 银行积分兑换+现金支付
- 银行权益验证
- 银行权益验证+现金支付
- 会员卡消费
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/cardRedemption
action
cardRedemption网关查询当前卡号下允许参加的积分、权益活动列表cardPoint网关查询当前卡号下允许参加的积分活动列表cardAuth网关查询当前卡号下允许参加的权益活动列表
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| pointAmount | Price | 否 | 积分抵扣金额 | 单位:元,默认与totalAmount一致表示整单金额采用积分抵扣 |
| orderSubject | String | 否 | 订单标题 | 最长256 |
| orderDescription | String | 否 | 订单描述 | 最长256 |
| undiscountAmount | Price | 是 | 不可打折金额 | 单位:元 |
| activityProductNo | String | 否 | 活动产品编号 | 二次交互时填写 |
| goodsDetail | List<goodsDetail> | 是 | 产品明细 | 验证产品明细时必填 |
| cardInfo | Object<cardInfo> | 是 | 卡信息 | |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 会员支付时必填 |
| extendData | Object | 否 | 扩展信息 | 特殊场景填值需与易百技术沟通(目前只在星巴克商户用到透传goodsTag) |
请求报文举例
{
"traceNo": "99000009100010101732123",
"totalAmount": 40.8,
"undiscountAmount": 0,
"activityProductNo": "HDCP00000000001234",
"goodsDetail": [
{
"goodsCategory": "001",
"goodsId": "P00001",
"goodsName": "牙膏",
"price": 8,
"quantity": 2,
"rebateCode": "000"
},
{
"goodsCategory": "101",
"goodsId": "P00002",
"goodsName": "洗发水",
"price": 24.8,
"quantity": 1,
"rebateCode": "000"
}
],
"cardInfo": {
"cardNo": "",
"password": "",
"valid": "",
"track1": "",
"track2": "",
"track3": "",
"cardSn": "",
"icData": ""
},
"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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| activityProductNo | String | 否 | 活动产品编号 | |
| activityProductName | String | 否 | 活动产品名称 | |
| needSameCard | Boolean | 否 | 同一张卡支付 | 如满额立减类活动,需要同一张银行卡支付剩余金额 |
| goodsDetail | List<goodsDetail> | 否 | 折抵产品明细 | 返回后台已抵扣成功的产品明细 |
| fundChannel | List<fundChannel> | 否 | 资金渠道 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| cardInfo | Object<cardInfo> | 否 | 卡信息 | 如果是IC卡,需要返回IC卡数据信息,用于IC卡检验 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
| purchaseOrder | List<purchaseOrder> | 否 | 收单签购单信息 | 签购单信息 |
| remainAmount | Number | 否 | 消费后卡余额 | 单位:元 |
返回报文举例
{
"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.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.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
二维码支付或兑换
- 支付宝支付
- 微信被扫支付
- 银行二维码支付(工行、中行、中信、浦发等)
- 银行二维码积分兑换(工行、中行、中信、浦发等)
- 银联立码付
- 百度支付
- 翼支付
- 其他二维码支付
- 电子凭证核销:产品券/代金券/折扣券/买N赠M券/立减券
- 外卖或自助点单订单码自动上屏
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/qrcodeSale
action
qrcodeSale
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String(40) | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| undiscountAmount | Price | 是 | 不可打折金额 | 单位:元 如无此金额时可填0 |
| verifyType | String | 是 | 核销类型 | 请与易百技术确认,枚举值:online为线上场景,offline为线下POS场景 |
| activityProductNo | String | 否 | 活动产品编号 | 二次交互时填写 |
| scene | String | 否 | 支付场景 | 条码:bar_code, 二维码:qr_code |
| orderSubject | String | 否 | 订单标题 | 最长256 |
| orderDescription | String | 否 | 订单描述 | 最长256 |
| merchantOrderNo | String(30) | 是 | 商户收银订单号 | 用于当笔交易对应到收银POS的订单,不能与traceNo值相同 |
| qrcode | String | 是 | 二维码内容 | 串号、一维码或二维码内容 |
| goodsDetail | List<goodsDetail> | 是 | 产品明细 | 验证产品明细时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 会员支付时必填 |
| extendData | Object | 否 | 扩展信息 | 特殊场景填值需与易百技术沟通 |
请求报文举例
{
"traceNo": "990000091000101620150201",
"totalAmount": 40.8,
"undiscountAmount": 0,
"activityProductNo": "HDCP00000000001234",
"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,
"pointBalance": 30000
},
"extendData": {
"orderId": "20211000101620150201",
"rightsDetail": [
{
"snCode": "111111111xxxxxx"
}
]
}
}
返回参数,易百后台===>中件间
- 可能返回活动产品选项,需要进行选择
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| remainTimes | Number | 是 | 券码当前可用次数 | 如果有限制每天使用多少次,代表当天可使用次数 |
| activityProductNo | String | 否 | 活动产品编号 | |
| activityProductName | String | 否 | 活动产品名称 | |
| goodsDetail | List<goodsDetail> | 否 | 折抵产品明细 | 返回后台已抵扣成功的产品明细 |
| fundChannel | List<fundChannel> | 否 | 资金渠道 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
| remainAmount | Number | 否 | 消费后卡余额 | 单位:元 |
| extendsData | Object<extendsData> | 否 | 扩展信息 | 与ebuy约定 |
| transType | String | 是 | 标识当笔交易类型 | 下发alipayQrpay 表示 支付宝二维码支付业务 |
返回报文举例
{
"traceNo": "9900000910001011720150201",
"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": "支付宝支付",
"transType": "alipayQrpay",
"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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"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"
}
]
}
交易结果查询
接口用途
- 在中间件未收到后台返回时,可以调用此接口查询原交易的状态。
- “电子凭证批量核销ecouponsVerify”交易目前不支持查询
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/inquiry
action
inquiry
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| originalTraceNo | String | 是 | 原收银机流水号 | 传入需要查询的原交易收银机流水号 |
| originalDate | String | 否 | 原交易日期 | 传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd |
请求报文举例
{
"traceNo": "9900000910001014320150201",
"originalTraceNo": "9900000910001014220150201",
"originalDate": "20170912"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| activityProductNo | String | 否 | 活动产品编号 | |
| activityProductName | String | 否 | 活动产品名称 | |
| needSameCard | Boolean | 否 | 同一张卡支付 | 如满额立减类活动,需要同一张银行卡支付剩余金额 |
| goodsDetail | List<goodsDetail> | 否 | 折抵产品明细 | 返回后台已抵扣成功的产品明细 |
| fundChannel | List<fundChannel> | 否 | 资金渠道 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
| extendsData | Object<extendsData> | 否 | 扩展信息 | 与ebuy约定 |
| transType | String | 是 | 标识当笔交易类型 | 下发alipayQrpay 表示 支付宝二维码支付业务 |
返回报文举例
{
"traceNo": "9900000910001014420150201",
"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": "支付宝支付",
"transType": "alipayQrpay",
"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": ""
},
"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"
}
]
}
支持查询的交易
- cardPayment
- cardRedemption
- qrcodeSale
当日撤销
接口用途
- 需要对原交易整体撤销时,可以在原交易的同一天调用此接口。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/void
action
void
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| originalTraceNo | String | 是 | 原收银机流水号 | 传入需要撤销的原交易收银机流水号 |
| isRollback | Boolean | 是 | 标识本次请求是否为冲正交易(中间件发起) | 冲正发起需要另起线程并且先返回收银机交易失败结果,再异步冲正 |
| acquirer | String | 否 | 收单机构 | 如:citicCashpay表示中信收单,如果收单撤销是必填的 |
| cardInfo | Object<cardInfo> | 否 | 卡信息 | 卡支付类交易需要填入原交易卡信息 |
请求报文举例
{
"traceNo": "9900000910001013220150201",
"originalTraceNo": "9900000910001013120150201",
"isRollback": false,
"acquirer": "citicCashpay",
"cardInfo": {
"cardNo": "",
"password": "",
"valid": "",
"track1": "",
"track2": "",
"track3": "",
"cardSn": "",
"icData": ""
}
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| fundChannel | List<fundChannel> | 否 | 资金渠道 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
| cashOrderNo | String | 否 | 收单原流水号 | 收单撤销时返回 |
| cashBank | String | 否 | 收单机构标识 | 收单撤销时返回 |
| purchaseOrder | List<purchaseOrder> | 否 | 收单签购单信息 | 签购单信息 |
返回报文举例
{
"traceNo": "9900000910001013420150201",
"orderNo": "171698602301",
"cashOrderNo": "000025",
"cashBank": "40",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"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": ""
},
"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"
}
]
}
支持撤销的交易
- cardPayment
- cardRedemption
- qrcodeSale
隔日退款
接口用途
- 用户需要退款时,可以调用此接口,支持全额或部分退款(依赖支付机构的接口)。
- 不支持券核销类交易的退款,建议调用“当日撤销void”来支持
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/refund
action
refund
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| originalTraceNo | String | 是 | 原收银机流水号 | 传入需要退款的原交易收银机流水号 |
| originalDate | String | 否 | 原交易日期 | 传入需要退款的原交易日期,不传默认为当天格式为yyyyMMdd |
| refundAmount | Price | 是 | 本次退款金额 | 单位:元 |
| acquirer | String | 否 | 收单机构 | 如:citicCashpay表示中信收单,如果收单撤销是必填的 |
| cardInfo | Object<cardInfo> | 否 | 卡信息 | 卡支付类交易需要填入原交易卡信息 |
请求报文举例
{
"traceNo": "9900000910001013920150201",
"originalTraceNo": "9900000910001013820150201",
"originalDate": "20170912",
"refundAmount": 40.8,
"acquirer": "citicCashpay",
"cardInfo": {
"cardNo": "",
"password": "",
"valid": "",
"track1": "",
"track2": "",
"track3": "",
"cardSn": "",
"icData": ""
}
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| refundAmount | Price | 是 | 退款成功总金额 | 单位:元 |
| fundChannel | List<fundChannel> | 否 | 资金渠道 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
| cashOrderNo | String | 否 | 收单原交易订单号 | 收单退款时返回 |
| cashBank | String | 否 | 收单机构标识 | 收单退款时返回 |
| purchaseOrder | List<purchaseOrder> | 否 | 收单签购单信息 | 签购单信息 |
返回报文举例
{
"traceNo": "9900000910001014020150201",
"orderNo": "171698602301",
"cashOrderNo": "000025",
"cashBank": "40",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"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"
}
]
}
支持退款的交易
- cardPayment
- cardRedemption
- qrcodeSale
撤销或退款结果查询(接口处于设计开发中请勿对接)
接口用途
- 在调用方未收到撤销或退款的后台返回时,可以调用此接口查询原撤销或退款交易的状态。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/reverseInquiry
action
reverseInquiry
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| originalTraceNo | String | 是 | 原收银机流水号 | 传入需要查询的原交易收银机流水号 |
请求报文举例
{
"traceNo": "9900000910001014320150201",
"originalTraceNo": "9900000910001014220150201"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 单位:元 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| paidAmount | Price | 是 | 支付成功总金额 | 单位:元 |
| receiptAmount | Price | 否 | 商户实收金额 | 单位:元 |
| invoiceAmount | Price | 否 | 商户开票金额 | 单位:元 |
| refundAmount | Price | 否 | 退款金额 | 单位:元 查询成功时会有该值返回 |
| activityProductNo | String | 否 | 活动产品编号 | |
| activityProductName | String | 否 | 活动产品名称 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| extendsData | Object<extendsData> | 否 | 扩展信息 | 与ebuy约定 |
返回报文举例
{
"extendsData": {},
"returnCode": "00",
"invoiceAmount": 0,
"receiptAmount": 0,
"printDetail": {
"content": "00001F0E652D42757920B5E7D7D3C6BED6A42F0F726576657273652D696E7175697279"
},
"activityProductNo": "00000000503050",
"transDate": "20220803162322",
"activityProductName": "支付宝",
"orderNo": "192070117798",
"refundAmount": 0.01,
"paidAmount": 0,
"traceNo": "20220803162317100000000SH20501",
"uuid": "d577d15662f84ce2bf4c2d928e7c21e5",
"returnDesc": "交易成功",
"step": "01",
"rpcContext": "10.10.3.106:62774-->10.10.3.106:30200"
}
支持查询的交易
- qrcodeSale(扫码支付类交易,目前仅支付宝2.0)
卡余额或权益查询
接口用途
- 银行卡积分余额查询
- 银行卡余额查询
- 银行卡权益次数查询
- 预付费卡余额查询
- 会员卡积分或余额查询
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/balance
action
balance
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| activityProductNo | String | 否 | 活动产品编号 | 二次交互时填写 |
| cardInfo | Object<cardInfo> | 是 | 卡信息 | |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 会员交易时必填 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"activityProductNo": "HDCP00000000001236",
"cardInfo": {
"cardNo": "",
"password": "",
"valid": "",
"track1": "",
"track2": "",
"track3": "",
"cardSn": "",
"icData": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
}
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| 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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
}
}
电子凭证查询
接口用途
- 查询电子凭证的产品信息,可抵用的金额以及所属的活动,支持易百自有电子凭证和第三方电子凭证。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/ecouponInquiry
action
ecouponInquiry
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| qrcode | String | 是 | 电子凭证号 | 要查询的电子凭证号 |
请求报文举例
{
"traceNo": "9900000910001013620150201",
"qrcode": "HDCP00000000001235"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 单位:元 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00,C3表示券码可用,其他表示不可用 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| canPayAmount | Price | 是 | 可抵用的总金额 | 单位:元 |
| activityProductNo | String | 否 | 活动产品编号 | 该电子凭证所属的活动产品编号 |
| activityProductName | String | 否 | 活动产品名称 | 该电子凭证所属的活动产品名称 |
| useTimes | int | 否 | 总核销次数 | |
| remainTimes | int | 否 | 剩余可核销次数 | |
| extendsData | Object<extendsData> | 否 | 扩展信息 | 与ebuy约定 |
返回报文举例
{
"traceNo": "9900000910001013720150201",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"canPayAmount": 40.8,
"activityProductNo": "2016123101",
"activityProductName": "中信365权益",
"useTimes":10,
"remainTimes":7
}
电子凭证预核销
接口用途
- 预核销电子凭证,模拟电子凭证核销交易提前获取核销结果信息;
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/ecouponPreVerify
action
ecouponPreVerify
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| undiscountAmount | Price | 是 | 不可打折金额 | 单位:元,没有填写0 |
| verifyType | String | 是 | 核销类型 | 请与易百技术确认,枚举值:online为线上场景,offline为线下POS场景 |
| activityProductNo | String | 否 | 活动产品编号 | 二次交互时填写 |
| scene | String | 否 | 支付场景 | 条码:bar_code, 二维码:qr_code |
| orderSubject | String | 否 | 订单标题 | 最长256 |
| orderDescription | String | 否 | 订单描述 | 最长256 |
| qrcode | String | 是 | 二维码内容 | 串号、一维码或二维码内容 |
| goodsDetail | List<goodsDetail> | 否 | 产品明细 | 验证产品明细时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 会员支付时必填 |
请求报文举例
{
"traceNo": "9900000910001011320150201",
"totalAmount": 40.8,
"undiscountAmount": 0,
"activityProductNo": "HDCP00000000001234",
"qrcode": "280123121234567890",
"lockTime": "300",
"afterLock": "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,
"pointBalance": 30000
}
}
返回参数,易百后台===>中件间
- 可能返回活动产品选项,需要进行选择
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| paidAmount | Price | 是 | 支付成功总金额 | 单位:元 |
| receiptAmount | Price | 否 | 商户实收金额 | 单位:元 |
| invoiceAmount | Price | 否 | 商户开票金额 | 单位:元 |
| remainTimes | Number | 是 | 券码当前可用次数 | 如果有限制每天使用多少次,代表当天可使用次数| |
| lockTime | String | 否 | 锁定时间,单位(秒) | 默认:300 |
| afterLock | String | 否 | 锁定和解锁,锁定:1,解锁:0 | 默认:1,锁定返回校验参数 |
| exchangeRate | Number(8,6) | 否 | 汇率 | 1外币等于多少人民币 |
| currency | String | 否 | 货币类型 | 例如:CNY |
| discountCode | String | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型和折扣金额 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式和入账金额 |
| activityProductNo | String | 否 | 活动产品编号 | |
| activityProductName | String | 否 | 活动产品名称 | |
| goodsDetail | List<goodsDetail> | 否 | 折抵产品明细 | 返回后台已抵扣成功的产品明细 |
| fundChannel | List<fundChannel> | 否 | 资金渠道 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
| extendsData | Object<extendsData> | 否 | 扩展信息 | 与ebuy约定 |
返回报文举例
{
"transDate": "20220726153110",
"returnCode": "00",
"extendsData": {},
"orderNo": "191990113248",
"ecouponsData": [
{
"desc": "操作成功",
"status": "00",
"invoiceAmount": 0,
"code": "10010605284819524875",
"receiptAmount": 10,
"activityProductNo": "00000000503057",
"transType": "whaleAuth",
"activityProductName": "85°C10元代金券",
"goodsDetail": [
{
"goodsSpec": "00",
"goodsId": "A00001",
"activityNo": "EB11060200",
"price": 1000,
"memo": "10010605284819524875",
"quantity": 1
}
],
"totalAmount": 68,
"paidAmount": 10,
"fundChannel": [
{
"channelName": "用户实际支付",
"channelAmount": 0,
"channelNo": "user_real_money"
}
]
},
{
"desc": "操作成功",
"status": "00",
"invoiceAmount": 0,
"code": "10010605171871824601",
"receiptAmount": 10,
"activityProductNo": "00000000503057",
"transType": "whaleAuth",
"activityProductName": "85°C10元代金券",
"goodsDetail": [
{
"goodsSpec": "00",
"goodsId": "A00001",
"activityNo": "EB11060200",
"price": 1000,
"memo": "10010605171871824601",
"quantity": 1
}
],
"totalAmount": 68,
"paidAmount": 10,
"fundChannel": [
{
"channelName": "用户实际支付",
"channelAmount": 0,
"channelNo": "user_real_money"
}
]
}
],
"traceNo": "20220726153107100000000SH20501",
"uuid": "f3c32fa32ccb4ccd8f38c36800741682",
"returnDesc": "请求成功"
}
电子凭证批量核销
接口用途
- 批量核销电子凭证,多张电子凭证核销交易;
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/ecouponsVerify
action
ecouponsVerify
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| undiscountAmount | Price | 是 | 不可打折金额 | 单位:元,没有填写0 |
| verifyType | String | 是 | 核销类型 | 请与易百技术确认,枚举值:online为线上场景,offline为线下POS场景 |
| scene | String | 否 | 支付场景 | 条码:bar_code, 二维码:qr_code |
| orderSubject | String | 否 | 订单标题 | 最长256 |
| orderDescription | String | 否 | 订单描述 | 最长256 |
| ecoupons | List<codeInfo> | 是 | 批量核销劵码 | 批量核销必填,一次最多10张券 |
| goodsDetail | List<goodsDetail> | 否 | 产品明细 | 验证产品明细时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 会员支付时必填 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"totalAmount": 40.8,
"undiscountAmount": 0,
"activityProductNo": "HDCP00000000001234",
"qrcode": "280123121234567890",
"lockTime": "300",
"afterLock": "0",
"ecoupons": [
{
"code": "10019041500000071521",
"ext": "test"
}
],
"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,
"pointBalance": 30000
}
}
返回参数,易百后台===>中件间
- 可能返回活动产品选项,需要进行选择
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示本次请求成功,并不代表所有码都核销成功 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| ecouponsData | List<ecouponsData> | 是 | 返回批量核销结果 | 对应批量核销劵 |
| extendsData | Object<extendsData> | 是 | 扩展信息 | 与ebuy约定 allSuccess=false表示本次核销有券码核销失败 |
返回报文举例
{
"transDate": "20220726153110",
"returnCode": "00",
"extendsData": {},
"orderNo": "191990113248",
"invoiceAmount": 0,
"ecouponsData": [
{
"returnCode": "00",
"desc": "操作成功",
"status": "00",
"invoiceAmount": 0,
"code": "10010605284819524875",
"receiptAmount": 10,
"activityProductNo": "00000000503057",
"transType": "whaleAuth",
"activityProductName": "85°C10元代金券",
"goodsDetail": [
{
"goodsSpec": "00",
"goodsId": "A00001",
"activityNo": "EB11060200",
"price": 1000,
"memo": "10010605284819524875",
"quantity": 1
}
],
"totalAmount": 68,
"paidAmount": 10,
"fundChannel": [
{
"channelName": "用户实际支付",
"channelAmount": 0,
"channelNo": "user_real_money"
}
]
},
{
"returnCode": "00",
"desc": "操作成功",
"status": "00",
"invoiceAmount": 0,
"code": "10010605171871824601",
"receiptAmount": 10,
"activityProductNo": "00000000503057",
"transType": "whaleAuth",
"activityProductName": "85°C10元代金券",
"goodsDetail": [
{
"goodsSpec": "00",
"goodsId": "A00001",
"activityNo": "EB11060200",
"price": 1000,
"memo": "10010605171871824601",
"quantity": 1
}
],
"totalAmount": 68,
"paidAmount": 10,
"fundChannel": [
{
"channelName": "用户实际支付",
"channelAmount": 0,
"channelNo": "user_real_money"
}
]
}
],
"paidAmount": 0,
"traceNo": "20220726153107100000000SH20501",
"uuid": "f3c32fa32ccb4ccd8f38c36800741682",
"receiptAmount": 0,
"returnDesc": "请求成功",
"step": "01"
}
批量核销结果查询
接口用途
- 当调用批量核销接口超时未收到服务端返回时,可以调本接口来查询批量核销结果;
接口地址
- https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/batchCodeVerifyQuery
action
batchCodeVerifyQuery
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| originalTraceNo | String | 是 | 原收银机流水号 | 传入需要查询的原交易收银机流水号 |
| originalDate | String | 否 | 原交易日期 | 传入需要查询的原交易日期,不传默认为当天格式为yyyyMMdd |
请求报文举例
{
"traceNo": "9900000910001014320150201",
"originalTraceNo": "9900000910001014220150201",
"originalDate": "20170912"
}
返回参数,易百后台===>中件间
- 可能返回活动产品选项,需要进行选择
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示本次请求成功,并不代表所有码都核销成功 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| ecouponsData | List<ecouponsData> | 是 | 返回批量核销结果 | 对应批量核销劵 |
| extendsData | Object<extendsData> | 是 | 扩展信息 | 与ebuy约定 allSuccess=false表示本次核销有券码核销失败 |
返回报文举例
{
"transDate": "20220726153110",
"returnCode": "00",
"extendsData": {},
"orderNo": "191990113248",
"ecouponsData": [
{
"desc": "操作成功",
"status": "00",
"invoiceAmount": 0,
"code": "10010605284819524875",
"receiptAmount": 10,
"activityProductNo": "00000000503057",
"transType": "whaleAuth",
"activityProductName": "85°C10元代金券",
"totalAmount": 68,
"paidAmount": 10,
"fundChannel": [
{
"channelName": "用户实际支付",
"channelAmount": 0,
"channelNo": "user_real_money"
}
]
},
{
"desc": "操作成功",
"status": "00",
"invoiceAmount": 0,
"code": "10010605171871824601",
"receiptAmount": 10,
"activityProductNo": "00000000503057",
"transType": "whaleAuth",
"activityProductName": "85°C10元代金券",
"totalAmount": 68,
"paidAmount": 10,
"fundChannel": [
{
"channelName": "用户实际支付",
"channelAmount": 0,
"channelNo": "user_real_money"
}
]
}
],
"traceNo": "20220726153107100000000SH20501",
"uuid": "f3c32fa32ccb4ccd8f38c36800741682",
"returnDesc": "请求成功"
}
会员资产查询接口
接口用途
- 通过身份信息查询会员资产
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/vipassets
action
vipassets
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| accountInfo | Object<accountInfo> | 是 | 用户身份信息,密文 | aes256加密,易百提供密钥。 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| platformCode | String | 是 | 平台编码,易百提供(天猫(Tmall),淘宝(TaoBao),拼多多(PDD),京东(JD)) |
请求报文举例
{
"accountInfo": "lmANPRMeymgFQ+0D2N7nFMi1MADWvh3FPkQ0JEyYEBGiLhpquBx0mtigUpfPosWknHj/HzQLC1dnd6wlXuoJPQ==",
"platformCode": "Tmall"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| vipName | String | 否 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| vipLevel | String | 否 | 交易订单号 | 单位:元 |
| point | Object<point> | 否 | 会员积分 | |
| vouchers | List<vouchers> | 否 | 会员电子券 | |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
返回报文举例
{
"vipName": "至尊会员",
"vipLevel": "7",
"returnCode": "00",
"returnDesc": "SUCCESS",
"point": {
"points": 120000,
"deductileAmount": 2400,
"validDate": "20210625",
"invalidPoints": 22000
},
"vouchers": {
"voucherType": "coupon",
"code": "10032345433321232345",
"faceAmount": "10",
"validDate": "20210120-20210225",
"voucherStatus": "00",
"voucherStatusDesc": "可用",
"tenderDiscountCode": 123|97,
"defaultGoodsId": "P00001",
"goodsDetail": [{
"goodsCategory": "001",
"goodsId": "P00001",
"goodsName": "牙膏",
"price": 5,
"quantity": 2
},
{
"goodsCategory": "101",
"goodsId": "P00002",
"goodsName": "洗发水",
"price": 10,
"quantity": 1
}
],
"userInvoiceAmount": 8,
"ebuyInvoiceAmount": 2,
"platformCode": "Tmall",
"activityProductNo": "5837",
"remainTimes": 1,
"totalTimes": 30,
"voucherScope": "{\"merchatVoucherType\":\"sxx\",\"mutualPlatform\":\"EBUY,PDD\",\"dayUseTime\":\"7:00-10:00\",\"mutualType\":\"cash\"}"
}
}
会员集点
接口用途
- 会员集点
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/accumulating
action
accumulating
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| undiscountAmount | Price | 否 | 不可打折金额 | 单位:元 |
| recogCode | String | 否 | 操作识别代码 | 为006时代表补积星星,为000时代表电子凭证核销,为100时代表电子凭证状态信息查询,为200时代表是核销交易的查询,为001代表集点前置判断 |
| pointDetail | List<pointDetail> | 否 | 集点明细 | 收银机集点时填写,后台集点不填 |
| goodsDetail | List<goodsDetail> | 否 | 产品明细 | 验证产品明细时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 会员支付时必填 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"totalAmount": 40.8,
"undiscountAmount": 0,
"recogCode": "006",
"pointDetail": [{
"activityNo": "2016121901",
"points": 100
}, {
"activityNo": "2017100901",
"points": 50
}],
"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 | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| activityProductNo | String | 否 | 活动产品编号 | |
| activityProductName | String | 否 | 活动产品名称 | |
| printDetail | Object<printDetail> | 否 | 打印信息 | 如需要在收银小票上打印信息时必填 |
| memberDetail | Object<memberDetail> | 否 | 会员信息 | 返回本次交易的会员信息 |
| voucherDetail | List<voucherDetail> | 否 | 优惠券信息 | 返回本次交易的优惠券信息 |
返回报文举例
{
"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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
活动产品选项
当通过卡BIN与码BIN无法确认具体支付渠道时,易百后台会返回活动产品列表,供中间件弹出窗体,让收银人员进行选择,选择项需填入activityProductNo字段后再向易百后台请求支付。返回报文如下:
二次交互的返回参数,易百后台===>收银机
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| activityProductList | List<activityProductList> | 是 | 活动产品列表 | 中件间弹出窗体,显示所有选择项 |
二次交互返回报文举例
{
"traceNo": "9900000910001014520150201",
"activityProductList": [
{
"activityProductNo": "HDCP00000000000001",
"activityProductName": "中信银行积分兑换",
"showOrder": "1"
},
{
"activityProductNo": "HDCP00000000000002",
"activityProductName": "中国银行积分兑换",
"showOrder": "2"
}
]
}
收单交易结果通知
接口用途
- 银行卡收单结果通知
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/cashPosNotice
action
cashPosNotice
请求参数,POS机===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| originalTraceNo | String | 是 | 待通知交易的收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| originalDate | String | 是 | 待通知交易的日期 | 一般为当天,yyyyMMdd |
| originalTransclass | String | 是 | 待通知的交易类型 | sale,void,refund |
| returnCode | String | 是 | 结果码 | 收单机构的返回码 |
| returnDesc | String | 是 | 结果描述 | 收单机构的返回信息 |
| paidAmount | Price | 是 | 收单支付金额 | 收单机构的实收金额 |
| deductAmount | Price | 是 | 收单优惠金额 | 收单机构优惠金额 |
| ifWeb | String | 是 | 是否web接口 | 填“1” |
| bankTid | String | 是 | 收单机构终端号 | 收单机构终端号 |
| bankMid | String | 是 | 收单机构商户号 | 收单机构商户号 |
| bankRefno | String | 是 | 收单机构订单号 | 收单机构订单号 |
| bankSwift | String | 是 | 收单机构流水号 | 收单机构流水号 |
请求报文举例
{
"deductAmount": 0,
"originalDate": "20180314",
"originalTraceNo": "EP18031411351400010686002000651",
"bankMid": "84931005331K003",
"returnCode": "00",
"ifWeb": "1",
"bankTid": "70027420",
"originalTid": "99001061",
"paidAmount": 0.100000,
"originalTransclass": "refund",
"bankRefno": "141135568723",
"returnDesc": "success"
}
返回参数,易百后台===>POS机
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
返回报文举例
{
"returnDesc": "notice success",
"returnCode": "00"
}
管理类接口列表
下载密钥
接口用途
- 中间件提供按钮,可以在设备初始安装时调用此接口,下载主密钥数据。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/downloadKey
action
downloadKey
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| password | String | 是 | 密钥下载密码 | 3DES加密,HEX格式 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"password": "EE16E3C7D5F8610EADDFCD5BA737CBB9"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 原样返回 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| tmk | String | 是 | 易百POS主密钥 | 3DES加密,HEX格式 |
| tmkCheckValue | String | 是 | 易百POS主密钥校验值 | 3DES加密,HEX格式,ptlVersion=20180612主密鑰下载时会下发check value |
| mwTmk | String | 是 | 中间件主密钥 | 3DES加密,HEX格式 |
| mwTmkCheckValue | String | 是 | 中间件主密钥校验值 | 3DES加密,HEX格式,ptlVersion=20180612主密鑰下载时会下发check value |
返回报文举例
{
"traceNo": "99000009100010101732123",
"transDate": "20161231102201",
"returnCode": "00",
"returnDesc": "SUCCESS",
"tmk": "0BC8C201108F19E53D1904F12AD50DF2",
"mwTmk": "C716E3C7D5F8610EADDFCD5BA737CBB9",
"tmkCheckValue": "E7958039AE218AE7",
"mwTmkCheckValue": "138D579A070F2480"
}
每日签到
接口用途
- 中间件定时任务每天凌晨,调用此接口进行签到,与后台同步密钥信息和状态信息。(因签到前还未获得mwMackey,故使用mwTmk签名)
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/signin
action
signin
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| posModel | String | 是 | MIS-POS型号 | 如门店有用到易百机具即填写相应设备机型例如:G2,如门店未用易百机具即填写收银机型号 |
| request8583 | String | 否 | 请求报文HEX | MIS-POS灌其他机构密钥,需要组包并填写该域 |
| posSn | String | 否 | 机器序列号 | 例如:G8703U12345 |
| curCommuType | String | 否 | pos连网方式 | GPRS,LAN,WIFI,CDMA |
| simccid | String | 否 | sim卡号 | GPRS和CDMA的必传 |
| netClientIP | String | 否 | pos本地IP | LAN必传 |
| netGate | String | 否 | 本地网关 | LAN必传 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"posModel": "G2"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 原样返回 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| merchantName | String | 是 | 商户门店名称 | |
| deviceNo | String | 否 | 收银机编号 | |
| shopNo | String | 否 | 门店编号 | |
| brand | String | 是 | 品牌编号 | |
| defaultHeartbeat | Number | 是 | 默认心跳间隔 | 单位:秒 |
| publicKey | String | 是 | 银联IC卡公钥 | HEX格式,用于IC检验 |
| response8583 | String | 否 | 返回报文HEX | MIS-POS灌其他机构密钥,后台透传该域 |
| pinKey | String | 是 | 易百POS PIN密钥 | 使用tmk进行3DES加密,HEX格式,用于卡信息,密码加密,KEY过期时间为本次签到成功即前一次密钥过期 |
| mwMacKey | String | 是 | 中间件MAC密钥 | 使用mwTmk进行3DES加密,HEX格式,用于中间件报文签名,KEY过期时间为本次签到成功即前一次密钥过期 |
| webPospUrl | String | 否 | 为终端下发请求WEB POSP的地址 | 用于要为终端变更新的请求地址 |
| posUrl | String | 否 | MIS-POS的更新地址或目录 | 如果为空不需要更新,否则需要更新 |
| mwUrl | String | 否 | 中间件的更新地址或目录 | 如果为空不需要更新,否则需要更新 |
| signBank | String | 否 | 中间件通知MIS-POS作收单行签到 | 如果为空不需要签到,否则需要根据返回的值进行对应收单行的签到,可选值参考收单机构标识 |
| headPictureList | List<headPicture> | 是 | 广告图片 | 用于显示在终端顶部 |
| functionList | List<function> | 是 | 终端功能菜单下发 | |
| nextHearbeat | Number | 是 | 下次心跳间隔秒数 | 下次心跳间隔秒数 |
| orgLogInInfos | List<orgLogInInfo> | 否 | 终端对应机构信息列表 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"transDate": "20161231102201",
"returnCode": "00",
"returnDesc": "SUCCESS",
"merchantName": "哈根达斯张杨路店",
"defaultHeartbeat": 60,
"publicKey": "9F0605A0000003339F22010BDF05083230313631323331DF060101DF070101DF0281F8CF9FDF46B356378E9AF311B",
"pinKey": "9D93D15D6A3913AB4151C456A80841EF",
"mwMacKey": "94365019BBF9CEEAB0DF658E67754A70",
"posUrl": "http://ebuyweb-posp-test.e-buychina.com/upgrade/pos/G2/20170214/",
"mwUrl": "http://ebuyweb-posp-test.e-buychina.com/upgrade/mw/G2/20170214/",
"signBank": "citicCashpay",
"headPictureList": [
{
"displayPicUrl": "",
"linkUrl": ""
}
],
"functionList": [
{
"iconUrl": "",
"title": "",
"action": "",
"command": "",
"childrenFunc": [
{
"iconUrl": "",
"title": "",
"action": "",
"command": ""
}
]
}
]
}
心跳
接口用途
- 中间件定时与易百后台进行通讯,上报当前状态并同步后台服务器状态,通过后台返回的指令调用相应的接口。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/heartbeat
action
heartbeat
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| transTimestamp | List<transTimestamp> | 是 | 交易时间戳 | 用于统计每笔交易的耗时 |
| businessType | int | 否 | 心跳类型 | 0:外卖类; 1:其他类(供可扩展使用) |
请求报文举例
{
"traceNo": "HB99000009100010101732123",
"transTimestamp": [
{
"traceNo":"99000009100010101732123",
"send":"1483372334",
"recv":"1483372335"
},
{
"traceNo":"99000009100010101732125",
"send":"1483372336",
"recv":"1483372337"
}
],
"businessType":0
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 原样返回 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| nextHeartbeat | Number | 是 | 下次心跳间隔秒数 | |
| invokeAction | String | 否 | 调用的接口action | 如:signin 会在当日重新签到 |
| alertMessage | String | 否 | 提示信息 | 中间件弹出窗体提示这里返回的信息 |
| businessOrderCount | int | 否 | 未处理订单总数 | 用于外卖平台,获取最新未处理订单的总数 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"transDate": "20161231102201",
"returnCode": "00",
"returnDesc": "SUCCESS",
"nextHeartbeat": 10,
"invokeAction": "signin",
"alertMessage": "",
"businessOrderCount":10
}
每日结算
接口用途
- 汇总本次结算至上次结算时间段内的所有成功交易(含退款)。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/summary
action
summary
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
请求报文举例
{
"traceNo": "99000009100010101732123"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| 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,
}
批上送
接口用途
- 收银机可批量上传数据到易百后台,易百后台返回对账匹配的结果,最多支持一周内(含当天)的交易对账。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/batchUpload
action
batchUpload
请求参数,收银机===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| 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 | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| 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
}
]
}
对账文件
接口用途
- TODO
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/reconcilliation
action
reconcilliation
下载公钥和AID
接口用途
- 当终端要操作芯片卡时,需要调用此接口获取aid,ca public key接口最好是在签到后调用
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/downloadAidAndPublicKey
action
downloadAidAndPublicKey
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
请求报文举例
{
"traceNo": "99000009100010101732123"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 请求流水号 | 原样返回 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| aid | String | 是 | aid | HEX格式 |
| publicKey | String | 是 | ca public key | HEX格式 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"transDate": "20161231102201",
"returnCode": "00",
"returnDesc": "SUCCESS",
"aid": "0BC8C201108F19E53D1904F12AD50DF2",
"publicKey": "C716E3C7D5F8610EADDFCD5BA737CBB9"
}
交易明细查询
接口用途
- 查询自最近一次结算成功时间至当前时间的交易信息
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/getTransList
action
getTransList
请求参数,收银机===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| pageSize | Integer | 是 | 页大小 | 每一页的交易数据条数 |
| pageNo | Integer | 是 | 页数 | 查看的第几页数据,0为最后一页 |
| printOnly | Integer | 否 | 仅打印 | 不送:默认无特殊处理,0:去除printDetail,1:保留printDetail去除list类字段 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"pageSize": 2,
"pageNo": 19
}
返回参数,易百后台===>收银机
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| pageNo | Integer | 是 | 页数 | 当前数据所在页数 |
| count | Integer | 是 | 总记录数 | 总记录数 |
| pages | Integer | 是 | 总页数 | 总页数 |
| beginDate | String | 是 | 最近一次结算成功时间 | 格式:yyyy-MM-dd HH:mm:ss |
| endDate | String | 是 | 查询记录段结束时间 | 一般就为当前查询操作时间 格式:yyyy-MM-dd HH:mm:ss |
| transInfo | List<transInfo> | 是 | 交易记录列表 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"transDate": "20161029113602",
"returnCode": "00",
"returnDesc": "SUCCESS",
"pageNo": 19,
"count": 200,
"pages": 10,
"beginDate": "2016-10-29 11:36:02",
"endDate": "2016-10-30 11:36:02",
"transInfo": [
{
"action": "qrcodeSale",
"traceNo": "20161029113602000001",
"orderNo": "174098367866",
"transDate": "20161029113602",
"returnCode": "00",
"returnDesc": "SUCCESS",
"paidAmount": "12.00",
"activityProductNo": "00000000048398",
"activityProductName": "微信被扫支付全场通兑产品",
"bank": "weixinQrpay",
"cardNo64": "134561********4384",
"printContent": "00|支付渠道:微信被扫支付|00|支付金额:12.00元|00|优惠折扣:0.10元|00|商户折扣:0.20元|00|顾客支付金额:11.70元|00|NO.4008862001201612233704250176|99|99001675171581028647201612232014080102000000000001|00|*如需退货需凭此小票及小票上二维码,请保留小票"
},
{
"action": "qrcodeSale",
"traceNo": "20161029113602000001",
"orderNo": "174098367866",
"transDate": "20161029113602",
"returnCode": "00",
"returnDesc": "SUCCESS",
"paidAmount": "2082.10",
"activityProductNo": "00000000048398",
"activityProductName": "微信被扫支付全场通兑产品",
"bank": "weixinQrpay",
"cardNo64": "134562********4387",
"printContent": "00|支付渠道:微信被扫支付|00|支付金额:2082.10元|00|优惠折扣:0.00元|00|商户折扣:0.00元|00|顾客支付金额:2082.10元|00|NO.4008862001201612233704250176|99|99001675171581028647201612232014080102000000000001|00|*如需退货需凭此小票及小票上二维码,请保留小票"
}
]
}
外卖类接口列表
外卖开启接单
接口用途
- 外卖开启接单
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutOpen
action
takeoutOpen
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
请求报文举例
{
"traceNo": "9900000910001010220150201"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
返回报文举例
{
"traceNo": "9900000910001010420150201",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS"
}
外卖关闭接单
接口用途
- 外卖关闭接单
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutClose
action
takeoutClose
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
请求报文举例
{
"traceNo": "99000009100010101732123"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS"
}
外卖订单列表
接口用途
- 外卖订单列表
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutList
action
takeoutList
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| pageNo | Integer | 否 | 页号 | 当有多页数据显示时,可以由此参数来确认所要查看页的数据 |
| pageSize | Integer | 是 | 每页记录数 | 可以按终端实际的显示记录上限来设定 |
| status | String | 否 | 按订单状态获取订单列表 | 0:未处理订单(对应到新建订单),1:已处理订单 |
请求报文举例
{
"traceNo": "9900000910001012920150201",
"pageNo": "1",
"pageSize": "8",
"status": "1"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| currentPage | Integer | 否 | 当前页号 | 标识当前显示是第几页数据 |
| pageSize | Integer | 是 | 每页记录数 | 原样回传 |
| countPage | Integer | 否 | 总页数 | |
| orderInfoList | List<orderInfo> | 否 | 订单列表 | 一页最多将有pageSize条记录 |
返回报文举例
{
"traceNo": "9900000910001013020150201",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"currentPage": 1,
"pageSize": 8,
"countPage": 1,
"orderInfoList": [
{
"appOrderNo": "3371680886339521",
"orderTime": "12:08",
"orderAmount": "106.28",
"platformName": "百度外卖"
}
]
}
外卖订单详情
接口用途
- 外卖订单详情
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutDetail
action
takeoutDetail
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| appOrderNo | String | 否 | 应用订单号 | 变长 |
| riderQrcode | String | 否 | 配送员出示电子凭证码 | 当该字段有值时必须上送platformId字段 |
| platformId | String | 否 | 各外卖平台的id | 变长 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"appOrderNo": "2321671337735755",
"riderQrcode": "2017092237735723",
"platformID":"001"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| orderInfo | Object<orderInfo> | 否 | 订单对象 | 显示一条订单信息 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"orderInfo": {
"platformName": "美团外卖",
"status": "配送中",
"appOrderNo": "2321671337735755",
"rcptName": "张三",
"orderAmount": "128.8",
"orderTime": "16:13",
"orderCreateTime": "2017-07-18 16:13:12",
"packageDetailList": [
{
"packId": "2200",
"packName": "包裹2",
"goodsInfoList": [
{
"goodsId": "100001",
"goodsName": "百雀羚草本精华",
"goodsSpec": "150ML",
"price": "38.5",
"quantity": "1"
}
]
},
{
"packId": "1100",
"packName": "包裹1",
"goodsInfoList": [
{
"goodsId": "100002",
"goodsName": "六神花露水",
"goodsSpec": "100ML",
"price": "20.8",
"quantity": "1"
}
]
}
]
}
}
外卖拒绝接单
接口用途
- 外卖拒绝接单
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutReject
action
takeoutReject
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| appOrderNo | String | 是 | 应用订单号 | 变长 |
请求报文举例
{
"traceNo": "9900000910001010720150201",
"appOrderNo": "2321671337735755"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| status | String | 是 | 订单状态 |
返回报文举例
{
"traceNo": "9900000910001010820150201",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"status": "已拒单"
}
外卖确认接单
接口用途
- 外卖确认接单
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutConfirm
action
takeoutConfirm
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| appOrderNo | String | 是 | 应用订单号 | 变长 |
| status | String | 否 | 是否自动核销 | autoVerify |
请求报文举例
{
"traceNo": "99000009100010101732123",
"appOrderNo": "2321671337735755"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| status | String | 是 | 订单状态 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"status": "已确认接单"
}
外卖取消接单
接口用途
- 外卖取消接单
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutCancel
action
takeoutCancel
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| appOrderNo | String | 是 | 应用订单号 | 变长 |
请求报文举例
{
"traceNo": "9900000910001010320150201",
"appOrderNo": "2321671337735755"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| status | String | 是 | 订单状态 |
返回报文举例
{
"traceNo": "9900000910001010120150201",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"status": "已取消接单"
}
骑手订单核销
接口用途
- 外卖骑手订单核销
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutVerify
action
takeoutVerify
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| riderQrcode | String | 是 | 配送员出示电子凭证码 | 变长 |
| platformId | String | 是 | 各外卖平台的id | 变长 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"riderQrcode": "2321671337735755",
"platformID":"001"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS"
}
外卖订单结算
接口用途
- 外卖订单结算
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutSettle
action
takeoutSettle
请求参数,中件间===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| settleBatchNo | String | 是 | 需要结算的批次号 | 打印失败时可重复同一批次号 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"settleBatchNo": "0001"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| settleRecord | List<settleRecord> | 否 | 结算记录 | |
| beginDate | String | 是 | 结算开始时间 | 格式:yyyyMMddHHmmss |
| endDate | String | 是 | 结算结束时间 | 格式:yyyyMMddHHmmss |
| volume | Integer | 否 | 总交易笔数 | |
| totalReceiptAmount | Price | 否 | 商户实收总金额 | |
| totalAmount | Price | 否 | 总金额 | 所有交易汇总的金额 |
| printDetail | String | 是 | 小票打印内容 | 各外卖平台小结 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"transDate": "20161231102201",
"returnCode": "00",
"returnDesc": "SUCCESS",
"settleRecord": [
{
"activityNo": "2016101201",
"activityName": "百度外卖",
"isRefund": false,
"volume": 130,
"totalReceiptAmount": "2082.10",
"totalAmount": "2082.10"
},
{
"activityNo": "2016120301",
"activityName": "美团外卖",
"isRefund": false,
"volume": 100,
"totalReceiptAmount": "234.10",
"totalAmount": "234.10"
}
],
"printDetail":"0020CCF5C2EBD6A7B8B62020B1CACAFD2020202020CAB5CAD52020202020BDF0B6EE0020CEA2D0C5D6A7B8B6202020203135202020363134
2E30302020203631342E30300020D6A7B8B6B1A620202020202031322020203530332E30302020203530332E30300020D7DCBCC6202020202020202032372020313131372E30302020313131372E303009001F0E652D42757920B5E7D7D3C6BED6A42F04BDE1CBE3",
"beginDate": "20161029113602",
"endDate": "20161030113602",
"volume": 230,
"totalReceiptAmount": 1900,
"totalAmount": 2000,
}
订单核销冲正
接口用途
- 外卖骑手订单核销
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/takeoutRollback
action
takeoutRollback
请求参数,中件间===>易百后台
字段 |
类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| riderQrcode | String | 是 | 配送员出示电子凭证码 | 变长 |
| platformId | String | 是 | 各外卖平台的id | 变长 |
请求报文举例
{
"traceNo": "9900000910001010520150201",
"riderQrcode": "2321671337735755",
"platformID":"001"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 交易订单号 | 易百生成 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
返回报文举例
{
"traceNo": "9900000910001010620150201",
"orderNo": "171698602301",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS"
}
卡券管理类接口列表
批量激活卡券
接口用途
- 供门店激活一批卡或券
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/batchActivate
action
- batchActivate
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| activateType | String | 是 | 激活类型 | 1:券;2:预付卡 |
| posOrderNo | String | 是 | pos订单号 | pos订单号,由商家自定义需保证在商户端不重复 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| userRealAmount | Price | 是 | 用户实付 | 单位:元 |
| receiptAmount | Price | 是 | 商户实收金额 | 单位:元 |
| codeValidDays | Number | 否 | 相对有效天数 | 码相对有效期天数和码有效开始结束时间段任选其一必填 |
| codeValidStart | String | 否 | 码有效开始时间 | |
| codeValidEnd | String | 否 | 码有效结束时间 | |
| codeDetail | List<codeDetail> | 是 | 待激活卡券列表 | |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用 |
请求报文举例
{
"traceNo": "TEST16876705239999000001",
"onlineTid": "",
"activateType": "1",
"posOrderNo": "batchActivate1687670523",
"totalAmount": "100",
"userRealAmount": "100",
"receiptAmount": "100",
"codeValidDays": "100",
"codeValidStart": "2023-06-18",
"codeValidEnd": "2023-12-31",
"codeDetail": [
{
"code": "10032812043865714308",
}
]
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复 |
| orderNo | String | 是 | 本次激活操作订单号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00仅表示本次请求成功,并不代表所有码都激活成功 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| codeDetail | List<codeDetail> | 是 | 激活结果列表 | |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用 |
返回报文举例
{
"returnCode": "00",
"returnDesc": "交易成功",
"codeDetail": [
{
"code": "10032812043865714308",
"resultCode": "SUCCESS",
"resultDesc": "交易成功",
"ticketId": "1000030000057",
"ticketName": "测试预付费",
"useTimes": 1
}
],
"traceNo": "TEST16876705239999000001",
"transDate": "20230625132210"
}
按礼品卡号查询卡信息
接口用途
- 供门店查询卡相关信息
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/getCardInfo
action
getCardInfo
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| cardNo | String | 是 | 礼品卡卡号 | 卡号 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
请求报文举例
{
"traceNo": "TEST16876718849999000003",
"onlineTid": "",
"cardNo": "9531761027959980000026"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 本次查询操作易百交易号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00表示本次查询请求成功 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| cardInfo | Object<cardInfo> | 是 | 礼品卡信息 | 当returnCode为00时才返回 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
返回报文举例
{
"returnCode": "00",
"returnDesc": "交易成功",
"cardInfo": {
"cardNo": "",
"cardStatus": "11",
"effectStartTime": 1733021696000,
"expireTime": 1735613696000,
"bindSuccessTime": 0,
"lastUseTime": 0,
"cardId": "",
"cardName": "",
"cardFaceValue": 0,
"cardNetValue": 0,
"cardBalance": 150,
"extraInfo": ""
},
"traceNo": "TEST16876718849999000003",
"transDate": "20230625134444"
}
批量取消激活卡券
接口用途
- 供门店取消激活一批卡或券
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/batchUnActivate
action
batchUnActivate
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| codeDetail | List<codeDetail> | 否 | 待取消激活卡券列表 | 券号列表 |
| originalTraceNo | String | 否 | 原激活交易收银机流水号 | 传入需要取消激活原交易收银机流水号Costa品牌必传 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
请求报文举例
{
"traceNo": "TEST16876718849999000003",
"onlineTid": "",
"codeDetail": [
{
"code": "10032812043892009242"
}
]
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 本次作废操作订单号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | 00仅表示本次请求成功,并不代表所有码都取消激活成功 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| codeDetail | List<codeDetail> | 是 | 取消激活结果列表 | |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
返回报文举例
{
"returnCode": "00",
"returnDesc": "交易成功",
"codeDetail": [
{
"code": "10032812043892009242",
"resultCode": "SUCCESS",
"resultDesc": "交易成功",
"ticketId": "1000030000057",
"ticketName": "测试预付费",
"useTimes": 1
}
],
"traceNo": "TEST16876718849999000003",
"transDate": "20230625134444"
}
预授权类接口列表
预授权冻结
接口用途
- 预授权冻结操作。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/preauthFreeze
action
- preauthFreeze
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| qrcode | String | 是 | 二维码内容 | 串号、一维码或二维码内容 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"totalAmount": 40.8,
"qrcode": "280123121234567890"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| 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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
预授权查询
接口用途
- 预授权查询操作。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/preauthQuery
action
- preauthQuery
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| originalTraceNo | String | 是 | 原收银机流水号 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"originalTraceNo": "280123121234567890"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| 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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
预授权解冻
接口用途
- 预授权解冻操作。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/preauthUnfreeze
action
- preauthUnfreeze
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| refundAmount | Price | 是 | 解冻总金额 | 单位:元 |
| originalTraceNo | String | 是 | 原收银机流水号 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"refundAmount": 40.8,
"originalTraceNo": "280123121234567890"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| 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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
预授权交易
接口用途
- 预授权交易操作。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/preauthSale
action
- preauthSale
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| totalAmount | Price | 是 | 交易总金额 | 单位:元 |
| originalTraceNo | String | 是 | 原冻结操作流水号 | 扫码获得 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"totalAmount": 40.8,
"originalTraceNo": "280123121234567890"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| 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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
新页面预授权交易查询
接口用途
- 预授权交易查询操作。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/preauthInquiry
action
- preauthInquiry
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| originalTraceNo | String | 是 | 原交易流水号 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"originalTraceNo": "280123121234567890"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| 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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
预授权交易退款
接口用途
- 预授权交易退款操作。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/preauthRefund
action
- preauthRefund
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| refundAmount | Price | 是 | 退款总金额 | 单位:元 |
| originalTraceNo | String | 是 | 原收银机流水号 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"refundAmount": 40.8,
"originalTraceNo": "280123121234567890"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| 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 | 否 | 折扣编码 | 由收银机分配,用于入账计折扣类型 |
| discountNum | Number | 否 | 固定金额折扣数量 | 用于入账计折扣类型的数量 |
| tenderCode | String | 否 | 支付方式编码 | 由收银机分配,用于入账计支付方式 |
| 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.api-location-url.com/url",
"qrCode2": "",
"qrCode3": "",
"barCode1": "12345679",
"barCode2": "",
"barCode3": ""
},
"memberDetail": {
"memberId": "M000001545",
"memberName": "TONY",
"grade": "1",
"status": "1",
"balance": 1000.00,
"pointBalance": 30000
},
"voucherDetail": [
{
"voucherId": "001",
"voucherName": "现金优惠券",
"voucherType": "现金",
"voucherCode": "123456789",
"channelAmount": "20.8"
},
{
"voucherId": "002",
"voucherName": "买一赠一优惠券",
"voucherType": "买赠",
"voucherCode": "1232136781",
"channelAmount": "20.8"
}
]
}
电子券包本处理类接口列表
激活前查询
接口用途
- 激活前查询是否可以激活
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/activePreQuery
action
- activePreQuery
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| qrcode | String | 是 | 二维码内容 | 券号code,或本号reelId,或者包号pkgId,或者箱号boxId,用,号隔开 |
| businessType | Integer | 是 | 业务类型 | 当businessType=12时为新逻辑支持箱的概念,返回的数据中包含箱的结构,该字段不传或者不等于12则为原来的逻辑不做任何变动,返回数据中不包含箱的结构 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"qrcode": "R156A001-0000491-0505,R156A002-0000491-0505",
"businessType": 12
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | P00表示待激活(可激活);P01表示正在激活中(不可激活);P02表示有部分券处于不可激活状态(不可激活);P03表示已全部激活;P09表示该门店该城市不可激活 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| voucherPkg | List<voucherPkg> | 否 | 电子券包信息 | 返回电子券包信息 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
返回报文举例(请求中 businessType 值为 12 时)
{
"transDate": "20190107143930",
"returnDesc": "success",
"orderRemark": "天猫"
"voucherBox": [{
"boxId":"X22169-3141157-33475",
"voucherPkg":[
{
"pkgId":"B1123-6430582-102F5",
"voucherReel":[
{
"reelId":"R112102F-0000242-2585",
"codeDetail":[
{
"createTime":"20190107100500",
"saleChannelOrderId":"a1c4efb107df46f0ba230de6477bd337",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000258-M4DEDSfV",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
},
{
"createTime":"20190107100500",
"saleChannelOrderId":"a1c4efb107df46f0ba230de6477bd337",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000242-EOHEMM9K",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
}
]
},
{
"reelId":"R151102F-0000241-2555",
"codeDetail":[
{
"createTime":"20190107100459",
"saleChannelOrderId":"044b5ff93e2d491fa364acb154079e05",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000255-e6tdHe8m",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
},
{
"createTime":"20190107100459",
"saleChannelOrderId":"044b5ff93e2d491fa364acb154079e05",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000241-RTxJO2bX",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
}
]
}
]
},
{
"pkgId":"B1123-6430582-102F5",
"voucherReel":[
{
"reelId":"R112102F-0000242-2585",
"codeDetail":[
{
"createTime":"20190107100500",
"saleChannelOrderId":"a1c4efb107df46f0ba230de6477bd337",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000258-M4DEDSfV",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
},
{
"createTime":"20190107100500",
"saleChannelOrderId":"a1c4efb107df46f0ba230de6477bd337",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000242-EOHEMM9K",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
}
]
},
{
"reelId":"R151102F-0000241-2555",
"codeDetail":[
{
"createTime":"20190107100459",
"saleChannelOrderId":"044b5ff93e2d491fa364acb154079e05",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000255-e6tdHe8m",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
},
{
"createTime":"20190107100459",
"saleChannelOrderId":"044b5ff93e2d491fa364acb154079e05",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000241-RTxJO2bX",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
}
]
}
]
}
]
}],
"paidAmount": 0,
"invoiceAmount": 0,
"returnCode": "P00",
"receiptAmount": 0,
"printDetail": {
"content": "00||"
},
"orderNo": "179031014530",
"traceNo": "ccs203781546843174561"
}
返回报文举例(请求中 businessType 值不为 12,或为空,或不传时)
{
"transDate":"20190107143930",
"returnDesc":"success",
"orderRemark": "天猫"
"voucherPkg":[
{
"pkgId":"B1123-6430582-102F5",
"voucherReel":[
{
"reelId":"R112102F-0000242-2585",
"codeDetail":[
{
"createTime":"20190107100500",
"saleChannelOrderId":"a1c4efb107df46f0ba230de6477bd337",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000258-M4DEDSfV",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
},
{
"createTime":"20190107100500",
"saleChannelOrderId":"a1c4efb107df46f0ba230de6477bd337",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000242-EOHEMM9K",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
}
]
},
{
"reelId":"R151102F-0000241-2555",
"codeDetail":[
{
"createTime":"20190107100459",
"saleChannelOrderId":"044b5ff93e2d491fa364acb154079e05",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000255-e6tdHe8m",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
},
{
"createTime":"20190107100459",
"saleChannelOrderId":"044b5ff93e2d491fa364acb154079e05",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000241-RTxJO2bX",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
}
]
}
]
}
],
"paidAmount":0,
"invoiceAmount":0,
"returnCode":"P00",
"receiptAmount":0,
"printDetail":{
"content":"00||"
},
"orderNo":"179031014530",
"traceNo":"ccs203781546843174561"
}
激活
接口用途
- 激活
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/activeVoucher
action
- activeVoucher
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| qrcode | String | 是 | 二维码内容 | 券号code,或本号reelId,或者包号pkgId,或者箱号boxId,用,号隔开 |
| totalAmount | String | 否 | 折后金额 | 激活券的折后金额,多个券则为总折后金额,单位:分 |
| businessType | Integer | 是 | 业务类型 | 当businessType=12时为新逻辑支持箱的概念,返回的数据中包含箱的结构,该字段不传或者不等于12则为原来的逻辑不做任何变动,返回数据中不包含箱的结构 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"qrcode": "R156A001-0000491-0505,R156A002-0000491-0505",
"totalAmount": "3000",
"businessType": 12,
"orderRemark": "天猫"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复 |
| orderNo | String | 是 | 本次激活操作订单号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | A00表示正在激活中(等待,做结果查询);A02表示有部分券处于不可激活状态(未进行激活);A03表示其他异常(未进行激活) |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| voucherPkg | List<voucherPkg> | 否 | 电子券包信息 | 返回电子券包信息 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"orderNo": "99000009100010101732123",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"orderRemark": "天猫"
}
激活结果查询
接口用途
- 激活结果查询
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/activeResultQuery
action
- activeResultQuery
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| originalTraceNo | String | 是 | 激活操作订单号 | |
| businessType | Integer | 是 | 业务类型 | 当businessType=12时为新逻辑支持箱的概念,返回的数据中包含箱的结构,该字段不传或者不等于12则为原来的逻辑不做任何变动,返回数据中不包含箱的结构 |
请求报文举例
{
"traceNo": "99000009100010101732123",
"originalTraceNo": "99000009100010101732129",
"businessType": 12
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复 |
| orderNo | String | 是 | 原激活操作订单号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | R00表示激活成功;R01表示激活失败;R02表示找不到原订单 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| voucherPkg | List<voucherPkg> | 否 | 电子券包信息 | 返回电子券包信息 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
返回报文举例
{
"traceNo": "99000009100010101732123",
"orderNo": "99000009100010101732123",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"orderRemark": "天猫"
}
作废
接口用途
- 作废,作废后的券不可激活
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/delVoucher
action
- delVoucher
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| onlineTid | String | 否 | 线上对接使用的统一终端号 | 对接前需提前和易百技术沟通 |
| qrcode | String | 是 | 二维码内容 | 券号code,多个用,号隔开 |
| businessType | Integer | 是 | 业务类型 | 当businessType=12时为新逻辑支持箱的概念,返回的数据中包含箱的结构,该字段不传或者不等于12则为原来的逻辑不做任何变动,返回数据中不包含箱的结构;当businessType=1001时为批量反激活;当businessType=1002时为批量作废。 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
请求报文举例
{
"traceNo": "9900000910001010920150201",
"qrcode": "10014030013500006013",
"businessType": 12,
"orderRemark": "天猫"
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| orderNo | String | 是 | 本次作废操作订单号 | |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | V00表示作废成功;V01表示作废失败;V03表示券号错误 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| voucherPkg | List<voucherPkg> | 否 | 电子券包信息 | 返回电子券包信息 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
返回报文举例
{
"traceNo": "9900000910001011020150201",
"orderNo": "99000009100010101732123",
"transDate": "20161231120533",
"returnCode": "00",
"returnDesc": "SUCCESS",
"orderRemark": "天猫"
}
核销信息以及城市范围查询
接口用途
- 核销信息以及城市范围查询
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/queryVerifyInfo
action
- queryVerifyInfo
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| qrcode | String | 是 | 二维码内容 | 券号code |
| businessType | Integer | 是 | 业务类型 | 当businessType=12时为新逻辑支持箱的概念,返回的数据中包含箱的结构,该字段不传或者不等于12则为原来的逻辑不做任何变动,返回数据中不包含箱的结构 |
请求报文举例
{
"traceNo": "9900000910001010720150201",
"qrcode": "10085748356738476396436",
"businessType": 12
}
返回参数,易百后台===>中件间
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| traceNo | String | 是 | 收银机流水号 | 不允许重复,必须以yyyyMMdd(当天)作为流水号开头+递增序列 |
| transDate | String | 是 | 交易时间 | 格式为:yyyyMMddHHmmss |
| returnCode | String | 是 | 返回码 | H00表示可核销;H01表示该券未激活;H02表示该券已核销;H03表示券号有误 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| voucherPkg | List<voucherPkg> | 否 | 电子券包信息 | 返回电子券包信息 |
| orderRemark | String | 否 | 订单备注 | 订单备注信息,除基本信息,也用于部分透传字段场景使用,如品牌核销渠道等。 |
返回报文举例
{
"transDate":"20190107143930",
"returnDesc":"success",
"orderRemark": "天猫",
"voucherBox":[
{
"boxId":"X1123-6430582-102F5",
"voucherPkg":[
{
"pkgId":"B1123-6430582-102F5",
"voucherReel":[
{
"codeDetail":[
{
"createTime":"20190107100500",
"saleChannelOrderId":"a1c4efb107df46f0ba230de6477bd337",
"remainTimes":2,
"status":"03",
"ticketName":"买N赠M券[望湘园_储值卡]",
"code":"1001901070000000258-M4DEDSfV",
"activityId":500706,
"validEnd":"00000000000000",
"sendChannelName":"测试易百制码",
"ticketId":500811,
"saleChannelName":"望湘园_储值卡",
"validStart":"00000000000000",
"faceValue":"0.0",
"createDate":"20190107",
"activityName":"【吉野家】 黏贴板主题-2018第6期",
"statusDesc":"未激活"
}
],
"reelId":"R112102F-0000242-2585"
}
]
}
]
}
],
"paidAmount":0,
"invoiceAmount":0,
"returnCode":"P00",
"receiptAmount":0,
"printDetail":{
"content":"00||"
},
"orderNo":"179031014530",
"traceNo":"ccs2037815468431420150201"
}
POS机相关配置与说明
POS机指令说明
- 00 服务端下发打印文本譬如 00|支付渠道:支付宝当面付|
- 01 仅显示的信息
-
02 输入文本数据,最大30个字节的数据
|02|01|请输入原交易日期 |02|02|请输入原交易参考号 |02|03|请输入原交易流水号 -
03 输入文本数据,星号回显,最大30个字节的数据
-
04 支持刷卡以及IC插卡,同时上送卡号,有效期,1/2/3磁道
- 05 二维码扫描(最长255)
- 06 显示提示信息,产生随机数,本地记录,然后通信,通信成功后,提示输入密文,和本地存贮随机数进行验证。验证的次数由主机返回
- 07 提示选择是否的确认取消,确认则继续下一步,取消则退出
- 08 显示选择项,按照选择的选项更新交易码。格式如下:交易码~菜单名称&交易码~菜单名称
- 09 首先显示提示信息,提示密文输入,星号回显,需要对密码进行非对称RSA加密
- 0A|00|请输入结算金额 表示结算金额框 0A|02|请输入积分金额$defaultAmount 表示积分抵扣金额($defaultAmount表示初始显示0A|00的输入金额)
- 0B 输入银行卡密码(X9.8算法加密)
- 0C 读行业磁条卡(支持手输,卡号长度不限制,无有效期,上传三个磁道)
- 0D 只上送银行卡卡号及有效期,不上送磁道,加密(3DES)卡号在第2域,有效期在14域
- 0E 只上送SHA1加密的卡号,加密数据在63域40字节ASCII码,跟其他数据用|分割
- 0F 上送SHA1加密的卡号和卡号前六位,加密数据在63域46字节ASCII码,跟其他数据用|分割
- 10 确认上次输入的内容,提示语模板为:请确认输入的金额data是否正确? 显示确认与取消两个按钮,确认按钮继续下一步输入,如无,则直接交易,取消按钮则返回上一步输入位置,由操作人员清除后重新输入
- 11 支持银行非接IC卡读取、是否有卡号、有效期、磁道或其他数据?
- 12 支持行业非接IC卡读取,是否磁道或其他数据?
- 13 清空流水及冲正
- 14 重打印上笔交易
- 15 退出签到状态,重新签到
- 1F 服务端下发小票title信息 譬如 'e-Buy 电子凭证'
- 2F 服务端下发小票交易类型信息 譬如 '交易类型:二维码支付'
ps:
- 离线隔日退款交易action=refund,菜单需配置05指令来获取traceNo值。
收单机构标识
| 下发POS的标识值 | 易百终端标识值 | 收单机构 | AppName | 二进制位置 |
|---|---|---|---|---|
| 0x01 | 1 | 招行积分(星巴克) | cmbPoint | 0000 0001 |
| 0x02 | 2 | 中信收单(透传) | citicCashpay | 0000 0010 |
| 0x04 | 4 | 嘉联收单 | jlpayCashpay | 0000 0100 |
| 0x08 | 8 | 建行收单(间连) | ccbCashpay | 0000 1000 |
| 0x10 | 16 | 建行收单(直连) | ccbCashpay | 0001 0000 |
| 0x20 | 32 | 中信收单 | citicCashpay | 0010 0000 |
| 0x40 | 64 | 杉德收单 | sandCashpay | 0100 0000 |
| 0x80 | 128 | 杉德预付费 | sandPrepay | 1000 0000 |
Json菜单配置格式
菜单内容
[{
"iconUrl": "1级菜单icon url",
"title": "1级菜单名称",
"action": "",
"command": "",
"childrenFunc": [{
"iconUrl": "2级菜单icon url",
"title": "2级菜单名称",
"action": "2级菜单action",
"command": "2级菜单下发指令"
},
{
"iconUrl": "2级菜单icon url",
"title": "2级菜单名称",
"action": "2级菜单action",
"command": "2级菜单下发指令",
"platformUrls": [{
"code": "平台code",
"url": "平台icon url"
}]
}]
}]
额外信息内容(仅webposp使用)
//headPictureList 头部banner轮播图列表
{
"headPictureList": [{
"picUrl": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999\_10000&sec=1530714400246&di=9b2f72ab52a845dfacf6526a1e1babe5&imgtype=0&src=http%3A%2F%2Fimg02.tooopen.com%2Fimages%2F20160514%2Ftooopen\_sy\_162520087466.jpg",
"linkUrl": "http://www.e-buychina.com/"
},
{
"picUrl": "图片url",
"linkUrl": "点击图片链接url"
}]
}
打印模板内容(仅posp使用)
#TLV格式
01=积分方式:后台折算
02=销售金额:
03=折抵金额:
04=实付金额:
05=消费积分:
06=订单号码:
07=兑换产品:
08=现场兑换,离柜无效
09=--------------------------------
0A=总计
0B=[电子凭证] 数量
0C=[积分兑换] 笔数 金额
0D=[身份验证] 数量
0E=交通银行
0F=招商银行
出库获取终端映射配置
接口用途
- 机器出库时,通过机器号获取终端映射(brand,shopNo,deviceNo)
- 请在出库前确保已配置好商户,终端,终端映射以及终端中的序列号。
接口地址
https://ebuywebposp-test.e-buychina.com/ebuyweb-posp/api/ebuyGetPosConfig
action
- ebuyGetPosConfig
请求参数,中间件===>易百后台
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| posSn | String | 否 | 机器序列号 | 例如:G8703U12345 |
请求报文举例
{
"posSn": "G8703W00519"
}
返回参数,易百后台===>中间件
| 字段 | 类型 | 是否必填 | 字段意义 | 备注 |
|---|---|---|---|---|
| returnCode | String | 是 | 返回码 | 00表示交易成功,其他表示失败 |
| returnDesc | String | 是 | 返回信息 | 交易结果描述或错误原因 |
| deviceNo | String | 否 | 收银机编号 | |
| shopNo | String | 否 | 门店编号 | |
| brand | String | 是 | 品牌编号 | 如:674 |
返回报文举例
{
"returnCode": "00",
"shopNo": "16171",
"deviceNo": "1",
"brand": "674",
"returnDesc": "SUCCESS"
}
返回码表
"00" , "SUCCESS"
"GRT_CONFIG_ERROR01", "POS_SN NOT EXIST"
"GRT_CONFIG_ERROR02", "POS_SN USED BY MULTI-TERMINAL"
"GRT_CONFIG_ERROR03", "TERMINAL IS MISSING"
"GRT_CONFIG_ERROR04", "POS CONFIG NOT EXIST"
"GRT_CONFIG_ERROR05", "POS CONFIG IS WRONG"
收单cardPayment交易特殊逻辑
正交易:
仅当action=cardPayment时,中间件不唤醒刷卡界面,直接组装报文请求易百后台,等待二次交互或收单指令返回。
刷卡输密由子应用发起。
反交易(当action=void或action=refund):
当acquirer字段不为空时,中间件不唤醒刷卡界面,直接组装报文请求易百后台,等待收单指令返回。
刷卡输密由子应用发起。