券状态变更通知
请求参数
字段 | 类型(最大长度) | 是否必填 | 字段含义 | 备注 |
---|---|---|---|---|
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×tamp=1483372334&appSecret=XXXXXXXXXXXX
签名结果:
17e9fe1250c33fccf517ce4b5810f2c731fa45058181a15cffc4ab38332460d4
响应结果
字段 | 类型(最大长度) | 是否必填 | 字段含义 | 备注 |
---|---|---|---|---|
resultDesc | String | 否 | 通知结果描述 | |
result | String | 否 | 通知结果 | 00: 成功 其他为失败 |
No Comments