支付宝预授权冻结-自研

大约 11 分钟

支付宝预授权冻结-自研

支付宝预授权冻结

服务IDzjrcuoip.pay.uas.mch.code.freeze
VERSION1.0.0

服务详细描述

由开放平台接入的商户系统发起的支付宝预授权服务。

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

示例代码

UasPayCodeFreezeDemoOp.java

/**
 * 支付宝预授权冻结-自研
 * 
 * @author
 */
@Service
public class UasPayCodeFreezeDemoOp {

	@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.mch.code.freeze");
		// 设置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中文名称是否必输类型长度说明
1mchSeq商户识别号MString32
2conScene消费场景MString232-支付宝预授权冻结-自研
3txTp交易类型MString220-预授权冻结
4txId商户订单号MString3232个字符以内、只能包含字母、数字、下划线,需保证在商户端不重复。
5mrchOrderNo商户原始订单号OString64
6bizCgy业务类型MString4A001-消费
7purpPrtry业务种类MString7A001001-实物商品租赁 A001002-虚拟商户购买 A001003-预付类账户充值 A001004-航旅交通服务 A001005-活动票务订购 A001006-商业服务消费 A001007-生活服务消费 A001008-其他商家消费 A001009-金融服务
8productCode销售产品码MString32线下预授权场景下必送PRE_AUTH; 线上预授权场景下必送PRE_AUTH_ONLINE
9txDtTm交易时间MDatetime14交易发起时间,格式yyyyMMddHHmmss
10validTime订单有效期OString5订单失效时间,逾期将关闭交易。数值为整数,单位为分
11amt交易金额MString15单位为元,精确到小数点后两位。
12ccy交易币种OString3默认CNY-人民币,指txAmt的币种。
13subject订单标题MString256商品标题/交易标题/订单标题/订单关键字等。
14body订单描述OString128对交易或商品的描述
15limitPay禁用支付方式OString128禁用多个支付方式以逗号分隔,取值范围见<数据字典>。 如传入creditCard,pcredit表示禁用支付宝-信用卡和支付宝-花呗。
16enablePay可用支付方式OString128商户可用该参数指定用户可使用的支付渠道,本期支持商户可支持三种支付渠道,余额宝(MONEY_FUND)、花呗(PCREDIT_PAY)以及芝麻信用(CREDITZHIMA)。商户可设置一种支付渠道,也可设置多种支付渠道。 示例:[{"payChannelType":"PCREDIT_PAY"},{"payChannelType": "MONEY_FUND"}]
17authCode授权码CString128商家使用扫码设备获取到的支付授权码。
18authCodeTp授权码类型MString32目前支持"bar_code"和"security_code",分别对应付款码和刷脸场景
19identity实名支付信息OMap实名支付功能,详细字段见identity说明。 微信和银联支付时,支持校验证件信息、姓名。 支付宝支付时,支持校验证件信息、姓名、年龄。 丰收互联支付时,不支持校验任何信息。
20sceneCode场景码OString10预授权刷脸场景取值为HOTEL,其他不需填写
21termId终端编号MString32商户终端设备号
22termInfo终端信息MMap商户侧受理终端信息。详见termInfo说明
23termSdkPrms机具管控sdk加签参数OString500机具管控sdk加签参数,参数示例 "terminal_params":"{"terminalType":"IOT","signature":"QIIAX8DqbFbNf2oe97FI1RSLAycC/tU4GVjer3bN8K4qLtAB","apdidToken":"xPA3ptuArwYc3F6Va_pjVwv7Qx7Tg5TJdrA_Jb_moYte9AqGZgEAAA==","hardToken":"","time":"1539847253","bizCode":"11000200040004000121","bizTid":"010100F01i1XyacMgpOinHerfdBw1xA9dNDocctlnqhLD8lfODr1A7Q","signedKeys":"authCode,totalAmount,apdidToken,hardToken,time,bizCode,bizTid"}"
24extraParam资金授权业务扩展参数CMap如需要支持信用授权,必传。
25notifyUrl通知地址OString128商户接收异步通知的地址
26remark备注OString256
27attach附加数据OString78附加数据,在通知和查询接口中原样返回,该字段主要用于携带自定义数据。如包含特殊字符需做Base64编码

identity说明:

序号key中文名称是否必输类型长度说明
1name姓名OString32
2mobile手机号OString20
3certType证件类型OString3101-居民身份证,102-户口本,103-护照,104-军官证,105-士兵证
4certNo证件号OString64
5minAge最小年龄OString3允许的最小买家年龄

termInfo说明:

序号key中文名称是否必输类型长度说明
1location终端实时经纬度信息OString32受理终端设备实时经纬度信息,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。
2ntwLcs终端入网认证编号OString5银行卡受理终端产品入网认证编号。该编号由“中国银联标识产品企业资质认证办公室”为通过入网认证的终端进行分配。 格式:5位字符,例如P3100
3devTp商户端设备类型MString2终端设备类型,受理方可参考终端注册时的设备类型填写,取值如下: 01:自动柜员机(含ATM和CDM)和多媒体自助终端 02:传统POS 03:mPOS 04:智能POS 05:II型固定电话 06:云闪付终端; 07:保留使用; 08:手机POS; 09:刷脸付终端; 10:条码支付受理终端; 11:条码支付辅助受理终端; 12:行业终端(公交、地址用于指定行业的终端); 13:MIS终端
4serlNm终端序列号CString50终端设备的硬件序列号,商户端设备类型(devTp)填写为 02、03、04、05、06、08、09 或 10时,必须填写终端序列号。
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

extraParam说明:

序号key中文名称是否必输类型长度说明
1category信用类目CString30信用类目,信用预授权场景必传,具体类目信息见https://opendocs.alipay.com/open/10719open in new window
2outStoreCode服务点编号OString30服务点编号。将在用户端信用守护、支付信息、账单详情页展示,填入有助于用户明白相关服务使用。
3outStoreAlias服务点名称OString30服务点名称。将在用户端信用守护、支付信息、账单详情页展示,填入有助于用户明白相关服务使用。
4serviceId信用服务IdOString信用服务id,信用预授权场景必传,需要联系芝麻客服获取,https://cshall.alipay.com/enterprise/index.htm?sourceId=pc_zhima(右上角“有问题点我”进入咨询)open in new window
5creditExtInfo信用拓展参数C信用扩展参数。酒店行业 根据实际情况至少填写其中一个,用于信用受理台上展示,以便用户更清晰地区分出费用明细。其他行业不传这两个字段。

业务输出项

序号key中文名称是否必输类型长度说明
1bizSts交易状态MString4指预授权冻结交易结果。01-交易处理中,02-交易成功,03-交易失败。
2bizStsDesp交易状态描述MString255如:交易成功
3rjctRsnCd错误码OString32
4rjctRsn错误描述OString255

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

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

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

序号key中文名称是否必输类型长度说明
1msgId交易流水号MString32收单交易系统生成的流水号
2txId商户订单号MString32请求的txId原样返回
3mrchOrderNo商户原始订单号OString64
4tradeNo支付流水号MString32支付系统生成的唯一流水号
5authNo预授权号MString64
6tnltxId通道交易号Mstring64支付宝的资金操作流水号
7userId用户子标识MString128支付宝支付时为买家在支付宝的用户ID
8buyerLogonId付款方支付宝账号MString100付款方支付宝账号(Email或手机号)
9timeEnd交易完成时间OString14
10txAmt交易金额MString15单位元,精确到小数点后两位。
11ccy标价币种OString3默认CNY-人民币。指txAmt的币种。
12preAuthType预授权类型OString20目前支持CREDIT_AUTH(信用预授权);商户可根据该标识来判断该笔预授权的类型,当返回值为"CREDIT_AUTH"表明该笔预授权为信用预授权,没有真实冻结资金; 当返回值为空或者不为"CREDIT_AUTH"则表明该笔预授权为普通资金预授权,会冻结用户资金。
13creditAmt信用冻结金额OString15本次冻结操作中信用冻结金额
14fundAmt自有资金冻结金额OString15本次冻结操作中自有资金冻结金额