广州银联网络支付有限公司支付网关商户接口标准(银联在线支付).doc
《广州银联网络支付有限公司支付网关商户接口标准(银联在线支付).doc》由会员分享,可在线阅读,更多相关《广州银联网络支付有限公司支付网关商户接口标准(银联在线支付).doc(63页珍藏版)》请在三一文库上搜索。
1、广州广州广州广州银联银联银联银联网网网网络络络络支付有限公司支付有限公司支付有限公司支付有限公司 支付网关商支付网关商支付网关商支付网关商户户户户接口接口接口接口标标标标准(准(准(准(银银银银 联联联联在在在在线线线线支付)支付)支付)支付) 文档属性 文档名称:广州银联网络支付有限公司支付网关商户接口标准(银联在线支付 项目名称: 版本号:3.4文档编号:PG-20040426001 撰写者:技术管理部日期:2012-1-8 复核者:日期: 负责者:日期: 审批者:日期: 版本历史: 版本号修改内容撰写者发布日期 版权声明: 此文档的版权归广州银联网络支付有限公司所有,作为本系统的最终用户
2、,可以拥有该份文档的使用权, 但未征得广州银联网络支付有限公司的书面批准,不得向第三方借阅、出让、出版该文档。 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司2 目录目录 - 1.文档介绍文档介绍.4 1.1.读者对象.4 1.2.参考文献.4 1.3.术语与缩写解释.4 2.商户接口概述商户接口概述.5 2.1.接口结构图.5 2.2.支付接口.6 2.2.1.支付数据流程图6 2.2.2.支付数据流程解释7 2.3.数字信封.8 2.3.1.数字信封格式8 2.3.2.数字信封格式示例8 2.3.3.订单数据9 2.3.4.订单数据示例9
3、2.3.5.支付结果数据9 2.3.6.支付结果数据示例10 2.3.7.后台发送支付结果数据10 2.3.8.对账结果数据10 2.3.9.对账结果数据示例11 2.3.10.对账结果数据的签名及数据格式11 2.3.11.支付结果响应码12 3.商户端部署指南商户端部署指南.15 3.1.系统环境.15 4.COM 版商户接口函数版商户接口函数16 4.1.接口函数.16 4.1.1.EncryptMsg()16 4.1.2.DecryptMsg()17 4.1.3.SignMsg()17 4.1.4.VerifyMsg().18 4.1.5.GetResult()18 4.1.6.Las
4、tResult属性19 4.1.7.LastErrMsg属性20 4.1.8.CurrVer属性20 5NET 版商户接口函数版商户接口函数.21 5.1.接口函数.21 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司3 5.1.1.encryptMsg().21 5.1.2.decryptMsg().22 5.1.3.signMsg()23 5.1.4.verifyMsg()24 5.1.5.GetResult()24 5.1.6.getCurrVer().25 6.JAVA 版商户接口函数版商户接口函数 .26 6.1.接口函数.26 6.
5、1.1.EncryptMsg()26 6.1.2.DecryptMsg()27 6.1.3.SignMsg()27 6.1.4.VerifyMsg().28 6.1.5.GetResult()28 6.1.6.LastResult属性29 6.1.7.LastErrMsg属性30 6.1.8.CurrVer属性30 6.1.9.setTestServer (boolean isTestServer)方法.30 6.1.10.setConvertEncode(boolean isConvertEncode)方法.31 6.2.关于 JAVA加密扩展的出口限制(NJCE 版)31 6.2.1.替换
6、程序包31 6.2.2.生成gpk文件31 6.2.3.调用商户接口32 7.PHP 版商户接口函数版商户接口函数33 7.1.接口函数.34 7.1.1.EncryptMsg()34 7.1.2.DecryptMsg()35 7.1.3.SignMsg()36 7.1.4.VerifyMsg().37 7.1.5.GetResult()38 7.1.6.LastResult属性39 7.1.7.LastErrMsg属性39 7.1.8.CurrVer属性39 7.2.密钥文件转换说明.40 8.错误代码错误代码.41 9.渠道参数表渠道参数表.42 广州银联网络支付有限公司支付网关商户接口标
7、准(银联在线支付) 版权所有:广州银联网络支付有限公司4 1.1.1.文档介绍文档介绍文档介绍文档介绍 1.1. 读者对象读者对象 商户系统设计人员、编程人员及测试人员 1.2. 参考文献参考文献 银行卡联网联合技术规范 RSA Security Lab: RSA Cryptography FAQ 中国人民解放军总参谋部 56 所 SJY42 证书服务器密码机使用说明 1.3. 术语与缩写解释术语与缩写解释 缩写、术语解 释 安全服务器主要的功能是通过硬件方式实现各种密码算法,安全保存密钥及发放证书, 安全服务器采取了多种安全措施,能够安全的保存一些重要的密钥,特别 适合于对密钥安全性要求特别
8、高的应用。 Verisign 证书银联向美国 VerySign 公司申请的,用来向顾客认证银联支付网关唯一性 的证书。该证书能够使用内置于 Internet Explore 浏览器中的 VerySign 公司的根证书进行认证,顾客无需安装银联服务器证书。 商户证书银联通过安全服务器给商户颁发的数字签名证书。银联通过安全服务器认 证商户的商户证书,该证书的有效期为一年。 支付接口银联颁发给商户的服务器端控件,用于通过安全的方式传送订单数据到银 联及接收银联实时返回的支付结果。 对账接口银联颁发给商户的服务器端控件,用于批量接收符合商户查询条件的支付 结果。 订单管理系统银联提供给商户的基于 B/
9、S 结构的订单管理界面。 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司5 2.2.2.商户接口商户接口商户接口商户接口概述概述概述概述 2.1. 接口结构接口结构图图 接口结构 商户接口 API支付接口 对帐接口 OpenVendor.PKI OpenVendor.GetPayResult ASP示例程序 VB示例程序 商户数字签名证书 订单管理系统 文档 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司6 2.2. 支付接口支付接口 2.2.1.支付数据流程支付数据流程图图 商户系统银联在线银
10、联支付网关 4.传送订单数据 1.生成订单 支付数据流程 7.生成支付单 8.传送支付单数据 9.执行支付 10.返回支付结果 13.返回支付结果 16.显示支付结果给用户 2.使用银联公钥加密 3.使用商户私钥签名 5.使用银联私钥解密 6.验证对方签名 11.使用商户公钥加密 12.使用银联私钥签名 14.使用商户私钥解密 15.验证对方签名 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司7 2.2.2.支付数据流程解释支付数据流程解释 1、用户在商户系统生成订单; 2、商户系统使用银联证书的公钥对订单数据进行加密; 3、商户系统使用商户证
11、书的私钥对订单数据进行数字签名,数字签名中包括商户证书 的公钥及商户系统当前时间,加密后的订单数据+订单数据数字签名构成一份订单 数字信封; 4、商户系统通过表单方式将订单数字信封下载到用户浏览器,并通过用户浏览器自动 提交到银联在线; 5、银联在线接收到订单数字信封后,使用银联证书的私钥对加密后的订单数据进行解 密; 6、银联在线使用商户证书验证订单数据数字签名的合法性(用于签名的证书是否有效 及证书序列号是否一致) ; 7、银联在线生成支付单; 8、银联在线传送支付单数据至支付网关,并引导用户进入支付网关; 9、用户在支付网关输入银行卡信息(银行卡号、卡密码、信用卡有效期、证件号码) 执行
12、支付; 10、支付完毕后,向用户显示支付结果,并弹出一个新窗口将支付结果返回给银联在线; 11、银联在线接收到支付结果后,使用商户证书的公钥对支付结果数据进行加密; 12、银联在线使用银联证书的私钥对订单数据进行数字签名,数字签名中包括银联证书 的公钥及银联在线当前时间,加密后的订单数据+订单数据数字签名构成一份支付 结果数字信封; 13、银联在线通过表单方式将支付结果数字信封下载到用户浏览器,并通过用户浏览器 自动提交到商户系统; 14、商户系统接收到支付结果数字信封后,使用商户证书的私钥对加密后的支付结果数 据进行解密; 15、商户系统使用银联证书验证订单数据数字签名的合法性(用于签名的证
13、书是否有效 及证书序列号是否一致) ; 16、商户系统将支付结果输出到用户浏览器,并根据支付结果为用户提供产品或服务。 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司8 2.3. 数字信封数字信封 2.3.1.数字信封格式数字信封格式 订单数字信封包括 EncodeMsg、SignMsg 二部分,均由订单数据或支付结果数据产生而 成。 1、如为订单数据,使用银联证书公钥对订单数据加密产生 EncodeMsg 域,使用商户 证书私钥对订单数据签名产生 SignMsg 域; 2、如为支付结果数据,使用商户证书私钥对 EncodeMsg 域解密产生支
14、付结果数据, 再使用银联证书公钥对 SignMsg 域进行合法性验证; 二个域将通过隐藏表单下载到用户浏览器,并由用户浏览器自动提交到数字信封接收方。 域名称长度类型说明 EncodeMsg无限制Base64 字符串加密后订单数据 SignMsg无限制Base64 字符串订单数据数字签名 2.3.2.数字信封格式示例数字信封格式示例 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司9 2.3.3.订单数据订单数据 订单数据是指构造成订单数字信封的原始数据,由各个数据元订单数据是指构造成订单数字信封的原始数据,由各个数据元 组成,每个数据元由(数据
15、元名称组成,每个数据元由(数据元名称= =数据元值)组成,各个数据数据元值)组成,各个数据 元之间使用字符串元之间使用字符串d:bcprov-jdk14-139.jar com.EasyLink.security.x509.GpkProducer d:MERCHANT.pfx 12345678 d:MERCHANT.gpk 12345678 第一个参数:pfx 证书文件的路径。 第二个参数:pfx 证书的保护密码。 第三个参数:生成 gpk 文件的路径。 第三个参数:gpk 文件的保护密码(用于加密 gpk 文件内容) 。 注:gpk 文件保存了加解密和签名验签需要用到的密钥信息,包括两部分信
16、息:一部 分与公共密钥相关,不加密;而另一部涉及私人密钥信息,则使用用户提供的保护密码进 行 3DES 加密,以确保用户信息的安全。 7.2.3.调用商户接口调用商户接口 用户调用商户接口时,需要将 DecryptMsg,SignMsg 方法的参数的内容做以下调整: 参数名参数名说明说明 KeyFile原为 pfx 证书文件路径,现改为 gpk 文件路径。 PassWord原为 pfx 证书保护密码,现改为 gpk 文件保护密码。 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司42 8.8.8.PHPPHPPHP 版商户接口函数版商户接口函数版
17、商户接口函数版商户接口函数 对象名称对象名称方法方法/ /属性属性功能功能 EncryptMsg(EncryptMsg( ) )方法方法 数字信封加密数字信封加密 DecryptMsDecryptMsg g( ( ) )方法方法 数字信封解密数字信封解密 SignMsg()SignMsg()方方 法法 数字信封签名数字信封签名 VerifyMsg()VerifyMsg() 方法方法 数字信封验证签名数字信封验证签名 GetResult()GetResult() 方法方法 获取订单数据获取订单数据 LastResultLastResult 属性属性 上次调用后的返回结果上次调用后的返回结果 La
18、stErrMsgLastErrMsg 属性属性 上次调用后的出错信息上次调用后的出错信息 NetTranNetTran CurrVerCurrVer 属性属性接口版本接口版本 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司43 8.1. 接口函数接口函数 8.1.1.EncryptMsg() 功能:对字符串进行加密功能:对字符串进行加密 参数:参数: function EncryptMsg( String $TobeEncrypted, String $CertFile ) 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有
19、:广州银联网络支付有限公司44 StringString $TobeEncrypted:$TobeEncrypted: 对字符串进行加密对字符串进行加密 StringString $CertFile:$CertFile: 解密者公钥证书路径解密者公钥证书路径 返回值:返回值: booleanboolean 型型 truetrue 为调用成功,密文见为调用成功,密文见 LastResultLastResult 属性属性 falsefalse 为调用失败,失败原因见为调用失败,失败原因见 LastErrMsgLastErrMsg 属性属性 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付
20、) 版权所有:广州银联网络支付有限公司45 8.1.2.DecryptMsg() 功能:对加密后的密文进行解密功能:对加密后的密文进行解密 参数:参数: StringString $TobeDecrypted:$TobeDecrypted: 需要解密的密文需要解密的密文 StringString $KeyFile$KeyFile:存放私钥的:存放私钥的 PEMPEM 文件的路径地址文件的路径地址 StringString $PassWord$PassWord:保护私钥的密码:保护私钥的密码 返回值:返回值: booleanboolean 型型 truetrue 为调用成功,交易原始消息见为调用
21、成功,交易原始消息见 LastResultLastResult 属性属性 falsefalse 为调用失败,失败原因见为调用失败,失败原因见 LastErrMsgLastErrMsg 属性属性 function DecryptMsg( String $TobeDecrypted, String $KeyFile, String $PassWord ) 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司46 8.1.3.SignMsg() 功能:对字符串进行签名功能:对字符串进行签名 function SignMsg( String $TobeSig
22、ned, String $KeyFile, String $PassWord ) 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) 版权所有:广州银联网络支付有限公司47 参数:参数: StringString $TobeSigned:$TobeSigned: 需要进行签名的字符串需要进行签名的字符串 String $KeyFile: : 存放私钥的存放私钥的 PEMPEM 文件的路径地址文件的路径地址 StringString $PassWord$PassWord:保护私钥的密码:保护私钥的密码 返回值:返回值: booleanboolean 型型 truetrue 为调用成功,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广州 联网 支付 有限公司 网关 商户 接口标准 在线
链接地址:https://www.31doc.com/p-5022223.html