签到获取工作秘钥
大约 2 分钟
签到获取工作秘钥
签到获取工作秘钥
服务ID | zjrcuoip.pay.pos.getdailykey |
---|---|
VERSION | 1.0.0 |
服务详细描述
银行卡支付时,先调用该接口,获取POS每日密文。
注:参数中的必填要求:M为必填项,O为非必填项,C为条件选填项。
示例代码
GetKeyDemoOp.java
/**
* 签到获取工作秘钥
*
* @author
*/
@Service
public class GetKeyDemoOp {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void execute() {
// 1.获取通讯连接对象
INetTools netTools = NetToolsHttpFactory.getHttpInstance();
// 2.生成公共请求报文对象
OipReqBean oipReqBean = new OipReqBean();
// 设置应用id
oipReqBean.setAppId("应用id");
// 设置开发者id
oipReqBean.setDlpId("开发者id");
// 设置产品id
oipReqBean.setProdId("产品id");
// 设置api方法名
oipReqBean.setMethod("zjrcuoip.pay.pos.getdailykey");
// 设置api版本
oipReqBean.setVersion("1.0.0");
// 设置时间戳
SimpleDateFormat sfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
oipReqBean.setTimestamp(sfs.format(new Date()));
// 3.生成请求配置对象,配置请求地址/url等信息
NetReqConfBean netReqConfBean = new NetReqConfBean();
// 应用私钥
netReqConfBean.setAppPrivateKey("应用私钥");
// 请求地址
netReqConfBean.setNetUrl("请求地址");
// 开发者公钥
netReqConfBean.setPublicKey("开发者公钥");
// 设置业务报文
Date d=new Date();
SimpleDateFormat sf=new SimpleDateFormat("yyyyMMddHHmmss");
//以map接收所有参数生成业务报文,主要是必输项,具体参考接口文档
Map map =new HashMap();
map.put("输入项必输字段", "字段值");
String bizContent = JSON.toJSONString(map);
// 生成业务报文json对象
oipReqBean.setBizContent(bizContent);
// 通讯获取报文对象
OipRspBean oipRspBean = netTools.execute(oipReqBean, netReqConfBean);
// 响应成功
if (oipRspBean.isSuccess()) {
String bizJson = oipRspBean.getBizContent();
if (StringUtils.isNotBlank(bizJson)) {
Map bizData = JSON.parseObject(bizJson, Map.class);
System.out.println(bizData);
}
}
}
}
公共报文
业务输入项
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | deviceNo | 终端序列号 | M | String | 32 | 终端序列号 |
2 | safeModule | 安全模块号 | M | String | 32 | 密码键盘序列号 |
3 | serial | 终端流水号 | M | String | 6 | |
4 | txDtTm | 终端交易时间 | M | String | 14 | 格式:yyyyMMddHHmmss |
5 | random | 随机数 | M | String | 16 | |
6 | batchNo | 批次号 | M | String | 6 |
业务输出项
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | pik | 密码加密密钥 | \ | String | 40 | 16进制,key+checkvalue |
2 | mak | MAC密钥 | \ | String | 40 | 16进制,key+checkvalue |
3 | tdk | 磁道加密密钥 | \ | String | 40 | 16进制,key+checkvalue |
4 | mek | 报文加密密钥 | \ | String | 40 | 40字节:key+checkvalue |
5 | funcList | 功能列表 | \ | String | 64 | 从左到右,每个字节表示一个交易是否开通:0-未开通,1-已开通 |