银行卡支付-交易创建-服务商

大约 15 分钟

银行卡支付-服务商

银行卡支付

服务IDzjrcuoip.pay.uas.card.payment
VERSION1.0.0

服务详细描述

接入银行卡支付产品时,调用该接口创建交易,获取调起支付控件的参数。

注:参数中的必填要求:M为必填项,O为非必填项,C为条件选填项。

示例代码

UasCardPaymentDemoOp.java

/**
 * 银行卡支付-服务商
 * 
 * @author
 */
@Service
public class UasCardPaymentDemoOp {

	@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.payment");
		// 设置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中文名称是否必输类型长度说明
1deviceNo终端序列号MString32终端序列号
2safeModule安全模块号MString32密码键盘序列号
3track磁道密文MString255二磁道补‘F’至16的整数倍+三磁道补‘F’至16的整数倍,用签到所得tdk 进行SM4加密
4cardNo卡号MString19
5pinBlock密码密文OString32PIN的格式应符合ANSIX9.8Format(带主账号信息),用签到所得pik 进行SM4加密
6algType算法标志MString12:国密
7etryMdCd服务点输入方式MString3
8mchSeq商户识别号MString32
9txId商户订单号MString32当前交易的请求流水号,也是交易唯一标识,可包含数字、大小写字母、下划线,需保证在商户端不重复。 编号规则为系统编号(2位)+年月日(8位数字)+序号(最长22位)。
10mrchOrderNo商户原始订单号OString64
11rtrvlRefNb检索参考号MString12对应银联卡交换规范的第37域,12位定长
12txTp交易类型MString201-消费
13bizCgy业务类型MString4A001-消费
14purpPrtry业务种类MString7A001001-实物商品租赁 A001002-虚拟商户购买 A001003-预付类账户充值 A001004-航旅交通服务 A001005-活动票务订购 A001006-商业服务消费 A001007-生活服务消费 A001008-其他商家消费 A001009-金融服务
15txDtTm交易时间MDatetime14交易发起时间,格式yyyyMMddHHmmss
16amt交易金额MString15单位为元,精确到小数点后两位。
17ccy交易币种OString3默认CNY-人民币,指amt的币种
18subject订单标题MString256商品标题/交易标题/订单标题/订单关键字等。
19body订单描述OString128对交易或商品的描述
20iccTl安全控制信息CMap对应核心的@ICCTL数据结构,IC卡必送 详细字段见iccTl说明
21cardSqncNb卡序列号CString3IC卡序列号,IC卡必送。 对应银联卡交换规范的第23域,3位定长
22iccDtIC卡数据域CString510IC卡必送。 对应银联卡交换规范的第55域
23tokentoken数据OString512对应银联卡交换规范的第63域中的TK。 上送时整串数据进行扩位。
24cdtnCd服务点条件码MString200-正常提交 对应银联卡交换规范的第25域
25pinCptrCd服务点PIN获取码CString2由服务点设备接受的PIN的最大字符数目。 对应银联卡交换规范的第26域,2位定长。 取值范围:04-12 有密交易必须上送
26reserved自定义域MString100对应银联卡交换规范的第60域,详见reserved说明
27acqrRsvd受理方保留MString100对应银联卡交换规范的第122域
28prvtAtch私有附加数据OString512对应银联卡交换规范的第48域
29termInfo终端信息MMap商户侧受理终端信息。详见termInfo说明
30deviceId银联终端号MString8银联报备的终端号,对应银联卡交换规范的第41域
31termPrms终端信息M(三选一)String248对应银联卡交换规范的第104域中的PI。 终端具备获取位置信息等能力时必须上送; 针对一般POS终端,需要传递F104 PI用法tag0102及0408; 针对mPOS终端,需要传递F104 PI用法tag01~08; 上送数据示例:PI+3位后续数据长度+子域标签tag01-08(1位十六进制)+子域长度(1位十六进制)+子域数据,例:PI012+(01)(0a)1234567890;10位tag01子域数据,子域长度为0a; 上送时整串数据进行扩位。
32lbsInfoLBS信息M(三选一)String300对应银联卡交换规范的第104域中的LB。 终端具备获取基站信息等能力时必须上送; 上送数据示例同PI; 上送时整串数据进行扩位。
33address交易地点信息M(三选一)String310对应银联卡交换规范的第126域。 终端具备获取位置信息等能力时必须上送; 传递F126 TA用法tag01~03:用于传递交易地点相关关信息; 上送数据元例同PI; 上送时无需扩位。
34ip终端IP地址MString45终端设备IP
35mac终端MAC地址CString32终端设备MAC
36remark备注信息OString255备注信息
37attach附加数据OString78附加数据,在查询接口中原样返回,该字段主要用于携带自定义数据。 如包含特殊字符,请做Base64编码。
38extendParams业务扩展参数OMap备用字段,暂未定义子key。

iccTl说明:

序号key中文名称是否必输类型长度说明
1authAmt授权金额OString12
2othAmt其它金额OString12
3cntCd终端国家代码OString3
4chkRlt终端验证结果OString10
5curCd交易货币代码OString3
6tradeDate交易日期OString6
7tradeType交易类型OString2
8unpNum不可预知数OString8
9traAlp应用交互特征OString4
10traAtc应用交易计数器OString4
11cardCvr卡片验证结果(CVR)OString8
12cardArqc待检ARQCOString16
13cardNo卡号OString19
14cardSer卡片序列号OString3
15reserve备用字段OString60

reserved说明:

序号key中文名称是否必输类型长度说明
1F60.1报文原因码MString40000
2F60.2服务点附加信息
3F60.2.1账户所有人类型MString1用于区分账户类型。
4F60.2.2终端读取能力MString1表明终端是否能够读取IC卡。
5F60.2.3IC卡条件代码MString1表示当在IC卡终端上使用IC卡的磁条信息时,IC卡终端的IC卡读写能力是否可用。根据该域与22域、60的值可以判断卡片或终端有无损坏,同时也可判断是否是伪卡交易。
6F60.2.4保留使用MString1由于芯片或终端不能正常工作,终端引导持卡人通过刷磁条进行的交易。这种情况需由60.2.2域和60.2.3域与22域联合判断。
7F60.2.5终端类型MString2保留使用
8F60.2.6受理免验密码标志MString1
9F60.2.7IC卡验证可靠性标志MString1在IC卡交易中表明该卡验证的可靠性,受理方在商户或终端碰到问题时会设置该值;或者由CUPS在受理方或发卡方都不能执行该卡的验证时设置该值。在Token支付交易中,如Token由银联提供,则在银联向发卡方发送的请求报文中,使用该域标识由银联提供的Token服务。
10F60.2.8电子商务标志MString2对于电子商务交易,它表明在开放式网络中(例如,Internet)使用电子商务交易时的安全程度;在无卡自助消费业务中,该标志标识发卡方自主识别和辅助识别的模式。这个标志值由受理方提供,并由CUPS在请求和通知报文中转发给接收它的发卡方进行验证。如果发卡方不能验证或发卡方选择不接收它,那么该子域将在转发报文时被取消
11F60.2.9交互方式标志MString1用于区分相同终端类型的不同交互方式。
12F60.3交易发生附加信息
13F60.3.1特殊计费类型MString200
14F60.3.2特殊计费档次MString10
15F60.3.3保留使用MString3前两位取默认值 00,启用第3位用于标识MAC算法类型
16F60.3.4支持部分承兑和返回余额标志MString10-不支持,1-支持
17F60.3.5交易发起方式MString1在交易类型关键信息域相同的情况下,该域可细分交易类型
18F60.3.6交易介质MString1
19F60.3.7IC卡的应用类型MString1
20F60.3.8账户结算类型MString2
21F60.3.9卡账户等级MString1根据报备卡样或申请卡bin时的发卡项目等级确定该取值。
22F60.3.10卡产品MString2根据报备卡样或申请卡bin时的发卡项目类型确定该取值。

termInfo说明:

序号key中文名称是否必输类型长度说明
1location终端实时经纬度信息OString32受理终端设备实时经纬度信息,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。
2ntwLcs终端入网认证编号OString5银行卡受理终端产品入网认证编号。该编号由“中国银联标识产品企业资质认证办公室”为通过入网认证的终端进行分配。 格式:5位字符,例如P3100
3devTp商户端设备类型MString212:行业终端(公交、地址用于指定行业的终端);
4serlNm终端序列号MString32终端设备的硬件序列号。
5devId终端设备号MString8终端设备号,收单机构为商户终端分配的唯一编号。
6enRdNm加密随机因子OString10仅在被扫支付类交易报文中出现:若付款码为19位数字,则取后6位; 若付款码为EMV二维码,则取其tag57的卡号/token号的后6位。
7scrtTxt密文数据OString16仅在被扫支付类交易报文中出现:64bit的密文数据,对终端硬件序列号和加密随机因子加密后的结果。本子域取值为:64bit密文数据进行base64编码后的结果。
8appVer应用程序版本号OString8终端应用程序的版本号。应用程序变更应保证版本号不重复。当长度不足时,右补空格。
9devIp商户端设备IPCString40商户端终端设备IP地址。注:如经、纬度信息未上送,该字段必送。
10mblCtryCd移动国家代码OString3基站信息,由国际电联(ITU)统一分配的移动国家代码(MCC)
11mblNtNm移动网络号码OString2中国为460
12iccIdICCIDOString20基站信息,由国际电联(ITU)统一分配的移动网络号码(MNC)
13lctionCd1位置区域码1OString4移动:00、02、04、07; 联通:01、06、09; 电信:03、05、11
14lbsNum1基站编号1OString12SIM卡卡号
15lbsSgnl1基站信号1OString4LAC(移动、联通),16进制
16lctionCd2位置区域码2OString4CID(移动、联通),16进制
17lbsNum2基站编号2OString12SIG(移动、联通),16进制
18lbsSgnl2基站信号2OString4LAC(移动、联通),16进制
19lctionCd3位置区域码3OString4CID(移动、联通),16进制
20lbsNum3基站编号3OString12SIG(移动、联通),16进制
21lbsSgnl3基站信号3OString4LAC(移动、联通),16进制
22telSysId电信系统识别码OString4CID(移动、联通),16进制
23telNetId电信网络识别码OString4SIG(移动、联通),16进制
24telLbs电信基站OString4SID(电信),电信系统识别码,每个地级市只有一个SID
25telLbsSgnl电信基站信号OString4NID(电信),电信网络识别码,由电信各地级分公司分配。每个地级市可能有1到3个NID

业务输出项

序号key中文名称是否必输类型长度说明
1bizSts交易状态MString4指交易结果。01-交易处理中,02-交易成功,03-交易失败
2bizStsDesp交易状态描述MString255如:交易成功
3rjctRsnCd错误码OString32
4rjctRsn错误描述OString255
5iccDtIC卡数据域CString510下发脚本的情况返回(十六进制扩位)

以下字段在bizSts为01-交易处理中时有返回:

序号key中文名称是否必输类型长度说明
1txId商户订单号MString32请求的txId原样返回
2msgId交易流水号MString32收单交易系统生成的流水号

以下字段在bizSts为02-交易成功时有返回:

序号key中文名称是否必输类型长度说明
1txId商户订单号OString32请求的txId原样返回
2msgId交易流水号MString32收单交易系统生成的流水号
3mrchOrderNo商户原始订单号OString64
4tradeNo支付流水号OString32支付系统生成的唯一流水号
5mrchNm特约商户简称MString128
6tradeDate交易日期MString8格式为yyyyMMdd,对账用。
7timeEnd交易完成时间MString14格式为yyyyMMddHHmmss
8tunnel交易通道MString10ZJRCU-丰收互联,UNIONPAY-银联
9txAmt交易金额MString15单位元,精确到小数点后两位。
10ccy标价币种OString3默认CNY-人民币。指txAmt的币种。
11ftPayAmt用户支付金额OString15买家付款的金额。单位为元,精确到小数点后两位
12settleAmt应结金额MString15
13promTtlAmt优惠金额OString15优惠金额<=交易金额,交易金额-优惠金额=用户实付金额。单位为元,精确到小数点后两位

以下字段在bizSts为02-交易成功且交易通道为行内通道时有返回:

序号key中文名称是否必输类型长度说明
1payInfo支付详情OList详细字段见payInfo说明
2zjrcuPromInfo优惠详情OList详见zjrcuPromInfo说明。

payInfo说明:

序号key中文名称是否必输类型长度说明
1acctTp账户类型MString200102-借记卡;0201-信用卡;0301-电子账户;0401-平台账户;0501-随心花;
2amt支付金额MString15单位元,精确到小数点后两位. 当账户类型为借记卡/信用卡/电子账户/平台账户/随心花时,表示对应的账户支付金额;
3acctNo转出卡号MString32
4acctNm转出账户名MString80
5openBranNo开户机构号CString6

zjrcuPromInfo说明:

序号key中文名称是否必输类型长度说明
1promTp优惠类型MString4PR01-随机减,PR02-票券
2promAmt优惠金额MString15单位为元,精确到小数点后两位。
3promTm活动时间OString32如:20240101-20240130
4promNm活动名称0String32

以下字段在bizSts为02-交易成功且交易通道为银联时有返回:

序号key中文名称是否必输类型长度说明
1rcvrInstCd接收机构标识码MString11
2parIfPAR信息OString37token交易返回。数据示例:PR031+子域tag(01)+子域长度(1D)+29位数据