银行卡预授权查询-服务商
大约 6 分钟
银行卡预授权查询-服务商
银行卡预授权查询
| 服务ID | zjrcuoip.pay.uas.card.auth.query |
|---|---|
| VERSION | 1.0.0 |
服务详细描述
由开放平台接入的终端调用预授权查询获取交易处理结果。
注:参数中的必填要求:M为必填项,O为非必填项,C为条件选填项。
示例代码
UasCardAuthQryDemoOp.java
/**
* 银行卡预授权查询-服务商
*
* @author
*/
@Service
public class UasCardAuthDemoOp {
@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.uas.card.auth.query");
// 设置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 | mchSeq | 商户识别号 | M | String | 32 | |
| 2 | txTp | 交易类型 | M | String | 2 | 06-查询 |
| 3 | txDtTm | 交易时间 | M | String | 14 | 查询交易发起时间,格式为yyyyMMddHHmmss |
| 4 | orglTxId | 原商户订单号 | M(三选一) | String | 32 | orglTxId为原预授权交易的商户订单号 |
| 5 | orglMsgId | 原交易流水号 | M(三选一) | String | 32 | orglMsgId为原预授权交易由收单系统生成的流水号 |
| 6 | orglTradeNo | 原支付流水号 | M(三选一) | String | 32 | orglTradeNo为原预授权交易由支付系统生成的流水号 |
| 7 | termInfo | 终端信息 | M | Map | 商户侧受理终端信息。详见termInfo说明 | |
| 8 | remark | 备注信息 | O | String | 12 | 备注信息 |
termInfo说明:
| 序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
|---|---|---|---|---|---|---|
| 1 | location | 终端实时经纬度信息 | O | String | 32 | 受理终端设备实时经纬度信息,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。终端实时经纬度信息与devIp-商户端设备IP应二选一必送 |
| 2 | ntwLcs | 终端入网认证编号 | O | String | 5 | 银行卡受理终端产品入网认证编号。该编号由“中国银联标识产品企业资质认证办公室”为通过入网认证的终端进行分配。 格式:5位字符,例如P3100 |
| 3 | devTp | 商户端设备类型 | M | String | 2 | 12:行业终端(公交、地址用于指定行业的终端); |
| 4 | serlNm | 终端序列号 | M | String | 32 | 终端设备的硬件序列号。 |
| 5 | devId | 终端设备号 | M | String | 8 | 终端设备号,收单机构为商户终端分配的唯一编号。应送商户云绑定辅助受理终端生成的银联终端号(行社收单管理员提供) |
| 6 | enRdNm | 加密随机因子 | O | String | 10 | 仅在被扫支付类交易报文中出现:若付款码为19位数字,则取后6位; 若付款码为EMV二维码,则取其tag57的卡号/token号的后6位。 |
| 7 | scrtTxt | 密文数据 | O | String | 16 | 仅在被扫支付类交易报文中出现:64bit的密文数据,对终端硬件序列号和加密随机因子加密后的结果。本子域取值为:64bit密文数据进行base64编码后的结果。 |
| 8 | appVer | 应用程序版本号 | O | String | 8 | 终端应用程序的版本号。应用程序变更应保证版本号不重复。当长度不足时,右补空格。 |
| 9 | devIp | 商户端设备IP | C | String | 40 | 商户端终端设备IP地址。注:如经、纬度信息未上送,该字段必送。 |
| 10 | mblCtryCd | 移动国家代码 | O | String | 3 | 基站信息,由国际电联(ITU)统一分配的移动国家代码(MCC) |
| 11 | mblNtNm | 移动网络号码 | O | String | 2 | 中国为460 |
| 12 | iccId | ICCID | O | String | 20 | 基站信息,由国际电联(ITU)统一分配的移动网络号码(MNC) |
| 13 | lctionCd1 | 位置区域码1 | O | String | 4 | 移动:00、02、04、07; 联通:01、06、09; 电信:03、05、11 |
| 14 | lbsNum1 | 基站编号1 | O | String | 12 | SIM卡卡号 |
| 15 | lbsSgnl1 | 基站信号1 | O | String | 4 | LAC(移动、联通),16进制 |
| 16 | lctionCd2 | 位置区域码2 | O | String | 4 | CID(移动、联通),16进制 |
| 17 | lbsNum2 | 基站编号2 | O | String | 12 | SIG(移动、联通),16进制 |
| 18 | lbsSgnl2 | 基站信号2 | O | String | 4 | LAC(移动、联通),16进制 |
| 19 | lctionCd3 | 位置区域码3 | O | String | 4 | CID(移动、联通),16进制 |
| 20 | lbsNum3 | 基站编号3 | O | String | 12 | SIG(移动、联通),16进制 |
| 21 | lbsSgnl3 | 基站信号3 | O | String | 4 | LAC(移动、联通),16进制 |
| 22 | telSysId | 电信系统识别码 | O | String | 4 | CID(移动、联通),16进制 |
| 23 | telNetId | 电信网络识别码 | O | String | 4 | SIG(移动、联通),16进制 |
| 24 | telLbs | 电信基站 | O | String | 4 | SID(电信),电信系统识别码,每个地级市只有一个SID |
| 25 | telLbsSgnl | 电信基站信号 | O | String | 4 | NID(电信),电信网络识别码,由电信各地级分公司分配。每个地级市可能有1到3个NID |
业务输出项
| 序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
|---|---|---|---|---|---|---|
| 1 | bizSts | 交易状态 | M | String | 4 | 指预授权交易状态。01-交易处理中,02-交易成功,03-交易失败,06-已撤销,07-预授权完成,08-预授权撤销处理中,09-预授权完成处理中 |
| 2 | bizStsDesp | 交易状态描述 | M | String | 255 | 如:交易成功 |
| 3 | rjctRsnCd | 错误码 | O | String | 32 | |
| 4 | rjctRsn | 错误描述 | O | String | 255 | |
| 5 | msgId | 交易流水号 | M | String | 32 | 收单交易系统生成的流水号。 |
| 6 | txId | 商户订单号 | O | String | 32 | 订单创建时的txId原样返回。 |
| 7 | mrchOrderNo | 商户原始订单号 | O | String | 64 | |
| 8 | txTp | 交易类型 | M | String | 2 | 20-预授权 |
| 9 | txAmt | 交易金额 | M | String | 15 | 单位元,精确到小数点后两位。 |
| 10 | ccy | 标价币种 | O | String | 3 | 默认CNY-人民币。指txAmt的币种。 |
| 11 | iccDt | IC卡数据域 | C | String | 510 | 需下发脚本的情况返回(十六进制扩位) |
| 12 | attach | 附加数据 | O | String | 127 | 订单创建时的附加数据原样返回。 |
以下字段在bizSts为02-交易成功时有返回:
| 序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
|---|---|---|---|---|---|---|
| 1 | tradeNo | 支付流水号 | M | String | 32 | 支付系统生成的唯一流水号 |
| 2 | mrchNm | 特约商户简称 | M | String | 128 | |
| 3 | timeEnd | 交易完成时间 | M | Datetime | 14 | 支付成功时有值,格式为yyyyMMddHHmmss。 |
| 4 | tunnel | 交易通道 | M | String | 10 | UNIONPAY-银联 |
| 5 | rcvrInstCd | 接收机构标识码 | M | String | 11 | |
| 6 | parIf | PAR信息 | O | String | 37 | token交易返回。数据示例:PR031+子域tag(01)+子域长度(1D)+29位数据 |
| 7 | authNo | 授权标识应答码 | M | String | 6 |
