您的当前位置:首页正文

中国联通电子渠道统一支付平台接入规范 支付机构 接入分册v1.5

来源:化拓教育网
中国联通电子渠道统一支付平台接入规范支付机构接入分册

中国联通电子渠道统一支付平台接入规范

支付机构接入分册

中国联通电子渠道中心

2009年12月

中国联通电子渠道统一支付平台接入规范支付机构接入分册

变更记录........................................................................................................................................... 3 1.总体概述 ..................................................................................................................................... 4

1.1方案适用范围 ..................................................................................................................... 4 1.2方案起草单位 ..................................................................................................................... 4 1.3方案的相关权利 ................................................................................................................. 4 1.4名词解释 ............................................................................................................................. 4 2.电子渠道统一支付平台接入总体方案 ..................................................................................... 5

2.1背景 ..................................................................................................................................... 5 2.2统一支付平台 ..................................................................................................................... 5 2.3业务支付平台功能描述 ..................................................................................................... 5 2.4支付机构功能描述 ............................................................................................................. 6 3.业务流程描述 ............................................................................................................................. 6

3.1支付流程 ............................................................................................................................. 6 3.2退款流程 ............................................................................................................................. 8 3.3对账流程 ............................................................................................................................. 9 4.与支付机构之间的接口定义 ................................................................................................... 10

4.1接入方式 ........................................................................................................................... 10

4.1.1页面重定向方式 .................................................................................................... 10 4.1.2点对点接口方式 .................................................................................................... 10 4.2接口定义 ........................................................................................................................... 10

4.2.1支付机构侧接口 .................................................................................................... 10 4.2.2支付平台侧接口 .................................................................................................... 24

5.附录........................................................................................................................................... 26

5.1加解密概述 ....................................................................................................................... 26 5.2业务平台编码 ................................................................................................................... 26 5.3支付机构编码 ................................................................................................................... 27 5.4支付渠道编码 ................................................................................................................... 27 5.5统一支付平台流水规则 ................................................................................................... 29 5.6统一支付平台返回编码 ................................................................................................... 29

中国联通电子渠道统一支付平台接入规范支付机构接入分册

变更记录

序号 1. 讨论稿 2. 分离出支付机构接口分册 3. 修改所有接口输入、输出字段 4. 5 增加退款对账接口 修改加密顺序和实时订单查询接口字段 修正了所有以Id结尾的参数的规范,统一定为ID 将查询接口中MerchantID,与其他接口一致,修正为MerchantsID 去除了实时订单查询接口中签名中的Sign_hamc字段 扩展了商品名称、商品描述的长度 变更内容说明 版本号 1.0 1.0 1.1 1.2 1.3 版本日期 执笔人 2009-11-10 戴俊、张寅、梁晔 2009-11-13 梁晔 2009-11-26 梁晔 2009-12-6 2009-12-8 钱宝超 戴俊 6 1.4 2009-12-8 张寅 7 重新解释了PartnerID的定义 扩展了支付渠道编码中,对于企业帐户B2B的支持 扩充了统一支付平台返回编码 修正了退款接口异常返回情况 1.5 修正了退款对账文件名 修正了对账文件获取方式 修正了对账文件的描述 修正了支付机构编码 新增了几家支付渠道、修正了支付渠道编码

2010-1-18 张寅 中国联通电子渠道统一支付平台接入规范支付机构接入分册

1.总体概述

1.1方案适用范围

为了实现对电子渠道现有具有支付功能的业务系统进行支付业务支撑,实现支付合作伙伴的统一接入,特制定本规范,本规范适用于接入电子渠道的各支付机构。

1.2方案起草单位

本方案的起草单位为中国联通总部电子渠道中心以及联创科技(南京)有限公司。

1.3方案的相关权利

本方案的解释权属于中国联通总部电子渠道中心。 本方案增补、修订权属中国联通总部电子渠道中心。

1.4名词解释

名词与术语 解释与说明 业务平台 通过统一支付平台使用支付功能的各业务系统。 中国联通电子渠道统一支付平台接入规范支付机构接入分册

名词与术语 解释与说明 支付机构 具备接入支付渠道功能的支付提供商。 业务平台、支付平台、支付机构三方核对帐目的过程,分对帐 为支付平台与支付机构对账、支付平台与业务平台对账两部分。 统一支付平台(UDP) 接入支付机构,为业务平台提供支付服务的平台 支付类型 支付订单 支付渠道

支付渠道的类别 统一平台中所有支付交易的唯一标识 支付机构下属的各支付银行或支付账户 2.电子渠道统一支付平台接入总体方案

2.1背景

随着电子渠道系统建设的不断发展,系统积累越多,出于规划和长期发展的

目的,需要对各系统的一些共性的东西提取出来单独处理,目前2G商城,3G商城,一卡充,固网交费,手机交费,都存在支付模块,为了拓展业务范围以及统一管理,建设统一支付平台。

2.2统一支付平台

统一支付平台主要是针对各业务系统中支付模块,提取出来,方便各业务系统的快速接入,以及各支付机构的快速接入,为各业务平台提供统一支付、统一退款、统一对账功能,为各支付机构提供统一管理、统一配置功能。

2.3业务支付平台功能描述

本规范业务平台指的是具有支付功能的电子渠道业务系统,诸如:2G商城,3G商城,一卡充,固网交费,手机交费等。

中国联通电子渠道统一支付平台接入规范支付机构接入分册

2.4支付机构功能描述

支付机构是指在业务平台需要支付功能的前提下,与统一支付平台与各支付节点之间建立的桥梁。它具有接入各支付银行与自己下属的各支付账户的能力。

3.业务流程描述

3.1支付流程

用户业务平台统一支付平台支付机构1:选择商品2:生成业务平台订单3:发送支付请求4:业务鉴权5:展示支付渠道选择页面6:用户选择确认支付渠道7:生成支付平台订单8:发送支付请求9:处理支付请求10:支付机构回调11:发起支付回调验证12:处理支付回调验证13:支付回调验证成功15:支付平台回调14:处理订单17:展示交易结果页面16:处理订单支付流程详细描述:

1、 用户在业务平台选择需要购买的商品,发起购买请求; 2、 业务平台生成业务平台订单;

3、 业务平台通过支付接口向支付平台发起支付请求; 4、 支付平台通过对业务平台支付请求进行业务鉴权;

中国联通电子渠道统一支付平台接入规范支付机构接入分册

1) 根据业务平台编码获取解密密钥对请求参数进行解密; 2) 校验请求参数:

a) 判断业务平台功能是否具备支付请求的权限; b) 校验请求时间戳是否失效;

3) 支付网关根据业务平台功能编码适配对应支付渠道 5、 展现对应支付渠道;

6、 用户选择支付渠道进行支付; 7、 支付平台生成支付平台订单;

8、 支付网关生成请求参数并向对应支付机构发起支付请求; 9、 支付机构处理支付平台支付请求; 10、 支付机构回调支付平台;

11、 支付网关接收到支付机构回调后,向支付机构发起订单验证请求

备注:支付网关判断支付机构是否支持防钓鱼功能,如果支付机构不支持该功能直接跳到第14步;

12、 支付机构处理支付平台回调验证请求;

13、 支付平台收到支付机构订单验证请求成功信息; 14、 支付平台处理支付平台订单;

15、 支付平台向业务平台发起订单回调请求; 16、 业务平台处理业务平台订单; 17、 展示交易结果页面。

中国联通电子渠道统一支付平台接入规范支付机构接入分册

3.2退款流程

用户业务平台统一支付平台1:用户选择退款2:处理退款请求3:向统一支付平台发起退款请求4:业务鉴权5:处理业务平台退款请求6:向支付机构发起退款请求7:支付机构处理退款请求8:支付机构回调支付平台9:发起退款回调验证10:处理退款回调验证11:退款回调验证成功13:支付平台回调业务平台12:处理订单15:展示退款结果14:处理业务平台订单

退款流程详细描述:

1、 用户在业务平台选择需要退款的订单,发起退款请求; 2、 业务平台处理退款请求;

3、 业务平台通过退款接口向支付平台发起退款请求; 4、 支付平台通过对业务平台退款请求进行业务鉴权;

1) 根据业务平台编码获取解密密钥对请求参数进行解密; 2) 校验请求参数:

a) 判断业务平台功能是否具备退款请求的权限; b) 校验请求时间戳是否失效;

5、 支付平台处理业务平台退款请求;

6、 支付网关生成请求参数并向对应支付机构发起退款请求; 7、 支付机构处理支付平台退款请求; 8、 支付机构回调支付平台;

9、 支付网关接收到支付机构回调后,向支付机构发起订单验证请求

备注:支付网关判断支付机构是否支持防钓鱼功能,如果支付机构不支持该功能直接跳到第12步;

10、 支付机构处理支付平台回调验证请求;

11、 支付平台收到支付机构退款订单验证请求成功信息;

中国联通电子渠道统一支付平台接入规范支付机构接入分册

12、 13、 14、

15、

支付平台处理支付平台订单;

支付平台向业务平台发起订单回调请求; 业务平台处理业务平台订单;

展示退款结果页面。

3.3对账流程

业务平台统一支付平台支付机构2:上传至支付平台FTP服务器1:支付机构生成对账文件3:支付平台内部对账5:从支付平台FTP服务器获取对账文件4:支付平台生成各业务平台对账文件6:业务平台进行对账

对账流程详细描述:

1、 支付机构生成对账文件;

2、 支付机构在每日2:00以前将对账文件上传至支付平台FTP服务器指定目录下; 3、 支付平台进行内部对账;

4、 支付平台对账完成后根据对账结果按照业务平台生成单独业务平台对账文件; 5、 业务平台在每日3:00后从支付平台FTP获取对账文件; 6、 业务平台进行内部对账。

中国联通电子渠道统一支付平台接入规范支付机构接入分册

4.与支付机构之间的接口定义

4.1接入方式 4.1.1页面重定向方式

页面重定向方式是指通过用户的浏览器,从发起方系统页面跳转到落地方系统页面,整个过程是和用户进行交互的,需要用户输入相关验证信息以及拥有一些安全防盗机制。

4.1.2点对点接口方式

点对点接口方式是指通过用户的初始信息由发起方系统通过接口与落地方系统完成交互,整个过程对用户是透明的,用户在其中不进行交互。

4.2接口定义

注:所有接口加密是按key=value,签名是按所列举的value值,

加密的顺序是按key的字母顺序排序,签名放在最后一个,而签名是严格按规范中的value顺序签名。

4.2.1支付机构侧接口

4.2.1.1支付接口

接口采用Http协议。接口方法为:

http://PayProvider/Pay?PartnerID=100001& PayReqObj=xxxxx

PartnerID为合作伙伴ID

PayReqObj为请求的加密串,如下所示:

PayReqObj=Base64(3DES(“PayOrderID=”+PayOrderID+”$”+”GoodsName=”+GoodsName+”$”+”PayAmt=”+PayAmt+”$”+”PayTime=”+PayTime+”$”+”

PageRedirectUrl=”+PageRedirectUrl+”$”+”ServerToServerUrl=”+ServerToServerUrl+”$”+”BuyTel=”+BuyTel+”$”+”MP=”+MP+”$”+”ServiceType=”+ServiceType+”$”+” PayChannelType =”+PayChannelType+”$”+” ExpireTime =”+ExpireTime+”$”+” PayChannelID =”+PayChannelID+”$”+” MerchantsID

中国联通电子渠道统一支付平台接入规范支付机构接入分册

=”+MerchantsID+”$”+”GoodsDesc=”+GoodsDesc+”$”+”Currency=”+Currency+”$”+”Reserved1=”+Reserved1+”$”+”Reserved2=”+Reserved2+”$”+”Sign_hmac=”+Sign_hmac))

PayReqObj=Base64(RSA(“PayOrderID=”+PayOrderID+”$”+”GoodsName=”+GoodsName+”$”+”PayAmt=”+PayAmt+”$”+”PayTime=”+PayTime+”$”+”

PageRedirectUrl=”+PageRedirectUrl+”$”+”ServerToServerUrl=”+ServerToServerUrl+”$”+”BuyTel=”+BuyTel+”$”+”MP=”+MP+”$”+”ServiceType=”+ServiceType+”$”+” PayChannelType =”+PayChannelType+”$”+” ExpireTime =”+ExpireTime+”$”+” PayChannelID =”+PayChannelID+”$”+” MerchantsID =”+MerchantsID+”$”+”GoodsDesc=”+GoodsDesc+”$”+”Currency=”+Currency+”$”+”Reserved1=”+Reserved1+”$”+”Reserved2=”+Reserved2+”$”+”Sign_hmac=”+Sign_hmac))

数字摘要:

Sign_hmac=SHA1(PayOrderID+”$”+GoodsName+”$”+PayAmt+”$”+MP+”$”+BuyTel+”$”+PayChannelType+”$”+PayChannelID+”$”+ServiceType+”$”+MerchantsID+”$”+Currency)

3Des加密的向量、密匙:由中国联通统一分配,由中国联通统一提供API开发包。

支付机构接入规范: 名称 PayOrderID 说明 交易流水(支付平台生成发起交易流水) 合作伙伴ID 数据类型 String 长度(字节) 30 是否必填 是 备注 规则见附录5.5 PartnerID String 50 是 合作伙伴在支付机构的注册标识 以供支付机构区分不同的加解密密钥,帐户收入由商户编码决定 GoodsName GoodsDesc PayAmt PayTime PageRedirectUrl ServerToServerUrl BuyTel 商品名称 商品描述 支付金额(单位分) 支付时间 页面重定向回调地址 服务器点对点回调地址 消费账号 String String String String String String String 256 500 20 20 1024 1024 30 是 否 是 是 是 是 是 YYYYMMDDHH24 MISS 该地址用于页面重定向 该地址用于服务器点对点回调 用户消费账户 比如:购买充值的手机号码 用于联通填写自有MP 字符型扩展字段 String 1024 是 中国联通电子渠道统一支付平台接入规范支付机构接入分册

字段,支付机构直接返回 Reserved1 Reserved2 PayChannelType ExpireTime 预留字段1 预留字段2 支付渠道类型 订单二次支付超时时间 String String String String 1024 1024 2 10 否 否 是 否 预留字段1 预留字段2 0-网银支付 1-自有账户 定义该交易的超时时间,h表示小时,d表示天 参数有: (1h,2h,3h,1d,3d,7d,15d) 默认15d关闭交易 格式参考附录5.4 默认是人民币:RMB 支付默认为:DirectPay PayChannelID MerchantsID Currency ServiceType Sign_hmac 支付渠道编码 商户号 币种 业务类型 数字摘要 String String String String String 30 50 10 10 50 是 是 是 是 是 4.2.1.2订单验证接口

接口采用Http协议。接口方法为:

http://PayProvider/OrderVaild?PartnerID=100001& OrderValidReqObj=xxxxx PartnerID为合作伙伴ID

OrderValidReqObj为请求的加密串,如下所示:

OrderValidReqObj=Base64(3DES(”PartnerID=”+PartnerID+”$”+”NotifyID =”+NotifyID+”$”+”InterfaceName=”+InterfaceName+”$”+”TimeStamp =”+TimeStamp+”$”+”Sign_hmac=”+Sign_hmac))

OrderValidReqObj=Base64(RSA(”PartnerID=”+PartnerID+”$”+”NotifyID =”+NotifyID+”$”+”InterfaceName=”+InterfaceName+”$”+“TimeStamp =”+TimeStamp+”$”+”Sign_hmac=”+Sign_hmac))

数字摘要:

Sign_hmac=SHA1(PartnerID +”$”+ NotifyID +”$”+ InterfaceName +”$”+ TimeStamp)

3Des加密的向量、密匙:由中国联通统一分配,由中国联通统一提供API开发包。

支付机构接入规范: 名称 PartnerID 说明 合作伙伴ID 数据类型 String 长度(字节) 50 是否必填 是 备注 合作伙伴在支付机中国联通电子渠道统一支付平台接入规范支付机构接入分册

构的注册标识 以供支付机构区分不同的加解密密钥,帐户收入由商户编码决定 NotifyID InterfaceName TimeStamp 备注:

订单验证接口用于支付回调接口在收到支付机构回调请求后,通过服务器方式,与支付结果订单验证接口进行通讯,如果订单验证通过,则,通过流回写”SUCCESS”,如果订单验证失败,则通过流回写”FAIL”

如果支付机构不支持,可不实现该接口。

订单验证ID 接口名称 时间戳 String String String 50 100 14 是 是 是 Yyyymmddhh24miss,为当前时间 4.2.1.3支付分账接口

接口采用Http协议。接口方法为:

http://PayProvider/Pay?PartnerID=100001& PayReqObj=xxxxx

PartnerID为合作伙伴ID

PayReqObj为请求的加密串,如下所示:

PayReqObj=Base64(3DES(”PayOrderID=”+PayOrderID+”$”+”GoodsName=”+GoodsName+”$”+”GoodsDesc=”+GoodsDesc+”$”+”PayAmt=”+PayAmt”$”+” PayTime=”+PayTime+”$”+”PageRedirectUrl=”+PageRedirectUrl+”$”+” ServerToServerUrl=”+ServerToServerUrl+”$”+”SplitDetails=”+SplitDetails+”$”+”BuyTel=”+BuyTel+”$”+”MP=”+MP+”$”+”Reserved1=”+Reserved1+”$”+”Reserved2=”+Reserved2+”$”+”PayChannelType=”+PayChannelType+”$”+”ExpireTime=”+ExpireTime+”$”+”PayChannelID=”+PayChannelID+”$”+”MerchantsID=”+MerchantsID+”$”+” ServiceType=”+ServiceType +”$”+” AutoSplit=”+AutoSplit+”$”+”Currency=”+Currency+”$”+”Sign_hmac=”+Sign_hmac))

PayReqObj=Base64(RSA(”PayOrderID=”+PayOrderID+”$”+”GoodsName=”+GoodsName+”$”+”GoodsDesc=”+GoodsDesc+”$”+”PayAmt=”+PayAmt”$”+”

PayTime=”+PayTime+”$”+”PageRedirectUrl=”+PageRedirectUrl+”$”+” ServerToServerUrl=”+ServerToServerUrl+”$”+”SplitDetails=”+SplitDetails+”$”+”BuyTel=”+BuyTel+”$”+”MP=”+MP+”$”+”Reserved1=”+Reserved1+”$”+”Reserved2=”+Reserved2+”$”+”PayChannelType=”+PayChannelType+”$”+”ExpireTime=”+ExpireTime+”$”+”PayChannelID=”+PayChannelID+”$”+”MerchantsID=”+MerchantsID+”$”+” ServiceType=”+ServiceType +”$”+” AutoSplit=”+AutoSplit+”$”+”Currency=”+Currency+”$”+”Sign_hmac=”+S

中国联通电子渠道统一支付平台接入规范支付机构接入分册

ign_hmac))

数字摘要:

Sign_hmac=SHA1(PayOrderID+”$”+GoodsName+”$”+PayAmt+”$”+MP+”$”+BuyTel+”$”+PayChannelType+”$”+PayChannelID+”$”+SplitDetails+”$”+ServiceType+”$”+MerchantsID+”$”+Currency+”$”+AutoSplit)

支付机构接入规范: 名称 PayOrderID 说明 交易流水(支付平台生成发起交易流水) 合作伙伴ID 数据类型 String 长度(字节) 30 是否必填 是 备注 PartnerID String 50 是 合作伙伴在支付机构的注册标识 以供支付机构区分不同的加解密密钥,帐户收入由商户编码决定 GoodsName GoodsDesc PayAmt PayTime PageRedirectUrl ServerToServerUrl SplitDetails 商品名称 商品描述 支付金额(单位分) 支付时间 页面重定向回调地址 服务器点对点回调地址 分账明细 String String String String String String String 50 100 20 20 1024 1024 500 是 是 是 是 是 是 是 YYYYMMDDHH24 MISS 该地址用于页面重定向 该地址用于服务器点对点回调 分账格式如例: A^分账金额1^备注|B^分账金额2^备注 注:A,B均为商户号 分账金额1单位为分 用户消费账户 此字段用于透传,支付机构原样返回 预留字段1 预留字段2 0-网银支付 1-自有账户 定义该交易的超时时间,h表示小时,BuyTel MP Reserved1 Reserved2 PayChannelType ExpireTime 消费账号 字符型扩展字段 预留字段1 预留字段2 支付渠道类型 订单二次支付超时时间 String String String String String String 30 1024 1024 1024 2 10 是 是 否 否 是 否 中国联通电子渠道统一支付平台接入规范支付机构接入分册

d表示天 参数有: (1h,2h,3h,1d,3d,7d,15d) 默认15d关闭交易 PayChannelID MerchantsID ServiceType AutoSplit Currency Sign_hmac 支付渠道编码 发起支付主商户号 业务类型 是否自动分账 币种 数字摘要 String String String String String String 30 50 10 2 10 50 是 是 是 格式参考附录5.4 支付默认为:DirectPay 0- 自动分账 1-担保分账 是 是 默认是人民币:RMB 是 4.2.1.4退款接口 方式一

接口采用Http协议。接口方法为:

http://PayProvider/Refund?PartnerID=100001&RefundReqObj=xxxxx

PartnerID为合作伙伴ID

RefundReqObj为请求的加密串,如下所示:

RefundReqObj=Base64(3DES(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”RefundFee=”+RefundFee+”$”+”RefundTime=”+RefundTime+”+”$”+”RefundDetails=”+RefundDetails+”$”+”MerchantsID=”+MerchantsID+”$”+”Currency=”+Currency+”$”+”ServiceType=”+ServiceType+”$”+”RefundDesc=”+RefundDesc+”$”+”TimeStamp=”+TimeStamp+”$”+”Sign_hmac=”+Sign_hmac))

RefundReqObj=Base64(RSA(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”RefundFee=”+RefundFee+”$”+”RefundTime=”+RefundTime+”+”$”+”RefundDetails=”+RefundDetails+”$”+”MerchantsID=”+MerchantsID+”$”+”Currency=”+Currency+”$”+”ServiceType=”+ServiceType+”$”+”RefundDesc=”+RefundDesc+”$”+”TimeStamp=”+TimeStamp+”$”+”Sign_hmac=”+Sign_hmac))

数字摘要:

Sign_hmac=SHA1(PayOrderID+”$”+RefundFee+”$”+RefundTime+”$”+RefundDetails+”$”+MerchantsID) 支付机构接入规范:

中国联通电子渠道统一支付平台接入规范支付机构接入分册

数据类型 长度(字节) PayOrderID 支付平台交易流水 String 30 PayProviderOrder PartnerID RefundFee RefundTime RefundDetails 支付机构交易流水 String 合作伙伴ID 退款金额(单位分) 退款发起时间 退款明细 String String String String 30 50 20 20 500 名称 说明 是否必填 是 是 是 是 是 是 备注 同交易时候的流水 同交易时候的流水 YYYYMMDDHH24MISS 分账退款时填写, 例如A^100^备注|B^300^备注,A、B为商户号 表示A退100,B退300(单位为分) 默认是人民币:RMB 退款默认为: Refund MerchantsID Currency ServiceType RefundDesc TimeStamp Sign_hmac 发起退款商户号 币种 业务类型 退款描述 时间戳 数字摘要 String String String String String String 50 10 10 225 20 50 是 是 是 否 是 是 YYYYMMDDHHMISS 返回参数列表:PartnerID$EncryString描述如下:

名称 PartnerID EncryString 说明 合作伙伴ID 退款信息加密串 数据类型 长度(字节) String 50 String 500 是否必填 是 是 备注 EncryString=Base64(3DES(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”Result=”+Result+”$”+”ResultDesc=”+ResultDesc+”$”+”Sign_hmac=”+Sign_hmac))

EncryString=Base64(RSA(“PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”Result=”+Result+”$”+”ResultDesc=”+ResultDesc+”$”+”Sign_hmac=”+Sign_hmac))

中国联通电子渠道统一支付平台接入规范支付机构接入分册

数字摘要:

Sign_hmac=SHA1(PayOrderID+”$”+PayProviderOrder+”$”+Result+”$”+ResultDesc) 数据类型 长度(字节) PayOrderID 支付平台交易流水 String 30 PayProviderOrder Result 支付机构交易流水 String 退款结果标识 String 30 50 名称 说明 是否必填 否 否 是 备注 同交易时候的流水 同交易时候的流水 ResultDesc 退款结果描述 String 50 否 对于解密错误、数字摘要错误,在返回时无法填写其他字段的,其他字段填写为空串 参见5.6统一支付平台返回编码 方式二

接口采用SOAP协议。接口方法为: http://PayProvider/Refund 接口参数如下: 名称 PartnerID RefundReqObj 说明 合作伙伴标识 请求支付串 数据类型 长度(字节) String 50 String 2048 是否必填 是 是 备注

PartnerID为合作伙伴ID

RefundReqObj为请求的加密串,如下所示:

RefundReqObj=Base64(3DES(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”RefundFee=”+RefundFee+”$”+”RefundTime=”+RefundTime+”+”$”+”RefundDetails=”+RefundDetails+”$”+”MerchantsID=”+MerchantsID+”$”+”Currency=”+Currency+”$”+”ServiceType=”+Ser

中国联通电子渠道统一支付平台接入规范支付机构接入分册

viceType+”$”+”RefundDesc=”+RefundDesc+”$”+”TimeStamp=”+TimeStamp+”$”+”Sign_hmac=”+SHA1(PayOrderID+”$”+RefundFee+”$”+RefundTime+”$”+RefundDetails+”$”+MerchantsID)))

RefundReqObj=Base64(RSA(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”RefundFee=”+RefundFee+”$”+”RefundTime=”+RefundTime+”+”$”+”RefundDetails=”+RefundDetails+”$”+”MerchantsID=”+MerchantsID+”$”+”Currency=”+Currency+”$”+”ServiceType=”+ServiceType+”$”+”RefundDesc=”+RefundDesc+”$”+”TimeStamp=”+TimeStamp+”$”+”Sign_hmac=”+SHA1(PayOrderID+”$”+RefundFee+”$”+RefundTime+”$”+RefundDetails+”$”+MerchantsID)))

支付机构接入规范: 数据类型 长度(字节) PayOrderID 支付平台交易流水 String 30 PayProviderOrder PartnerID RefundFee RefundTime RefundDetails 支付机构交易流水 String 合作伙伴ID 退款金额(单位分) 退款发起时间 退款明细 String String String String 30 50 20 20 500 名称 说明 是否必填 是 是 是 是 是 是 备注 同交易时候的流水 同交易时候的流水 YYYYMMDDHH24MISS 例如A^100^备注|B^300^备注,A、B为商户号 表示A退100,B退300(单位为分) 默认是人民币:RMB 退款默认为: Refund MerchantsID Sign_hmac Currency ServiceType RefundDesc TimeStamp 发起退款商户号 数字摘要 币种 业务类型 退款描述 时间戳 String String String String String String 50 100 10 10 225 20 是 是 是 是 否 是 返回结果RefundResultObj 描述如下:

名称 PartnerID 说明 合作伙伴ID 数据类型 长度(字节) String 50 是否必填 是 备注 中国联通电子渠道统一支付平台接入规范支付机构接入分册

EncryString 退款信息加密串 String 500 是 EncryString=Base64(3DES(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”Result=”+Result+”$”+”ResultDesc=”+ResultDesc+”$”+”Sign_hmac=”+SHA1(PayOrderID+”$”+PayProviderOrder+”$”+Result+”$”+ResultDesc)))

EncryString=Base64(RSA(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”Result=”+Result+”$”+”ResultDesc=”+ResultDesc+”$”+”Sign_hmac=”+SHA1(PayOrderID+”$”+PayProviderOrder+”$”+Result+”$”+ResultDesc))) 数据类型 长度(字节) PayOrderID 支付平台交易流水 String 30 PayProviderOrder Result 支付机构交易流水 String 退款结果标识 String 30 50 名称 说明 是否必填 是 是 是 备注 同交易时候的流水 同交易时候的流水 ResultDesc 退款结果描述 String 50 否 对于解密错误、数字摘要错误,在返回时无法填写其他字段的,其他字段填写为空串 参见5.6统一支付平台返回编码 注:对于同一笔流水在支付结构侧退款成功后,如果统一支付平台使用该流水重新发起退款请求,则直接返回退款成功。退款的流水号均为交易时的流水。

4.2.1.5对账接口

支付机构每天凌晨1点前上传至本地FTP服务器,由统一支付平台每天定时获取对账文件,内容为支付成功的记录。对账文件的记录按照支付机构支付完成的时间为准。

文件采用GBK编码方式,文件头和文件体中每条记录的属性值按顺序排列,各属性间使用‘|’分隔,在生成记录时若相应的属性值为空,直接用分隔符隔开,分隔符之间无其他符号。

文件体中一行作为一条记录,各条记录之间用换行符作为分隔并在文件中连续书写。 文件头不定长,文件体不定长。

每天支付机构必须生成对账文件,如果没有交易,则文件头中总记录数为0,总金额数为0。

中国联通电子渠道统一支付平台接入规范支付机构接入分册

文件体中12个字段,除了第8个字段UDP_MP可以填空外,其余字段必填。

文件命名

文件名按如下规则命名:yyyymmdd.tttt

yyyymmdd为订单支付日期。tttt表示文件类型,填写支付机构编码中的支付机构英文名(参见附录5.3)。

文件头 序号 1 2 3

属性名 总记录数 总金额数 换行 最大长度 CHAR(10) CHAR(15) CHAR(1) 备注 文件的总记录数 成功记录的金额总数(单位分) 文件体 序号 字段名 1 2 3 4 5 6 7 8 9 10 11 12

UDP_MerId UDP _Code UDP_TrxId UDP_Amt UDP_Cur UDP _Pid UDP_Order UDP_MP UDP_PayChannelId UDP_PayDate UDP_Trxtime 描述 商户编号 支付结果 支付机构交易流水号 支付金额 (单位为分) 交易币种 商品名称 支付平台订单号 支付平台扩展字段 支付渠道编码 支付成功时间 支付机构交易结果通知时间 字段类型 Max(11) CHAR (1) Max(50) Max(20) Max(10) Max(50) Max(50) CHAR(14)格式YYYYMMDDHHMISS CHAR(14)格式YYYYMMDDHHMISS UDP_PayChannelOrderId 支付渠道订单号 对账文件内容示例:

总记录数,总金额数

UDP_MerId|UDP_Code|UDP_TrxId|UDP_Amt|UDP_Cur|UDP_Pid|UDP_Orde|UDP_MP| UDP_PayChannelId|UDP_PayChannelOrderId|UDP_PayDatel UDP_Trxtime

4.2.1.6退款对账接口

支付机构每天凌晨1点前上传至本地FTP服务器,由统一支付平台每天定时获取对账文件,内容为支付成功的记录。对账文件的记录按照支付机构支付完成的时间为准。

文件采用GBK编码方式,文件头和文件体中每条记录的属性值按顺序排列,各属性间使用‘|’分隔,在生成记录时若相应的属性值为空,直接用分隔符隔开,分隔符之间无其他符号。

中国联通电子渠道统一支付平台接入规范支付机构接入分册

文件体中一行作为一条记录,各条记录之间用换行符作为分隔并在文件中连续书写。 文件头不定长,文件体不定长。

每天支付机构必须生成对账文件,如果没有退款交易,则文件头中总记录数为0,总金额数为0。

文件命名

文件名按如下规则命名:yyyymmdd.Refundtttt

yyyymmdd为订单支付日期。tttt表示文件类型,填写支付机构编码中的支付机构英文名(参见附录5.3)。

文件头 序号 1 2 3

属性名 总记录数 总金额数 换行 最大长度 CHAR(10) CHAR(15) CHAR(1) 备注 文件的总记录数 退款记录的金额总数(单位分) 文件体 序号 字段名 1 2 3 4 5 6 7 8 9 10 11 12

UDP_TrxId UDP_Amt UDP_Cur UDP _Pid UDP_Order UDP_MP UDP_PayChannelId UDP_PayDate UDP_Refundtime 支付机构交易流水号 退款付金额 (单位为分) 交易币种 商品名称 支付平台订单号 支付平台扩展字段 支付渠道编码 支付成功时间 支付机构成功退款时间 UDP_MerId UDP _Code 描述 商户编号 退款结果 字段类型 Max(11) CHAR (1) 0:退款成功 1:退款失败 Max(50) Max(20) Max(10) Max(50) Max(50) CHAR(14) CHAR(14) UDP_PayChannelOrderId 支付渠道订单号 对账文件内容示例:

总记录数,总金额数

UDP_MerId|UDP_Code|UDP_TrxId|UDP_Amt|UDP_Cur|UDP_Pid|UDP_Orde|UDP_MP| UDP_PayChannelId|UDP_PayChannelOrderId|UDP_PayDatel UDP_Refundtime

4.2.1.7实时订单查询接口

统一支付平台在每日对账之前也建立一种机制,实时查询、跟踪订单状态。

中国联通电子渠道统一支付平台接入规范支付机构接入分册

为此,需要各支付机构配合,由统一支付平台负责订单的查询、分发,由各支付机构负责建立实时订单查询接口。

接口采用Http协议。接口方法为:

http:// PayProvider /QueryOrderDetails?PartnerID=100001&QueryReqObj=xxxxx PartnerID为合作伙伴ID

QueryReqObj为请求的加密串,如下所示:

QueryReqObj=Base64(3DES(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”ServiceType=”+ServiceType+”$”+”MerchantsID=”+MerchantsID+”$”+”Sign_hmac=”+Sign_hmac))

QueryReqObj=Base64(RSA(”PayOrderID=”+PayOrderID+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”ServiceType=”+ServiceType+”$”+”MerchantsID=”+MerchantsID+”$”+”Sign_hmac=”+Sign_hmac))

数字摘要:

Sign_hmac=SHA1(PayOrderID+”$”+PayProviderOrder+”$”+ServiceType+”$”+MerchantsID)

接口参数至少包括以下: 名称 PayOrderID PartnerID 说明 支付平台交易流水 合作伙伴ID 数据类型 长度(字节) String String 30 20 是否必填 是 是 备注 合作伙伴在支付机构的注册标识 以供支付机构区分不同的加解密密钥,帐户收入由商户编码决定 查询默认为:OrderQuery PayProviderOrder ServiceType MerchantsID Sign_hmac 支付机构订单号 业务类型 商户号 数字摘要 String String String String 50 10 50 100 是 是 是 是 返回参数如下:

返回参数列表:PartnerID$EncryString描述如下: 名称 PayOrderID ServiceType 说明 支付平台交易流水 业务类型 数据类型 长度(字节) String String 30 10 是否必填 是 是 备注 查询默认为:OrderQuery 中国联通电子渠道统一支付平台接入规范支付机构接入分册

ProcessCode PayProviderOrder PayAmt Currency GoodsName SplitDetails MP RefCount RefAmount PayChannelID RefundDetails PayChannelOrder PayComplteTime MerchantsID PaymentStats SplitStatus 订单查询处理状态 String String String String String String String String String String String String String String String String 2 30 20 10 50 500 1024 3 20 10 500 30 20 50 2 2 是 是 是 否 否 否 否 是 是 是 是 是 是 是 是 是 0:交易不存在 1:交易存在 支付机构订单号 订单支付金额(单位 默认为人民币: RMB 原样返回的商家信息 如果没有就填0 0-完成支付 1-未支付 0-已分账 1-已冻结 2-未支付 分) 交易币种 商品名称 分帐明细 商家扩展信息 退款次数 退款总额 支付渠道编码 退款明细 支付渠道订单号 支付时间 商户号 支付状态 分账状态 Sign_hmac String 50 是 EncryString=Base64(3DESC(“PayOrderID=”+PayOrderID+”$”+”ServiceTyp数字摘要 e=”+ServiceType+”$”+”ProcessCode=”+ProcessCode+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”PayAmt=”+PayAmt+”$”+”Currency=”+Currency+”$”+”GoodsName=”+GoodsName+”$”+”SplitDetails”+”$”+”MP=”+MP+”$”+”RefCount=”+RefCount+”$”+”RefAmount=”+RefAmount+”$”+”PayChannelID=”+PayChannelID+”$”+”RefundDetails=”+RefundDetails+”$”+”PayChannelOrder=”+PayChannelOrder+”$”+”PayComplteTime=”+PayComplteTime+”$”+”MerchantsID=”+ MerchantsID+”$”+”PaymentStats=”+PaymentStats+”$”+”SplitStatus=”+ SplitStatus+”$”+”Sign_hmac=”+Sign_hmac))

或者

EncryString=Base64(3DESC(“PayOrderID=”+PayOrderID+”$”+”ServiceType=”+ServiceType+”$”+”ProcessCode=”+ProcessCode+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”PayAmt=”+PayAmt+”$”+”Currency=”+Currency+”$”+”GoodsName=”+GoodsName+”$”+”SplitDetails”+”$”+”MP=”+MP+”$”+”RefCount=”+RefCount+”$”+”RefAmount=”+RefAmount+”$”+”PayChannelID=”+PayChannelID+”$”+”RefundDetails=”+RefundDetails+”$”+”PayChannelOrder=”+PayChannelOrder+”$”+”PayComplteTime=”+PayComplteTime+”$”+”MerchantsID=”+

中国联通电子渠道统一支付平台接入规范支付机构接入分册

MerchantsID+”$”+”PaymentStats=”+PaymentStats+”$”+”SplitStatus=”+ SplitStatus+”$”+”Sign_hmac=”+Sign_hmac))

数字摘要:

Sign_hmac=SHA1(PayOrderID+”$”+PayProviderOrder+”$”+ServiceType+”$”+MerchantsID)

4.2.2支付平台侧接口

4.2.2.1支付回调接口

接口采用Http协议。接口方法为:

http:// UDP /PayCallBack?PartnerID=100001&PayRepObj=xxxxx

PartnerID为合作伙伴ID

PayRepObj为请求的加密串,如下所示:

PayRepObj=Base64(3DES(”PayOrderID=”+PayOrderID+”$”+”GoodsName=”+ GoodsName+”$”+”PayAmt=”+PayAmt”$”+“PayCompleteTime=”+PayCompleteTime+”$”+”PayResult=”+PayResult+”$”+” BuyTel=”+BuyTel+”$”+” MP=”+MP+”$”+” Reserved1=”+Reserved1+”$”+”Reserved2=”+Reserved2+”$”+”PayChannelType=”+PayChannelType+”$”+”PayChannelID=”+PayChannelID+”$”+”PayChannelOrder=”+PayChannelOrder+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”NotifyID=”+NotifyID+”$”+”MerchantsID=”+MerchantsID+”$” +” Currency=”+Currency+”$”+”ServiceType=”+ServiceType+”$”+”NotifyType=”+NotifyType+”$”+”Sign_hmac=”+Sign_hmac))

PayRepObj=Base64(RSA(“PayOrderID=”+PayOrderID+”$”+”GoodsName=”+ GoodsName+”$”+”PayAmt=”+PayAmt”$”+“PayCompleteTime=”+PayCompleteTime+”$”+”PayResult=”+PayResult+”$”+” BuyTel=”+BuyTel+”$”+” MP=”+MP+”$”+” Reserved1=”+Reserved1+”$”+”Reserved2=”+Reserved2+”$”+”PayChannelType=”+PayChannelType+”$”+”PayChannelID=”+PayChannelID+”$”+”PayChannelOrder=”+PayChannelOrder+”$”+”PayProviderOrder=”+PayProviderOrder+”$”+”NotifyID=”+NotifyID+”$”+”MerchantsID=”+MerchantsID+”$” +” Currency=”+Currency+”$”+”ServiceType=”+ServiceType+”$”+”NotifyType=”+NotifyType+”$”+”Sign_hmac=”+Sign_hmac))

数字摘要:

Sign_hmac=SHA1(PayOrderID+”$”+GoodsName+”$”+PayAmt+”$”+

PayCompleteTime+”$”+MP+”$”+BuyTel+”$”+PayChannelType+”$”+PayChannelID+”$”+ServiceType+”$”+MerchantsID+”$”+Currency) 支付机构接入规范:

中国联通电子渠道统一支付平台接入规范支付机构接入分册

名称 PayOrderID 说明 交易流水(支付平台生成发起交易流水) 合作伙伴ID 商品名称 支付金额(单位分) 支付完成时间 支付结果 字符型扩展字段 预留字段1 预留字段2 支付渠道类型 数据类型 String 长度(字节) 30 是否必填 是 备注 PartnerID GoodsName PayAmt PayCompleteTime PayResult MP Reserved1 Reserved2 PayChannelType String String String String String String String String String String String String String String String 20 256 20 20 2 1024 1024 1024 2 10 30 30 50 50 是 是 是 是 是 是 否 否 是 是 是 是 是 否 与请求中的 PartnerID一致 YYYYMMDDHH24 MISS 0-支付成功 预留字段1 预留字段2 0-网银支付 1-自有账户 格式参考附录5.4 用于验证订单合法性 PayChannelID 支付渠道编码 PayChannelOrder PayProviderOrder MerchantsID NotifyID NotifyType 支付渠道流水号 支付机构流水号 商户号 订单验证ID 回调类型 2 是 1-浏览器重定向 2-服务器点对点回调 默认是人民币RMB 支付默认为: DirectPay Currency ServiceType Sign_hmac 币种 业务类型 数字摘要 String String String 10 10 50 否 是 是 注:

1、支付回调浏览器重定向回调优先级高于服务器点对点回调,支付机构回调支付平台时需要首先发起浏览器重定向回调,间隔2分钟后再发起点对点回调。

支付平台第一次收到支付机构的点对点请求后,如果支付平台已经处理完毕该笔订单,则通过ServletOutputStream servletOutputStream = response.getOutputStream();

servletOutputStream.print(\"SUCCESS\");servletOutputStream.flush();告知支付平台,已经成功处理,支付平台解析返回流,收到SUCCESS,则不需要再次回调。

中国联通电子渠道统一支付平台接入规范支付机构接入分册

4.2.2.2支付分账回调接口

同4.2.2.1 支付回调接口 注:

1、支付回调浏览器重定向回调优先级高于服务器点对点回调,支付机构回调支付平台时需要首先发起浏览器重定向回调,间隔2分钟后再发起点对点回调。

支付平台第一次收到支付机构的点对点请求后,如果支付平台已经处理完毕该笔订单,则通过ServletOutputStream servletOutputStream = response.getOutputStream();

servletOutputStream.print(\"SUCCESS\");servletOutputStream.flush();告知支付平台,已经成功处理,支付平台解析返回流,收到SUCCESS,则不需要再次回调。

5.附录

5.1加解密概述

统一支付平台要求报文在网络上传输时,通过密文形式。

支持3DES、RSA两种加密方式,中国联通统一为支付机构不同的合作伙伴或者商户号分配密匙。

支付机构根据自有平台特点,可以申请使用3DES对称加密,或者RSA不对称加密。

5.2业务平台编码

业务平台编码 10 11 12 业务功能编码 100001 100002 100003 110001 110002 120001 210001 210002 210003 210004 210005 210006 类别 平台名称 一卡充 平台英文名 UPP 业务功能名称 购买充值卡 手机直充 固网直充 手机交费 手机交费站 固网交费 购买2G号码 购买上网卡 购买3G手机 购买186号码 购买上网本 优惠购机 交费充值类 手机交费 MobilePayBill 固网交费 FixPayBill 商城类 联通商城 UnicomSales 21 中国联通电子渠道统一支付平台接入规范支付机构接入分册

中间帐户 中间帐户

epay 31 Iphone合约计划 购买Iphone 中间帐户充值 210007 210008 310001 5.3支付机构编码

名称 易宝 银联 支付宝 环迅 财付通

英文名 YeePay UnionPay AliPay InterPay TenPay 编码 01 02 03 04 05 5.4支付渠道编码

在统一支付平台中,支付渠道是确定用户支付的标识,选择了不同的支付渠道,对于用户而言,就是选择了不同的支付方式。

以下列表为默认使用个人银行帐户编码,如果支付机构支持企业帐户支付,即B2B的支付,则对应渠道编码在下表中的编码后面增加-B2B后缀。

如,使用中国工商银行个人帐户支付,则支付平台填写编码为ICBC,如果支付机构支持中国工商银行企业帐户支付,同时用户也选择使用企业帐户支付的情况下,支付平台填写给支付机构的编码为ICBC-B2B。企业帐户的支付功能开通与否视各支付机构而定,由各支付机构提交本系统支持的企业帐户支付渠道。

支付渠道名称 易宝自有帐户1 易宝自有帐户2 易宝自有帐户3 支付宝自有帐户1 支付宝自有帐户2 支付宝自有帐户3 财付通自有帐户1 财付通自有帐户2 财付通自有帐户3 环迅自有帐户1 环迅自有帐户2 环迅自有帐户3 支付渠道编码 YeePay01 YeePay02 YeePay03 AliPay01 AliPay02 AliPay03 TenPay01 TenPay02 TenPay03 InterPay01 InterPay02 InterPay03 中国联通电子渠道统一支付平台接入规范支付机构接入分册

银联自有帐户1 银联自有帐户2 银联自有帐户3 中国工商银行 中国农业银行 北京银行 交通银行 建设银行 兴业银行 招商银行 中国民生银行 光大银行 中信实业银行 中国邮政储蓄 深圳发展银行 上海浦东发展银行 广东发展银行 上海农村商业银行 顺德农村信用社 广州农村信用社 广州市商业银行 南京银行 华夏银行 渤海银行 重庆银行 浙商银行 东亚银行 平安银行 南海农村信用社 中国银行 宁波银行 厦门商业银行 中国信合 浙江稠州商业银行 杭州银行 上海银行 北京农村商业银行 UnionPay01 UnionPay02 UnionPay03 ICBC ABC BCCB BOCO CCB CIB CMBCHINA CMBC CEB ECITIC POST SDB SPDB GDB SHRCB SDE GNXS GZCB NJCB HXB CBHB CQB CZB HKBEA PAB NHB BOC NBCB XMCCB CNRCU CZCB HZB SHB BJNCB

中国联通电子渠道统一支付平台接入规范支付机构接入分册

5.5统一支付平台流水规则

统一支付平台中,所有接入的系统在保留原有业务平台流水的基础上,为了方便各业务平台系统之间的抽象、以及与统一支付平台系统的融合,需要在统一支付平台内增加属于统一支付平台的流水,生成规则如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 第1位至第3位为统一支付平台缩写,统一填写为UDP;

第4位至第17位为精确到秒的时间戳,格式为YYYYMMDDHHMISS; 第18位至第22位为可循环的自增长序列,从数据库获取;

第23位至第24位为业务平台编码,共两位,参见业务平台编码。

5.6统一支付平台返回编码

返回结果 成功 数字摘要错误 解密错误 未知错误 支付失败 回调失败 验证失败 退款失败 账户余额不足 退款订单不存在 退款订单已过期 分账参数无效 退款金额无效 退款请求超限 查询失败 查询订单不存在 英文名称 SUCCESS HMAC_ERROR DECRYPT_ERROR UNKNOWN PAY_FAIL RETURN_FAIL VERIFY_FAIL REFUND_FAIL BALANCE_LACK ORDERID_NOEXIST ORDERID_EXPIRED INVALID_SPLIT INVALID_AMOUNT OUTOF_LIMIT QUERY_FAIL ORDERID_NOEXIST 返回编码 0000 9001 9002 9999 1000 2000 3000 4000 4001 4002 4003 4004 4005 4006 5000 5001

因篇幅问题不能全部显示,请点此查看更多更全内容