电子券业务API


券详情查询

请求参数

字段 类型(最大长度) 是否必填 字段含义 备注
code String 券号
orderNo String 制码订单号 暂时支持一单一券场景
traceNo String 交易流水号 全局唯一

响应结果

字段 数据项 类型(最大长度) 是否必填 字段含义 备注
data codeUrl String 券短链 券二维码
code String 券号
ebuyTicketId String 易百券批次号
faceValue String 券面值 单位(元)
validStart String 券有效期 起 格式: yyyy-mm-dd hh:mm:ss
validEnd String 券有效期 止 格式: yyyy-mm-dd hh:mm:ss
codeStatus String 券状态

00:未使用

01:已使用

08:已兑换

04:已冻结

05:已作废

06:已过期

codeStatusDesc String 券状态描述
activityName String 活动名称
activityId String 活动编号
activityProductNo String 活动产品编号
productName String 产品名称
ticketType String 券类型

券兑换

请求参数

字段 类型(最大长度) 是否必填 字段含义 备注
code String 券号
traceNo String 交易流水号 全局唯一

响应结果

字段数据项类型(最大长度)是否必填字段含义备注
data code String 券号
exchangeResult String 兑换结果 00:兑换成功,其他为兑换失败
exchangeDesc String 兑换结果描述

券状态变更

请求参数

字段 类型(最大长度) 是否必填 字段含义 备注
code String 券号 多个券号用英文逗号隔开(对接批量券状态更新需提前和易百沟通,暂时默认不支持批量操作)
traceNo String 交易流水号 全局唯一
updateType String 更新类型 支持作废、冻结、解冻; 枚举值见备注

注: updateType 枚举

updateType 操作名称 更新前状态 更新后状态 备注
invalid 串码作废 00:未使用、初始化
03:未激活
04:已冻结
05:已作废
freeze 冻结串码 00:未使用 04:已冻结 已冻结的串码,可以调用解冻操作后恢复原状态
unfreeze 解冻串码 04:已冻结 00:未使用

响应结果

字段 数据项 类型(最大长度) 是否必填 字段含义 备注

data

code String 券号
codeUpdateResult String 券更新结果

00:更新成功,

其他为失败

券码核销

请求参数

字段 类型(最大长度) 是否必填 字段含义 备注
code String 券号 多张券码用逗号隔开,英文逗号
traceNo String 交易流水号 全局唯一
shopNo String 门店编号
shopName String 门店名称
tansTime String 核销时间 格式 yyyyMMddhhssSSS
goodsList List<GoodsInfo> 券兑换的商品明细 代金券默认为A0001
totalAmount String 订单总金额 单位(元)
verifyScene String 核销场景 线上:online, 线下:offline

GoodsInfo

字段 类型(最大长度) 是否必填 字段含义 备注
goodsId String 券兑换商品id
price String 兑换商品金额 全局唯一
rebateCode String 标签编号
count String 兑换商品数量 默认为1

响应结果

字段 数据项 类型(最大长度) 是否必填 字段含义 备注
data List<VerifyResultData> List 核销结果集

VerifyResultData定义

字段 类型(最大长度) 是否必填 字段含义 备注
verifyResult String 核销结果

00:成功

其他为失败

activityNo String 活动编号
activityName String 活动名称
totalAmount String 订单总金额 单位(元)
userRealAmount String 用户购券实付金额 单位(元)
merchantRealAmount String 商户实收金额 单位(元)
discountAmount String 券折抵金额 单位(元)
channelBenefit String 渠道优惠金额 单位(元)
merchantBenefit String 商户优惠金额 单位(元)
faceValue String 券面值 单位(元)
remainUseTimes String 剩余可用次数
code String 券号

券核销撤销

请求参数

字段 类型(最大长度) 是否必填 字段含义 备注
code String 券号 多个券用逗号隔开,不传默认撤销originTraceNo 对应核销的所有券
traceNo String 当前交易流水号 全局唯一
originTraceNo String 核销时上送的流水号
originVerifyDate String 原核销日期 yyyyMMdd

响应结果

字段 数据项 类型(最大长度) 是否必填 字段含义 备注
data List<VerifyVoidResultData> List 核销撤销结果

VerifyVoidResultData定义

字段 类型(最大长度) 是否必填 字段含义 备注
resultDesc String 核销撤销结果结果描述
result String 核销撤销结果

00: 成功

其他为失败

code String 券号
ticketId String 券批次id

券状态变更通知

请求参数

字段 类型(最大长度) 是否必填 字段含义 备注
code String 券号
traceNo String 当前交易流水号 全局唯一
saleChannelOrderId String 发券时渠道侧订单号 核销、核销撤销场景必传
shopNo String 核销门店编号 核销场景必传
timeStamp String 发生时间戳(毫秒)
notifyType String 当前通知交易类型
validStartDate String 券有效期开始时间 yyyy-MM-dd HH:mm:ss
validEndDate String 券有效期截止时间 yyyy-MM-dd HH:mm:ss

注: notifyType 枚举

notifyType 操作名称 更新前状态 更新后状态
verifyNotify 券核销 未使用 已使用
verifyCancelNotify 券核销撤销 已使用 未使用
invalidNotify 券作废 未使用 已作废
renewalNotify 券延期 已过期 可使用
expireNotify 过期通知 过期 已过期

通知报文(案例)签名过程:

JSONObject notifyJson = new JSONObject(true);

notifyJson.put("code", "10034343334344443209");

notifyJson.put("traceNo", "4200001172202109274275163730");

notifyJson.put("notifyType", "verifyNotify");

byte[] encodeBase64 = Base64.encodeBase64(notifyJson.toJSONString().getBytes("UTF-8"));

String bizContent = new String(encodeBase64, "UTF-8");

Map<String, String> map = new TreeMap<>();

map.put("appKey", "274b9cf9f01543619baa726ed24ddd19");

map.put("action", "verifyNotify");

map.put("format", "json");

map.put("charset", "utf-8");

map.put("signType", "sha256");

map.put("timestamp", "1483372334");

map.put("bizContent", bizContent);

StringBuilder buffer = new StringBuilder();

for (Map.Entry<String, String> item : map.entrySet()) {

buffer.append(item.getKey()).append("=").append(item.getValue()).append("&");

}

String signStr = buffer.toString() + "appSecret=XXXXXXXXXXXX";// appSecret(需易百提供);

String checkSign = SHAUtil.sha256(signStr);

System.out.println(signStr);

System.out.println(checkSign);

}

参与签名报文字符串:

action=verifyNotify&appKey=274b9cf9f01543619baa726ed24ddd19&bizContent=eyJjb2RlIjoiMTAwMzQzNDMzMzQzNDQ0NDMyMDkiLCJ0cmFjZU5vIjoiNDIwMDAwMTE3MjIwMjEwOTI3NDI3NTE2MzczMCIsIm5vdGlmeVR5cGUiOiJ2ZXJpZnlOb3RpZnkifQ==&charset=utf-8&format=json&signType=sha256&timestamp=1483372334&appSecret=XXXXXXXXXXXX

签名结果:

17e9fe1250c33fccf517ce4b5810f2c731fa45058181a15cffc4ab38332460d4

响应结果

字段 类型(最大长度) 是否必填 字段含义 备注
resultDesc String 通知结果描述
result String 通知结果

00: 成功

其他为失败