支付宝预授权完成-服务商

大约 19 分钟

支付宝预授权完成-服务商

支付宝预授权完成

服务IDzjrcuoip.pay.uas.code.complete
VERSION1.0.0

服务详细描述

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

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

示例代码

UasPayCodeCompleteDemoOp.java

/**
 * 支付宝预授权完成-服务商
 * 
 * @author
 */
@Service
public class UasPayCodeCompleteDemoOp {

	@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.code.complete");
		// 设置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
2txId商户订单号MString3232个字符以内、只能包含字母、数字、下划线,需保证在商户端不重复。
3orglTxId原商户订单号M(三选一)String32orglTxId为原预授权交易的商户订单号
4orglMsgId原交易流水号M(三选一)String32orglMsgId为原预授权交易由收单系统生成的流水号
5orglTradeNo原支付流水号M(三选一)String32orglTradeNo为原预授权交易由支付系统生成的流水号
6conScene消费场景MString234-支付宝预授权完成-服务商
7txTp交易类型MString221-预授权完成
8txDtTm交易时间MDatetime14交易发起时间,格式yyyyMMddHHmmss
9validTime订单失效时间OString4订单失效时间,数值为整数,单位分,不得超过45分钟。
10amt交易金额MString15单位为元,精确到小数点后两位。
11ccy交易币种OString3默认CNY-人民币,指amt的币种
12disctAmt可打折金额OString15参与优惠计算的金额,单位为元,精确到小数点后两位。如果该值未传入,但传入了<交易金额>和<不可打折金额>,则该值默认为<交易金额>-<不可打折金额>
13undisctAmt不可打折金额OString15不参与优惠计算的金额,单位为元,精确到小数点后两位。如果该值未传入,但传入了<交易金额>和<可打折金额>,则该值默认为<交易金额>-<可打折金额>
14buyerId买家的支付宝用户idMString28预授权阶段返回的buyerId
15authNo预授权号OString64预授权转交易请求中传入,适用于预授权转交易业务使用,目前只支持 FUND_TRADE_FAST_PAY(资金订单即时到帐交易)、境外预授权产品(OVERSEAS_AUTH_PAY)两个产品
16prdDetail商品信息OMap订单包含的商品信息,详细字段见prdDetail说明。
17sceneCode场景码OString10预授权刷脸场景取值为HOTEL,其他不需填写
18storeId商户门店编号OString32
19aliStoreId支付宝店铺编号OString32支付宝的店铺编号
20operatorId商户操作员编号OString28
21areaCd区域信息MString6商户所在地地区信息,6位定长,精确到区县编码维度,与国家统计局一致。注:取值范围可参考《省市区结构说明》
22termId终端编号MString32商户终端设备号
23termInfo终端信息MMap商户侧受理终端信息。详见termInfo说明
24termPrms商户传入终端设备OString2048商户传入终端设备
25authConfMd预授权确认模式MString32COMPLETE-转交易支付完成结束预授权,解冻剩余金额
26advPayTp支付模式类型OString20ENJOY_PAY_V2-允许走先享后付2.0垫资
27agmtParams代扣协议信息OMap代扣业务需要传入协议相关信息,详细字段见agmtParams说明。
28promParams优惠明细参数OMap通过此属性补充营销参数,详细字段见promParams说明。
29bizParams业务信息OMap商户传入业务信息,具体值要和支付宝约定,应用于安全、营销等参数直传场景
30extendParams业务扩展参数OMap详细字段见extendParams说明。
31notifyUrl通知地址OString128商户接收异步通知的地址
32remark备注OString256
33attach附加数据OString78附加数据,在通知和查询接口中原样返回,该字段主要用于携带自定义数据。如包含特殊字符需做Base64编码

identity说明:

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

prdDetail说明:

序号key中文名称是否必输类型长度说明
1costPrice订单原价OString91.商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。 单位为元,精确到小数点后两位
2receiptId商品小票IDOString32商家小票ID
3goodsDetail单品列表MList单品信息,详细字段见goodsDetail说明。

goodsDetail说明:

序号key中文名称是否必输类型长度说明
1goodsId商品编号MString32商品编号
2tnlGoodsId商品编码OString32通道侧商品编码
3goodsName商品名称MString256商品的实际名称
4quantity商品数量MString10用户购买的数量
5price商品单价MString15单位为元,精确到小数点后两位
6goodsCgy商品类目OString24
7cgyTree商品类目树OString128从商品类目根节点到叶子节点的类目id组成,类目id值使用|分割
8body商品描述信息OString1000商品描述信息
9showUrl商品展示地址OString400商品展示地址

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

agmtParams说明:

序号key中文名称是否必输类型长度说明
1agreementNo协议号MString64用以唯一标识用户签约记录的编号(用户签约成功后的协议号)。
2authConfirmNo鉴权确认码OString10鉴权确认码,在需要做支付鉴权校验时,该参数不能为空。
3applyToken鉴权tokenOString64鉴权申请token,在需要做支付鉴权校验时,该参数不能为空。

promParams详细信息说明:

序号key中文名称是否必输类型长度说明
1actualOrderTime实际交易时间OString32存在延迟扣款这一类的场景,用这个时间表明用户发生交易的时间,比如说在公交地铁场景,用户刷码出站的时间,和商户上送交易的时间是不一样的。

extendParams说明:

序号key中文名称是否必输类型长度说明
1sysServiceProviderId系统商编号OString64该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID
2hbFqNum分期数OString32使用分期产品要进行的分期数
3hbFqSellerPercent手续费比例百分值OString3使用分期产品需要卖家承担的手续费比例的百分值,传入100代表100%
4industryRefluxInfo行业数据回流信息OString512{"scene_code":"me tro_tradeorder","ch annel":"xxxx","sce ne_data":{"asset_na me":"ALIPAY"}}
5cardType卡类型OString32

业务输出项

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

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

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

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

序号key中文名称是否必输类型长度说明
1msgId交易流水号MString32收单交易系统生成的流水号
2txId商户订单号OString32请求的txId原样返回
3mrchOrderNo商户原始订单号OString64
4tradeNo支付流水号MString32支付系统生成的唯一流水号
5tnltxId通道流水号OString64非丰收互联支付,且交易成功时返回
6mrchNm特约商户简称MString128
7subOpenId用户子标识OString128支付宝支付时为买家在支付宝的用户ID
8tradeDate交易日期MDate8格式为yyyyMMdd,对账用。
9timeEnd交易完成时间MDatetime14支付成功时有值,格式为yyyyMMddHHmmss。
10tunnel交易通道MString10WEIXIN-微信,ALIPAY-支付宝
11txAmt交易金额MString15单位元,精确到小数点后两位。
12ccy标价币种OString3默认CNY-人民币。指txAmt的币种。
13ftPayAmt用户支付金额OString15买家付款的金额。单位为元,精确到小数点后两位
14ftPayccy用户支付币种OString3默认CNY-人民币。指ftPayAmt的币种。
15payCcyAmt支付币种订单金额OString15单位为元,精确到小数点后两位
16settleCcyAmt结算币种订单金额OString15单位为元,精确到小数点后两位
17settleCcy结算币种OString3商户指定的结算币种,目前仅支持人民币:CNY。
18settleTxRate结算币种兑换标价币种汇率OString32
19transPayRate标价币种兑换支付币种汇率OString32
20settleAmt应结金额MString15单位为元,精确到小数点后两位
21promTtlAmt优惠金额OString15优惠金额<=交易金额,交易金额-优惠金额=用户实付金额。单位为元,精确到小数点后两位
22storeName商户门店名称OString512发生支付交易的商户门店名称。
23buyerUserType买家用户类型OString18CORPORATE-企业用户;PRIVATE-个人用户。
24buyerUserName买家名称OString128买家为个人用户时为买家姓名,买家为企业用户时为企业名称。
25buyerLogonId买家账号MString100买家支付宝账号
26pointAmt集分宝付款金额OString15使用集分宝付款的金额,单位为元,精确到小数点后两位
27invoiceAmt发票金额OString15用户开具发票的金额,单位为元,精确到小数点后两位
28mdiscountAmt商家优惠金额OString15单位为元,精确到小数点后两位
29discountAmt平台优惠金额OString15单位为元,精确到小数点后两位
30cardBalance支付宝卡余额OString15单位为元,精确到小数点后两位
31advAmt先享后付2.0垫资金额OString15不返回表示没有走垫资,非空表示垫资支付的金额,单位为元,精确到小数点后两位
32asyncPayMd异步支付模式OString20异步支付模式,先享后付业务会返回该参数,目前有三种值: ASYNC_DELAY_PAY-异步延时付款; ASYNC_REALTIME_PAY-异步准实时付款; SYNC_DIRECT_PAY-同步直接扣款;
33authPayMd预授权支付模式OString64预授权支付模式,该参数仅在信用预授权支付场景下返回。信用预授权支付:CREDIT_PREAUTH_PAY
34fundBillList支付资金渠道MList详见fundBillList说明。
35goodsDetail单品优惠信息OString1024本次交易支付所使用的单品券优惠的商品优惠信息: [{"goods_id":"STANDARD1026181538","goods_name":"雪碧 ","discount_amount": "100.00","voucher_id":"2015102600073002039000002D5O"}]
36aliProminfo优惠详情OList详见alipromInfo说明。
37riskInfo风险控制信息OString

fundBillList说明:

序号key中文名称是否必输类型长度说明
1fundChannel交易使用的资金渠道MString32交易使用的资金渠道。 COUPON-支付宝红包 ALIPAYACCOUNT-支付宝账户 POINT-集分宝 DISCOUNT-折扣券 PCARD-预付卡 MCARD-商家储值卡 MDISCOUNT-商户优惠券 MCOUPON-商户红包 BANKCARD-银行卡
2bankCode银行卡支付时的银行代码OString10如CEB
3amount使用金额MPrice32该支付方式所支付的金额,单位为元,精确到小数点后两位
4realAmount渠道实际付款金额OPrice11单位为元,精确到小数点后两位
5fundType渠道所使用的资金类型OString32渠道所使用的资金类型,目前只在资金渠道(fund_channel)是银行卡渠道(BANKCARD)的情况下才返回该信息。 DEBIT_CARD-借记卡 CREDIT_CARD-信用卡 MIXED_CARD-借贷合一卡

aliPromInfo说明:

序号key中文名称是否必输类型长度说明
1id券IDMString32券id
2name优惠名称MString64券名称
3type优惠类型MString32当前有三种类型: ALIPAY_FIX_VOUCHER--全场代金券 ALIPAY_DISCOUNT_VOUCHER--折扣券 ALIPAY_ITEM_VOUCHER--单品优惠 注:不排除将来新增其他类型的可能,商家接入时注意兼容性避免硬编码。
4amount优惠券面额MPrice8用户享受优惠的金额。单位为元,精确到小数点后两位
5merchantContribute商家出资OPrice8商家出资(特指发起交易的商家出资金额)。单位为元,精确到小数点后两位
6otherContribute其他出资方出资金额OPrice8其他出资方出资金额,可能是支付宝,可能是品牌商,或者其他方,也可能是他们的一起出资。单位为元,精确到小数点后两位
7memo优惠券备注信息OString256
8templateId券模板idOString64
9purchaseBuyerContribute用户实际付款金额OPrice8如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时用户实际付款的金额。单位为元,精确到小数点后两位
10purchaseMerchantContribute商家优惠金额OPrice8如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时商户优惠的金额。单位为元,精确到小数点后两位
11purchaseAntContribute平台优惠金额OPrice8如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时平台优惠的金额。单位为元,精确到小数点后两位
12otherContributeDetail优惠券的其他出资方明细OList详见other_contribute_detail说明。

other_contributeDetail说明:

序号key中文名称是否必输类型长度说明
1contributeType出资方类型MString32出资方类型,如品牌商出资、支付宝平台出资等.
2contributeAmount出资方金额MPrice8单位为元,精确到小数点后两位

riskInfo说明:

序号key中文名称是否必输类型长度说明
1deviceIp绑卡设备ipOString64绑卡设备(付款app)所在的公网IP,可用于定位所属区域,不是wifi连接时的局域网IP。
2deviceLocation设备GPS位置OString32设备(付款app)GPS位置,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。