当前位置:首页 >> 信息与通信 >>

开放商户支付接口V34(银联在线支付)


广州银联网络支付有限公司 支付网关商户接口标准(银 联在线支付)
文档属性 文档名称: 项目名称: 版本号: 撰写者: 复核者: 负责者: 审批者: 3.4 技术管理部 文档编号: 日期: 日期: 日期: 日期: PG-20040426001 2012-1-8 广州银联网络支付有限公司支付网关商户接口标准(银联在线支付

版本历史: 版本号 修改内容

撰写者 发布日期

版权声明: 此文档的版权归广州银联网络支付有限公司所有,作为本系统的最终用户,可以拥有该份文档的使用权, 但未征得广州银联网络支付有限公司的书面批准,不得向第三方借阅、出让、出版该文档。

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

目录
-----------------------------------------------------------------------------------------------------

1.

文档介绍.......................................................................................................................................... 4 文档介绍 1.1. 1.2. 1.3. 读者对象 ................................................................................................................................. 4 参考文献 ................................................................................................................................. 4 术语与缩写解释 ..................................................................................................................... 4

2.

商户接口概述.................................................................................................................................. 5 2.1. 2.2. 接口结构图 ............................................................................................................................. 5 支付接口 ................................................................................................................................. 6

2.2.1. 2.2.2. 2.3. 2.3.1. 2.3.2. 2.3.3. 2.3.4. 2.3.5. 2.3.6. 2.3.7. 2.3.8. 2.3.9. 2.3.10. 2.3.11. 3.

支付数据流程图 ............................................................................................................. 6 支付数据流程解释 ......................................................................................................... 7 数字信封格式 ................................................................................................................. 8 数字信封格式示例 ......................................................................................................... 8 订单数据 ......................................................................................................................... 9 订单数据示例 ................................................................................................................. 9 支付结果数据 ................................................................................................................. 9 支付结果数据示例 ....................................................................................................... 10 后台发送支付结果数据 ............................................................................................... 10 对账结果数据 ............................................................................................................... 10 对账结果数据示例 ....................................................................................................... 11 对账结果数据的签名及数据格式 ............................................................................... 11 支付结果响应码 ........................................................................................................... 12

数字信封 ................................................................................................................................. 8

商户端部署指南............................................................................................................................ 15 3.1. 系统环境 ............................................................................................................................... 15

4.

COM 版商户接口函数 ................................................................................................................. 17 4.1. 接口函数 ............................................................................................................................... 19 EncryptMsg() ................................................................................................................. 19 DecryptMsg()................................................................................................................. 19 SignMsg() ...................................................................................................................... 20 VerifyMsg() .................................................................................................................... 21 GetResult()..................................................................................................................... 21 LastResult 属性 ............................................................................................................. 23 LastErrMsg 属性 ........................................................................................................... 23 CurrVer 属性 ................................................................................................................. 24

4.1.1. 4.1.2. 4.1.3. 4.1.4. 4.1.5. 4.1.6. 4.1.7. 4.1.8. 5.

.NET 版商户接口函数 ................................................................................................................. 25 5.1. 接口函数 ............................................................................................................................... 25 encryptMsg() ................................................................................................................. 25
2

5.1.1.

版权所有:广州银联网络支付有限公司

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

5.1.2. 5.1.3. 5.1.4. 5.1.5. 5.1.6. 6.

decryptMsg() ................................................................................................................. 27 signMsg() ....................................................................................................................... 28 verifyMsg() .................................................................................................................... 29 GetResult()..................................................................................................................... 30 getCurrVer() .................................................................................................................. 31

JAVA 版商户接口函数 ................................................................................................................. 32 6.1. 接口函数 ............................................................................................................................... 33 EncryptMsg() ................................................................................................................. 33 DecryptMsg()................................................................................................................. 33 SignMsg() ...................................................................................................................... 34 VerifyMsg() .................................................................................................................... 35 GetResult()..................................................................................................................... 36 LastResult 属性 ............................................................................................................. 38 LastErrMsg 属性 ........................................................................................................... 38 CurrVer 属性 ................................................................................................................. 39 setTestServer (boolean isTestServer)方法 ..................................................................... 39 setConvertEncode(boolean isConvertEncode)方法 ...................................................... 40

6.1.1. 6.1.2. 6.1.3. 6.1.4. 6.1.5. 6.1.6. 6.1.7. 6.1.8. 6.1.9. 6.1.10. 6.2. 6.2.1. 6.2.2. 6.2.3. 7.

关于 JAVA 加密扩展的出口限制(NJCE 版) .................................................................... 40

替换程序包 ................................................................................................................... 40 生成 gpk 文件 ............................................................................................................... 41 调用商户接口 ............................................................................................................... 41

PHP 版商户接口函数 ................................................................................................................... 42 7.1. 接口函数 ............................................................................................................................... 43 EncryptMsg() ................................................................................................................. 43 DecryptMsg()................................................................................................................. 45 SignMsg() ...................................................................................................................... 46 VerifyMsg() .................................................................................................................... 48 GetResult()..................................................................................................................... 49 LastResult 属性 ............................................................................................................. 51 LastErrMsg 属性 ........................................................................................................... 52 CurrVer 属性 ................................................................................................................. 52

7.1.1. 7.1.2. 7.1.3. 7.1.4. 7.1.5. 7.1.6. 7.1.7. 7.1.8. 7.2. 8. 9.

密钥文件转换说明 ............................................................................................................... 53

错误代码........................................................................................................................................ 54 错误代码 渠道参数表.................................................................................................... 错误!未定义书签。

版权所有:广州银联网络支付有限公司

3

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

1 . 文 档 介绍
1.1. 读者对象
商户系统设计人员、编程人员及测试人员

1.2. 参考文献
《银行卡联网联合技术规范》 《RSA Security Lab: RSA Cryptography FAQ》 《中国人民解放军总参谋部 56 所 SJY42 证书服务器密码机使用说明》

1.3. 术语与缩写解释
缩写、术语 安全服务器 解 释 主要的功能是通过硬件方式实现各种密码算法, 安全保存密钥及发放证书, 安全服务器采取了多种安全措施,能够安全的保存一些重要的密钥,特别 适合于对密钥安全性要求特别高的应用。 银联向美国 VerySign 公司申请的,用来向顾客认证银联支付网关唯一性 的证书。该证书能够使用内置于 Internet Explore 浏览器中的 VerySign 公司的根证书进行认证,顾客无需安装银联服务器证书。 银联通过安全服务器给商户颁发的数字签名证书。银联通过安全服务器认 证商户的商户证书,该证书的有效期为一年。 银联颁发给商户的服务器端控件,用于通过安全的方式传送订单数据到银 联及接收银联实时返回的支付结果。 银联颁发给商户的服务器端控件,用于批量接收符合商户查询条件的支付 结果。 银联提供给商户的基于 B/S 结构的订单管理界面。

Verisign 证书

商户证书 支付接口 对账接口 订单管理系统

版权所有:广州银联网络支付有限公司

4

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

2 . 商 户 接口 概 述
2.1. 接口结构图 接口结构图
接口结构
商户接口

API

支付接口

OpenVendor.PKI ASP示例程序 商户数字签名证书

对帐接口

OpenVendor.GetPayResult VB示例程序

订单管理系统 文档

版权所有:广州银联网络支付有限公司

5

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

2.2. 支付接口
2.2.1. 支付数据流程图 支付数据流程图
支付数据流程

商户系统

银联在线

银联支付网关

1.生成订单 2.使用银联公钥加密 3.使用商户私钥签名 4.传送订单数据

5.使用银联私钥解密 6.验证对方签名 7.生成支付单 8.传送支付单数据

9.执行支付 10.返回支付结果

11.使用商户公钥加密 12.使用银联私钥签名 13.返回支付结果

14.使用商户私钥解密 15.验证对方签名 16.显示支付结果给用户

版权所有:广州银联网络支付有限公司

6

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

2.2.2.
1、 2、 3、

支付数据流程解释

4、 5、 6、 7、 8、 9、 10、 11、 12、

13、 14、 15、 16、

用户在商户系统生成订单; 商户系统使用银联证书的公钥对订单数据进行加密; 商户系统使用商户证书的私钥对订单数据进行数字签名,数字签名中包括商户证书 的公钥及商户系统当前时间,加密后的订单数据+订单数据数字签名构成一份订单 数字信封; 商户系统通过表单方式将订单数字信封下载到用户浏览器,并通过用户浏览器自动 提交到银联在线; 银联在线接收到订单数字信封后,使用银联证书的私钥对加密后的订单数据进行解 密; 银联在线使用商户证书验证订单数据数字签名的合法性(用于签名的证书是否有效 及证书序列号是否一致) ; 银联在线生成支付单; 银联在线传送支付单数据至支付网关,并引导用户进入支付网关; 用户在支付网关输入银行卡信息(银行卡号、卡密码、信用卡有效期、证件号码) 执行支付; 支付完毕后,向用户显示支付结果,并弹出一个新窗口将支付结果返回给银联在线; 银联在线接收到支付结果后,使用商户证书的公钥对支付结果数据进行加密; 银联在线使用银联证书的私钥对订单数据进行数字签名,数字签名中包括银联证书 的公钥及银联在线当前时间,加密后的订单数据+订单数据数字签名构成一份支付 结果数字信封; 银联在线通过表单方式将支付结果数字信封下载到用户浏览器,并通过用户浏览器 自动提交到商户系统; 商户系统接收到支付结果数字信封后,使用商户证书的私钥对加密后的支付结果数 据进行解密; 商户系统使用银联证书验证订单数据数字签名的合法性(用于签名的证书是否有效 及证书序列号是否一致) ; 商户系统将支付结果输出到用户浏览器,并根据支付结果为用户提供产品或服务。

版权所有:广州银联网络支付有限公司

7

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

2.3. 数字信封
2.3.1. 数字信封格式

订单数字信封包括 EncodeMsg、SignMsg 二部分,均由订单数据或支付结果数据产生而 成。 1、 如为订单数据,使用银联证书公钥对订单数据加密产生 EncodeMsg 域,使用商户 证书私钥对订单数据签名产生 SignMsg 域; 2、 如为支付结果数据,使用商户证书私钥对 EncodeMsg 域解密产生支付结果数据, 再使用银联证书公钥对 SignMsg 域进行合法性验证; 二个域将通过隐藏表单下载到用户浏览器,并由用户浏览器自动提交到数字信封接收方。 域名称 EncodeMsg SignMsg 长度 无限制 无限制 类型 Base64 字符串 Base64 字符串 说明 加密后订单数据 订单数据数字签名

2.3.2.

数字信封格式示例

<form method="post" name="SendOrderForm" action="数字信封接收方 URL"> <input type="hidden" name="EncodeMsg" value="EncodeMsg 的值"> <input type="hidden" name="SignMsg" value="SignMsg 的值"> </form> <script language="javascript"> <!-SendOrderForm.submit(); //--> </script>

版权所有:广州银联网络支付有限公司

8

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

2.3.3.

订单数据

订单数据是指构造成订单数字信封的原始数据, 由各个数据元组 订单数据是指构造成订单数字信封的原始数据, 成,每个数据元由(数据元名称=数据元值)组成,各个数据元 每个数据元由(数据元名称=数据元值)组成, 之间使用字符串&进行分隔。 之间使用字符串&进行分隔。
数据元名称 MerId OrderNo OrderAmount CurrCode CallBackUrl ResultMode 长度 3 Max(20) Max(12) Max(3) Max(400) 1 类型 字符串 字符串 字符串 字符串 字符串 字符串 商户 ID 商户订单号(要求唯一) 订单金额,格式:元.角分 货币代码,值为:CNY 支付结果接收 URL 支付结果返回方式 0=成功和失败支付结果均返回 1=仅返回成功支付结果 填”00010000” 保留域 1 保留域 2 说明

BankCode, Reserved01 Reserved02

8 Max(100) Max(100)

字符串 字符串 字符串

2.3.4.

订单数据示例

MerId=001&OrderNo=20031106100001&OrderAmount=59.32& CurrCode=CNY&CallBackUrl=http://www.001.com/GNETPG/OvRcv.asp& ResultMode=0& Reserved01=&Reserved02=

2.3.5.

支付结果数据

支付结果数据是指构造成支付结果数字信封的原始数据, 由各个 支付结果数据是指构造成支付结果数字信封的原始数据, 数据元组成,每个数据元由(数据元名称=数据元值)组成, 数据元组成,每个数据元由(数据元名称=数据元值)组成,各 元名称

版权所有:广州银联网络支付有限公司

9

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

个数据元之间使用字符串&进行分隔。 个数据元之间使用字符串&进行分隔。
数据变量名 OrderNo PayNo PayAmount CurrCode SystemSSN RespCode SettDate Reserved01 Reserved02 长度 Max(20) 6 Max(12) Max(3) Max(15) 2 4 Max(100) Max(100) 类型 字符串 字符串 字符串 字符串 字符串 字符串 字符串 字符串 字符串 说明 商户订单号 支付单号 支付金额,格式:元.角分 货币代码 系统参考号 响应码 清算日期,格式:月月日日 保留域 1 保留域 2

2.3.6.

支付结果数据示例

OrderNo=20031106100001&PayNo=103450&PayAmount=59.32& CurrCode=CNY&SystemSSN=120034120034&RespCode=00&SettDate=1106&Reserved01= &Reserved02=

2.3.7.

后台发送支付结果数据

1.商户可以增加一个后台支付结果接收页面, 用来接收处理广州银联网络支付有限公司通过 服务器发送的支付结果。 2.商户在自己服务器增加的后台支付结果接收页面,接收到的数据跟 2.3.5 支付结果数据 相同。区别在于处理完数据后不需要再显示支付结果给客户,而是直接输出"OK"给银联网 络服务器端。银联网络接收到"OK"后将不再发送,否则将一直发送到原来设置的发送次数 上限。 3.商户如果需要该功能,需要通过书面方式提交后台支付结果接收页面的 URL 和后台发送 次数上限给银联网络业务人员进行设置。

2.3.8.

对账结果数据

对账结果数据是指构造成对账结果的数据,每条记录用 Chr(10) 结果数据是指构造成对账结果的数据,
版权所有:广州银联网络支付有限公司 10

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

分隔,每列用\ 分隔,每列用\n 分隔 订单的格式:订单日期\ 支付金额\ 商户订单号\ 支付单号\ 订单的格式:订单日期\n 支付金额\n 商户订单号\n 支付单号\n 系统参考号\ 响应码\ 系统参考号\n 响应码\n
数据变量名 ShoppingDate PayAmount OrderNo PayNo SystemSSN RespCode 长度 8 Max(12) Max(20) 24 Max(15) 2 类型 字符串 字符串 字符串 字符串 字符串 字符串 说明 交易日期(YYYYMMDD) 支付金额,格式:元.角分 商户订单号 交易日期-商户终端号-支付单号 系统参考号 响应码

2.3.9.

对账结果数据示例

20040426\n12.34\n20040426100001\n20040326-99800001-100001\n100001100001\n 00\n

2.3.10. 对账结果数据的签名及数据格式 对账结果数据的签名及数据格式
有商户提到我司提供的对账结果数据中无签名,比较担心拿到的对账结果数据的可信 度。对此,我司提供一个新的对账结果数据查询 URL(路径与以前的 URL 相同,只是由 GetPayResult.asp 改为 GetPayResultSign.asp) ,商户只需用新的 URL 替换即可。 返回数据时第一行(256 字节)为签名数据,行分隔符之后即为对账结果明文数据(不 包含第一行之后的行分隔符) 。 验签时,通过调用本接口中提供的 VerifyMsg()对对账结果数据进行签名验证。其中 CertFile 为我司提供的证书文件路径。

版权所有:广州银联网络支付有限公司

11

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

返回的数据格式与以前的定义相同,但是为了提供一定的灵活度,可以对行、列分隔符 进行定制。定义如下: 参数名 FileSpliter RowSpliter 类型 字符串 字符串 说明 作为每列数据的分隔符,不设置则为原来的 “\n” 作为每行数据的分隔符,不设置则为原来的 CHR(10)

例如,在接口配置文件中将 GetResultUrl 设为: http://test.gnete.com/bin/scripts/Openvendor/gnete/V34/GetPayResultSi gn.asp?fieldspliter=|&rowspliter=^

2.3.11. 支付结果响应码
Code 00 01 02 03 04 05 06 07 09 12 13 14 15 17 19 20 21 22 23 25 30 31 33 34 Action Approve Decline Decline Decline Pick-up Decline Decline Pick-up Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline -Decline Decline Decline Decline Decline Pick-up 含 义 显示内容 交易成功 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请重试 交易失败,请联系发卡行 金额有误,请重试 无效卡号,请换卡重试 此卡不能受理 交易失败,请联系发卡行 交易失败,请重试 交易失败,请联系发卡行 交易失败,请联系发卡行 操作有误,请重试 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 此卡不能受理 卡片过期,请联系发卡行 交易失败,请联系发卡行

承兑或交易成功 查发卡方 查发卡方的特殊条件 无效商户 没收卡 不予承兑 出错 特殊条件下没收卡 请求正在处理中 无效交易 无效金额 无效卡号(无此账号) 无此发卡方 拒绝但不没收卡 重新送入交易 无效响应 不能采取行动 故障怀疑 不可接受的交易费 找不到原始交易 格式错误 交换中心不支持的银行 过期的卡 有作弊嫌疑

版权所有:广州银联网络支付有限公司

12

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) Code 35 36 37 38 39 40 41 42 43 44 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 75 76 77 78 90 Action Pick-up Pick-up Pick-up Decline Decline Decline Pick-up Decline Pick-up Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline Pick-up Decline Decline Decline Decline Decline Decline 含 义 显示内容 交易失败,请联系发卡行 此卡有误,请换卡重试 交易失败,请联系发卡行 密码错误次数超限 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 余额不足,请查询 交易失败,请联系发卡行 交易失败,请联系发卡行 卡片过期,请联系发卡行 密码错,请重试 交易失败,请联系发卡行 该卡不支持此项服务,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 金额超限 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易超时,请稍后重试 密码错误次数超限 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请联系发卡行 交易失败,请稍后重试

受卡方与代理方联系 (没收卡) 受限制的卡 受卡方电话通知代理方 安全部门 超过允许的 PIN 试输入 无贷记账户 请求的功能尚不支持 挂失卡 无此账户 被窃卡 无此投资账户 资金不足 无此支票账户 无此储蓄卡账户 过期的卡 不正确的 PIN 无此卡记录 不允许持卡人进行的交 易 不允许终端进行的交易 有作弊嫌疑 受卡方与代理方联系 (不没收卡) 超出金额限制 受限制的卡 侵犯安全 原始金额错误 超交易次数 受卡方通知受理方安全 部门 强行受理(要求在自动 会员机上没收此卡) 接收的响应超时 允许的输入 PIN 次数超 限 无效账户 此卡需密码 无效终端 正在日终处理(系统终 止一天的活动,开始第

版权所有:广州银联网络支付有限公司

13

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) Code Action 含 义 显示内容

二天的活动,交易在几 分钟后可再次发送) 91 92 93 94 95 96 97 98 99 A0 Decline Decline Decline Decline Decline Decline Decline Decline Decline Decline 发卡方不能操作 金融机构或中间网络设 施找不到或无法达到 交易违法、不能完成 重复交易 核对差错 交换中心系统异常、失 效 无此终端 交换中心收不到发卡方 应答 PIN 格式错 MAC 鉴别失败 交换中心转发了原交易 请求,但未收到发卡方 A2 Approve 应答时,交换中心直接 交易结果请查询发卡行 向受理方应答为有缺陷 的成功交易 深银联支付号/授权码与 BF XX Decline Decline 银行卡号不匹配 超时已冲正 交易失败,请联系发卡行 交易失败,请稍后重试 交易失败,请稍后重试 交易失败,请稍后重试 交易失败,请联系发卡行 交易失败,请稍后重试 交易失败,请稍后重试 交易失败,请稍后重试 交易失败,请稍后重试 交易超时,请稍后重试 交易失败,请稍后重试 交易失败,请稍后重试

版权所有:广州银联网络支付有限公司

14

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

3 . 商 户 端部 署 指南
3.1. 系统环境
接口版本 操作系统/ 操作系统/系 统平台 COM 版本 Windows NT4.0 Windows 2000 Microsoft .NET C#.NE T VB.NE T Java 版本 JRE 1.3.1 JRE 1.4.2 JRE 1.5.0 Java PHP 如果使用 JRE1.3.1 版本, 版本, ( 注: jce需要把 jce-1_2_2.zip 解压后 目录下 得到的 jce1.2.2 目录下 lib 文 件夹中的四个 jar 文件拷贝到 JRE1.3.1 安装目录的 lib 文件 文件夹下面, 夹中的 ext 文件夹下面,并在 ext 同级目录的 security 文件 文件, 夹中修改 java.security 文件, 开发 语言 ASP VB 备注

.Net 版本 Framework 2.0/3.0/3.5

版权所有:广州银联网络支付有限公司

15

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

在其中添加 security.provider.3 security.provider.3=com.sun .crypto.provider.SunJCE) .crypto.provider.SunJCE) Java 版本 (NJCE) NJCE) JRE 1.4.2 JRE 1.5.0 Java 解决了 Java 加密扩展的出口限 而且商户无法修改安全策略 制, 文件的情况。 文件的情况。且修改了 BC 包的 命名空间, 防止与商户系统中的 命名空间, 包产生冲突。 其它版本的 BC 包产生冲突。 环境的商户, 对于采用 Java 环境的商户,建 议采用 NJCE 版。 PHP 版本 PHP4.4.8 及 其以上版本 PHP 格式, 私钥文件只支持 PEM 格式, 需采 用工具将 pfx 转换为 PEM 格式

版权所有:广州银联网络支付有限公司

16

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

4 . 银联在线 支付商 户端 L O G O 使用说 明
LOGO: 银联在线支付 LOGO:

使用方式请参考附件《 银联在线支付”品牌标识布放规范》 “ 使用方式请参考附件《 银联在线支付”品牌标识布放规范》

版权所有:广州银联网络支付有限公司

17

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

5 . C O M 版 商 户接口 函 数
对象名称 方法/ 方法/属性 功能 数字信封加密

OpenVendorV EncryptMsg( 34. 34.NetTran )方法 DecryptMsg( )方法 SignMsg()方 SignMsg()方 法 VerifyMsg() VerifyMsg() Msg 方法 GetResult() 方法 LastResult LastResult 属性 LastErrMsg 属性

数字信封解密

数字信封签名

数字信封验证签名

获取订单数据

上次调用后的返回结果

上次调用后的出错信息

CurrVer 属性 控件版本

版权所有:广州银联网络支付有限公司

18

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

5.1. 接口函数
5.1.1. EncryptMsg()

Function EncryptMsg( ByVal TobeEncrypted As Variant, ByVal CertFile As Variant, ) As Long

功能: 功能:对数字信封进行加密 参数: 参数:

TobeEncrypted:待加密的数字信封 待加密的数字信封, Variant TobeEncrypted:待加密的数字信封,输入值 Variant
返回值: 返回值:
CertFile

公钥证书的路径地址, : 公钥证书的路径地址,输入值

Long 型 为调用成功 0 为调用成功,密文见 LastResult 属性 为调用失败, -1 为调用失败,失败原因见 LastErrMsg 属性

5.1.2.

DecryptMsg()

Function DecryptMsg( ByVal TobeDecrypted As Variant, ByVal KeyFile As Variant, ByVal PassWord As Variant ) As Long

功能: 功能:对数字信封进行解密

参数: 参数: TobeDecrypted:待解密的数字信封 待解密的数字信封, Variant TobeDecrypted:待解密的数字信封,输入值
版权所有:广州银联网络支付有限公司 19

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

KeyFile: 文件的路径地址, Variant KeyFile:存放私钥的 PFX 文件的路径地址,输入值 PassWord:保存私钥的密码, Variant PassWord:保存私钥的密码,输入值 返回值: 返回值: Long 型 为调用成功, 0 为调用成功,解密后的明文见 LastResult 属性 为调用失败, -1 为调用失败,失败原因见 LastErrMsg 属性

5.1.3.

SignMsg()

Function SignMsg( ByVal TobeSigned As Variant, ByVal KeyFile As Variant, ByVal PassWord As Variant ) As Long

功能: 功能:使用数字信封发送者的私钥对未加密的数字信封进行数字签名

参数: 参数: TobeSigned:待进行数字签名的 待进行数字签名的、 Variant TobeSigned:待进行数字签名的、未加密的数字信 封,输入值 KeyFile: 文件的路径地址, Variant KeyFile:存放私钥的 PFX 文件的路径地址,输入值 PassWord:保存私钥的密码, Variant PassWord:保存私钥的密码,输入值 返回值: 返回值: Long 型 为调用成功, 0 为调用成功,签名内容见 LastResult 属性 为调用失败, -1 为调用失败,失败原因见 LastErrMsg 属性
版权所有:广州银联网络支付有限公司 20

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

5.1.4.

VerifyMsg()

Function VerifyMsg( ByVal TobeVerified As Variant, ByVal PlainText As Variant, ByVal CertFile As Variant ) As Long

功能: 功能:验证数字信封签名是否合法

参数: 参数: Variant Variant Variant 返回值: 返回值: Long 型 0 为调用成功 为调用失败, -1 为调用失败,失败原因见 LastErrMsg 参数
TobeVerified

:待验证签名的数字签名,输入值 待验证签名的数字签名, 签名

PlainText

:未加密的数字信封,输入值 未加密的数字信封,

CertFile

公钥证书的路径地址, : 公钥证书的路径地址,输入值

5.1.5.

GetResult()

Function GetResult( ByVal MerId As Variant, ByVal UserId As Variant, ByVal Pwd As Variant, ByVal PaySuc As Variant, ByVal ShoppingTime As Variant, ByVal BeginTime As Variant, 版权所有:广州银联网络支付有限公司 ByVal EndTime As Variant, ByVal OrderNo As Variant, ) As Long 21

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

功能: 功能:从好易联支付网关下载符合条件的交易结果数据 参数: 参数:
Variant

MerId: 好易联商户 ID UserId: 好易联对账 UserId: 好易联对账用户 ID 好易联对账 Pwd: 好易联对账用户密码 交易结果类型(0 失败订单, 成功订单, (0PaySuc: 交易结果类型(0-失败订单,1-成功订单,2-

Variant

Variant

Variant

全部订单) 全部订单)
Variant

交易日期( ShoppingTime: 交易日期(查询 ShoppingTime 到现在的交

易结果数据,此域不为空时, 失效, 易结果数据,此域不为空时,BeginTime 及 EndTime 失效,格式 为: yyyy-mmyyyy-mm-dd hh:mm:ss)
Variant

开始时间( BeginTime: 开始时间(查询 BeginTime 到 EndTime 的交易

结果数据,格式为:yyyy-mmhh:mm:ss) 结果数据,格式为:yyyy-mm-dd hh:mm:ss)
Variant

结束时间( EndTime: 结束时间(查询 BeginTime 到 EndTime 的交易结

果数据,格式为:yyyy-mm果数据,格式为:yyyy-mm-dd hh:mm:ss)
Variant

OrderNo:商户订单号(可以为空) OrderNo:商户订单号(可以为空)

文件中配置 配置, 对账接口 URL 在安装路径下的 OpenVendor.ini 文件中配置,上

版权所有:广州银联网络支付有限公司

22

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

生产时需要修改

返回值: 返回值: long 型 为调用成功, 0 为调用成功,订单数据见 LastResult 属性 为调用失败, -1 为调用失败,失败原因见 LastErrMsg 属性

5.1.6.

LastResult 属性

功能: EncryptMsg()、DecryptMsg()、 功能:返回上一次调用 EncryptMsg()、DecryptMsg()、 SignMsg()、GetResult()方法的输出值 SignMsg()、GetResult()方法的输出值 类型: 类型:
String 型

5.1.7.

LastErrMsg 属性

功能: 功能:返回上一次函数调用失败后的出错信息 类型: 类型: String 型

属性的返回值类似于: LastErrMsg 属性的返回值类似于:
版权所有:广州银联网络支付有限公司 23

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) Error Number:-10005 Error Description:ER_FIND_CERT_FAILED(找不到证书)

5.1.8.

CurrVer 属性

功能:返回当前接口的版本 功能:返回当前接口的版本 类型: 类型: String 型

属性的返回值类似于: CurrVer 属性的返回值类似于:
广州好易联支付网络有限公司支付网关商户接口 版本号:3.4 最后编译日期:2004-09-09

版权所有:广州银联网络支付有限公司

24

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

6. .Net 版商户接口函数
对象名称 com.gnete.Gnet com.gnete.Gnet eCrypt 方法/ 方法/属性 encryptMsg( )方法 decryptMsg( )方法 signMsg()方 ignMsg()方 法 verifyMsg() 方法 getCurrVer( getCurrVer( CurrVer )方法 控件版本 数字信封验证签名 数字信封签名 数字信封解密 功能 数字信封加密

6.1. 接口函数
6.1.1. encryptMsg()

public static bool encryptMsg( string toBeEncrypted, string certKey, out string result, out string errMsg )

功能:对字符串进行加密 功能:对字符串进行加密
版权所有:广州银联网络支付有限公司 25

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

参数: 参数: string string
toBeEncrypted certKey

对该字符串进行加密 加密证书公钥 Key 加密后的密文 错误信息

out string result out string errMsg 返回值: 返回值: bool 型

加密成功 成功, true 为加密成功,密文见 result 加密失败 失败, false 为加密失败,失败原因见 errMsg

版权所有:广州银联网络支付有限公司

26

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

6.1.2.

decryptMsg()

public static bool decryptMsg( string toBeDecrypted, string keyFile, string password, out string result, out string errMsg )

功能: 功能:对加密后的密文进行解密 参数: 参数: string string
toBeDecrypted keyFile

对该字符串进行加密 解密私钥证书路径 私钥证书密码 解密后的明 解密后的明文 后的 错误信息

string password out string result out string errMsg 返回值: 返回值: bool 型

解密成功 成功, true 为解密成功,密文见 result 解密失败 失败, false 为解密失败,失败原因见 errMsg

版权所有:广州银联网络支付有限公司

27

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

6.1.3.

signMsg()

public static bool signMsg( string toBeSigned, string keyFile, string password, out string result, out string errMsg )

功能: 功能:对字符串进行签名 参数: 参数: string toBeSigned string keyFile 需要进行签名的字符串

私钥文件路径 私钥文件路径

string password 私钥文件密码 out string result out string errMsg 返回值: 返回值: bool 型 签名成功 成功, true 为签名成功,签名数据见 result 签名失败 失败, false 为签名失败,失败原因见 errMsg 签名后的数据 错误信息

版权所有:广州银联网络支付有限公司

28

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

6.1.4.

verifyMsg()

public static bool verifyMsg( string toBeVerified, string plainText, string pubKey, out string errMsg )

功能: 功能:验证签名 参数: 参数: string toBeVerified 待验证签名的密文 string plainText string pubKey out string errMsg 返回值: 返回值: bool 型 验签成功 true 为验签成功 验签失败 失败, false 为验签失败,失败原因见 errMsg 待验证签名的明文 签名者公钥证书 Key 错误信息

版权所有:广州银联网络支付有限公司

29

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

6.1.5.
public bool GetResult( string strUrl, string MerId,

GetResult()

string UserId, string Pwd, string PaySuc, string ShoppingTime, string BeginTime, string EndTime, string OrderNo, out string Result, out string ErrMsg)

功能: 功能:从好易联支付网关下载符合条件的交易结果数据 参数: 参数: string strUrl: string MerId: 对帐接口地址

好易联商户 ID

string UserId: 好易联对账用户 ID 好易联对账用户密码 string Pwd: 好易联对账用户密码 交易结果类型(0 失败订单, 成功订单, (0string PaySuc: 交易结果类型(0-失败订单,1-成功订单,2全部订单) 全部订单) 交易日期( string ShoppingTime: 交易日期(查询 ShoppingTime 到现在 的交易结果数据,此域不为空时, 失效, 的交易结果数据,此域不为空时,BeginTime 及 EndTime 失效, 格式为:yyyy-mm格式为:yyyy-mm-dd hh:mm:ss) 开始时间( string BeginTime: 开始时间(查询 BeginTime 到 EndTime 的 交易结果数据,格式为:yyyy-mm-dd hh:mm:ss) 交易结果数据,格式为:yyyy-mmstring EndTime: 结束时间( 结束时间(查询 BeginTime 到 EndTime 的

交易结果数据,格式为:yyyy-mm交易结果数据,格式为:yyyy-mm-dd hh:mm:ss)
版权所有:广州银联网络支付有限公司 30

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

OrderNo: string OrderNo:

商户订单号(可以为空) 商户订单号(可以为空)

Result: out string Result: 返回结果 ErrMsg: out string ErrMsg: 错误信息 返回值: 返回值: boolean 型 为调用成功, true 为调用成功,订单数据见 Result 属性 为调用失败, false 为调用失败,失败原因见 ErrMsg 属性
6.1.6. getCurrVer()

功能: 功能:返回当前接口的版本 类型: 类型: string 型 getCurrVer()属性的返回值类似于: getCurrVer()属性的返回值类似于: 属性的返回值类似于
广州好易联支付网络有限公司支付网关商户接口 版本号:3.4 最后编译日期:2009-08-07

版权所有:广州银联网络支付有限公司

31

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

7. Java 版商户接口函数
对象名称 方法/ 方法/属性 功能 数字信封加密

com.EasyLin EncryptMsg( k.OpenVendo )方法 rV34. rV34.NetTra DecryptMsg( n )方法 SignMsg()方 SignMsg()方 法 VerifyMsg() VerifyMsg() Msg 方法 GetResult() 方法 LastResult 属性 LastErrMsg 属性

数字信封解密

数字信封签名

数字信封验证签名

获取订单数据

上次调用后的返回结果

上次调用后的出错信息

CurrVer 属性 控件版本

版权所有:广州银联网络支付有限公司

32

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

7.1. 接口函数
7.1.1. EncryptMsg()

public boolean EncryptMsg( final String TobeEncrypted, final String CertFile )

功能: 功能:对字符串进行加密 参数: 参数: String TobeEncrypted: 对字符串进行加密 String CertFile: 解密者公钥证书路径 返回值: 返回值: boolean 型 为调用成功, true 为调用成功,密文见 LastResult 属性 为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性

7.1.2.

DecryptMsg()

public boolean DecryptMsg( final String TobeDecrypted, final String KeyFile, 版权所有:广州银联网络支付有限公司 final String PassWord ) 33

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

功能: 功能:对加密后的密文进行解密 参数: 参数: String String TobeDecrypted: 需要解密的密文 KeyFile: String KeyFile:存放私钥的 PFX 文件的路径地址 PassWord: String PassWord:保护私钥的密码 返回值: 返回值: boolean 型 为调用成功, true 为调用成功,交易原始消息见 LastResult 属性 为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性

7.1.3.

SignMsg()

public boolean SignMsg( final String TobeSigned, final String KeyFile, final String PassWord )

版权所有:广州银联网络支付有限公司

34

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

功能: 功能:对字符串进行签名 参数: 参数: String TobeSigned: 需要进行签名的字符串
String KeyFile

文件的路径地址 : 存放私钥的 PFX 文件的路径地址

String

PassWord: PassWord:保护私钥的密码

返回值: 返回值: boolean 型 为调用成功, true 为调用成功,数字签名见 LastResult 属性 为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性
7.1.4. VerifyMsg()

public boolean VerifyMsg( final String TobeVerified, final String PlainText, final String CertFile )

功能: 功能:验证签名 参数: 参数:

版权所有:广州银联网络支付有限公司

35

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

String String String 返回值: 返回值:

TobeVerified: :

待验证签名的密文

PlainText

: 待验证签名的明文

CertFile

: 签名者公钥证书的路径地址

boolean 型 true 为调用成功 为调用失败 失败, false 为调用失败,失败原因见 LastErrMsg 属性

7.1.5.

GetResult()

public boolean GetResult( final String MerId, final String UserId, final String Pwd, final String PaySuc, final String ShoppingTime, final String BeginTime, final String EndTime final String OrderNo )

功能: 功能:从好易联支付网关下载符合条件的交易结果数据 参数: 参数:
版权所有:广州银联网络支付有限公司 36

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付) String

MerId: 好易联商户 ID 好易联对账 UserId: 好易联对账用户 ID 好易联对账 Pwd: 好易联对账用户密码 交易结果类型(0 失败订单, 成功订单, (0PaySuc: 交易结果类型(0-失败订单,1-成功订单,2-

String

String

String

全部订单) 全部订单)
String

交易日期( ShoppingTime: 交易日期(查询 ShoppingTime 到现在的交

易结果数据,此域不为空时,BeginTime 失效, 易结果数据,此域不为空时,BeginTime 及 EndTime 失效,格式 为: yyyy-mmyyyy-mm-dd hh:mm:ss)
String

开始时间( BeginTime: 开始时间(查询 BeginTime 到 EndTime 的交易

结果数据,格式为:yyyy-mm结果数据,格式为:yyyy-mm-dd hh:mm:ss)
String

结束时间( EndTime: 结束时间(查询 BeginTime 到 EndTime 的交易结

果数据,格式为:yyyy-mm果数据,格式为:yyyy-mm-dd hh:mm:ss) OrderNo: 商户订单号 可以为空) 订单号( String OrderNo: 商户订单号(可以为空)

对账接口 URL 在 jar 包里面的 OpenVendorV34.properties 文件 中配置,上生产时需要修改 配置,

返回值: 返回值: boolean 型 为调用成功, true 为调用成功,订单数据见 LastResult 属性

版权所有:广州银联网络支付有限公司

37

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性

7.1.6.

LastResult 属性

功能: EncryptMsg()、DecryptMsg()、 功能:返回上一次调用 EncryptMsg()、DecryptMsg()、 SignMsg()、 etResult()方法的输出值 SignMsg()、GetResult()方法的输出值 类型: 类型:
String 型

7.1.7.

LastErrMsg 属性

功能: 功能:返回上一次函数调用失败后的出错信息 类型: 类型: String 型

属性的返回值类似于: LastErrMsg 属性的返回值类似于:
Error Number:-10005 Error Description:ER_FIND_CERT_FAILED(找不到证书)

版权所有:广州银联网络支付有限公司

38

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

7.1.8.

CurrVer 属性

功能: 功能:返回当前接口的版本 类型: 类型: String 型

属性的返回值类似于: CurrVer 属性的返回值类似于:
广州好易联支付网络有限公司支付网关商户接口 版本号:3.4 最后编译日期:2004-09-09

7.1.9.

setTestServer (boolean isTestServer)

方法

功能:设置读取的配置文件(true:测试配置文件;false: 功能:设置读取的配置文件(true:测试配置文件;false:生 产配置文件) ,默认为 产配置文件) 默认为 true , 类型: 类型:
boolean 型

版权所有:广州银联网络支付有限公司

39

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

7.1.10. setConvertEncode(boolean isConvertEncode)方法 方法

功能: 编码(true: 功能:设置服务器返回结果是否转换为 UTF8 编码(true:转换 为 UTF8;false:不转换) 默认为 true UTF8;false:不转换) ,默认为 , 类型: 类型:
boolean 型

7.2. 关于 Java 加密扩展的出口限制(NJCE 版) 加密扩展的出口限制(
由于对 加密扩展的出口限制, 由于对 Java 加密扩展的出口限制,用户在调用商户接口时可能 parameters” 会出现“Unsupported keysize or algorithm parameters”的 出现“ 异常。针对这种情况,我们建议用户使用更高级别(或无限制) 异常。针对这种情况,我们建议用户使用更高级别(或无限制) 安全策略文件:local_policy.jar 和 US_export_policy.jar, 安全策略文件: US_export_policy.jar, 这两个文件在 jre\lib\ 目录下。这两个文件的无限制 这两个文件在 jre\lib\security 目录下。这两个文件的无限制 网站上下载, 或者在我司的 的版本可以从 SUN 网站上下载, 或者在我司的商户接口发布包中 可以找到。 可以找到。 如果用户由于某些原因无法对该安全策略文件进行替换, 我们提 如果用户由于某些原因无法对该安全策略文件进行替换, 我们提 供另一个程序包 crypt_bc.jar 来解决。具体步骤如下: 供另一个程序包 解决。具体步骤如下: 一个
7.2.1. 替换程序包 替换程序包 程序

lib\JDK1.4\crypt.jar 程序包为商户接口提供加解密和签名验签的功能, 但会受到 JVM 安 全策略文件的限制。 当由于 JVM 安全策略文件限制而发生“Unsupported keysize or algorithm parameters”异 常时,用 lib\NJCE\crypt_bc.jar 替换原 crypt.jar,同时用 lib\NJCE\gnete-bc-139.jar 替换
版权所有:广州银联网络支付有限公司 40

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

bcprov-jdk14-*.jar。

7.2.2.

生成 gpk 文件

使用 crypt_bc.jar 前,需要先生成 gpk 文件。 请确保当前 JRE 版本为 1.4 或以上,而且无对密钥长度的限制。假设以下所需文件都存 放在本地 D 驱动器根目录下: crypt_bc.jar Gnete-bc-139.jar MERCHANT.pfx crypt_bc.jar 发布包 Bouncy Castle 发布包 (为防止与其他版本的 BC 包产生冲突, 已修 改了包中的命名空间) 用户的 pfx 证书,假设密码为 12345678。

输入以下命令生成 gpk 文件: java –cp d:\crypt_bc.jar;d:\bcprov-jdk14-139.jar com.EasyLink.security.x509.GpkProducer d:\MERCHANT.pfx 12345678 d:\MERCHANT.gpk 12345678 第一个参数:pfx 证书文件的路径。 第二个参数:pfx 证书的保护密码。 第三个参数:生成 gpk 文件的路径。 第三个参数:gpk 文件的保护密码(用于加密 gpk 文件内容) 。 注:gpk 文件保存了加解密和签名验签需要用到的密钥信息,包括两部分信息:一部分 与公共密钥相关,不加密;而另一部涉及私人密钥信息,则使用用户提供的保护密码进行 3DES 加密,以确保用户信息的安全。

7.2.3.

调用商户接口 调用商户接口

用户调用商户接口时,需要将 DecryptMsg,SignMsg 方法的参数的内容做以下调整: 参数名 KeyFile PassWord 说明 原为 pfx 证书文件路径,现改为 gpk 文件路径。 原为 pfx 证书保护密码,现改为 gpk 文件保护密码。

版权所有:广州银联网络支付有限公司

41

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8 . P H P 版商 户 接口 函 数
对象名称 NetTran 方法/ 方法/属性 EncryptMsg( )方法 DecryptMsg( )方法 SignMsg()方 SignMsg()方 法 VerifyMsg() VerifyMsg() Msg 方法 GetResult() 方法 LastResult 属性 LastErrMsg 属性 CurrVer 属性 接口版本 上次调用后的出错信息 上次调用后的出错信息 上次调用后的返回结果 获取订单数据 数字信封验证签名 数字信封签名 数字信封解密 功能 数字信封加密

版权所有:广州银联网络支付有限公司

42

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8.1. 接口函数
8.1.1. EncryptMsg()

function EncryptMsg( String $TobeEncrypted, String $CertFile )

功能: 功能:对字符串进行加密 参数: 参数: String $TobeEncrypted: 对字符串进行加密
版权所有:广州银联网络支付有限公司 43

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

String $CertFile: 解密者公钥证书路径 返回值: 返回值: boolean 型 为调用成功, true 为调用成功,密文见 LastResult 属性 为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性

版权所有:广州银联网络支付有限公司

44

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8.1.2.

DecryptMsg()

function DecryptMsg( String $TobeDecrypted, String $KeyFile, String $PassWord )

功能: 功能:对加密后的密文进行解密 参数: 参数: String $TobeDecrypted: 需要解密的密文 KeyFile: String $KeyFile:存放私钥的 PEM 文件的路径地址 PassWord: String $PassWord:保护私钥的密码 返回值: 返回值: boolean 型 为调用成功, true 为调用成功,交易原始消息见 LastResult 属性 为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性

版权所有:广州银联网络支付有限公司

45

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8.1.3.

SignMsg()

function SignMsg( String $TobeSigned, String $KeyFile, String $PassWord )

功能: 功能:对字符串进行签名

版权所有:广州银联网络支付有限公司

46

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

参数: 参数: String $TobeSigned: 需要进行签名的字符串
String $KeyFile

: 存放私钥的 PEM 文件的路径地址

PassWord: String $PassWord:保护私钥的密码 返回值: 返回值: boolean 型 为调用成功, true 为调用成功,数字签名见 LastResult 属性 为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性

版权所有:广州银联网络支付有限公司

47

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8.1.4.

VerifyMsg()

function VerifyMsg( String $TobeVerified, String $PlainText, String $CertFile )

功能: 功能:验证签名 参数: 参数: String
$TobeVerified: :

待验证签名的密文

String $PlainText: 待验证签名的明文 String $CertFile: 签名者公钥证书的路径地址 返回值: 返回值: boolean 型 true 为调用成功 为调用失败, false 为调用失败,失败原因见 LastErrMsg 属性

版权所有:广州银联网络支付有限公司

48

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8.1.5.

GetResult()

function GetResult( String $MerId, String $UserId, String $Pwd, String $PaySuc, String $ShoppingTime, String $BeginTime, 版权所有:广州银联网络支付有限公司 String $EndTime String $OrderNo ) 49

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

功能: 功能:从好易联支付网关下载符合条件的交易结果数据 参数: 参数:
String $

MerId: 好易联商户 ID 好易联对账 UserId: 好易联对账用户 ID 好易联对账 Pwd: 好易联对账用户密码

String $

String $

String $

交易结果类型(0 失败订单, 成功订单, (0PaySuc: 交易结果类型(0-失败订单,1-成功订单,2-

全部订单) 全部订单)
String $

交易日期( ShoppingTime: 交易日期(查询 ShoppingTime 到现在的交

易结果数据,此域不为空时, 失效, 易结果数据,此域不为空时,BeginTime 及 EndTime 失效,格式 为: yyyy-mmyyyy-mm-dd hh:mm:ss)
String $

开始时间( BeginTime: 开始时间(查询 BeginTime 到 EndTime 的交易

结果数据,格式为:yyyy-mm结果数据,格式为:yyyy-mm-dd hh:mm:ss)
String $

结束时间( EndTime: 结束时间(查询 BeginTime 到 EndTime 的交易结

果数据,格式为:yyyy-mm果数据,格式为:yyyy-mm-dd hh:mm:ss)

版权所有:广州银联网络支付有限公司

50

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

OrderNo: 商户订单号(可以为空) String $OrderNo: 商户订单号(可以为空)

OpenVendor.ini 文件中配置 配置, 注:对账接口 URL 在 OpenVendor.ini 文件中配置,上生产时需 要修改 $configFile="D:\\myphp\\OpenVendor.ini"; 本方法中的语句: 方法中的语句: $configFile="D:\ myphp\ OpenVendor.ini 文件实际存放路径修改 要根据 OpenVendor.ini 文件实际存放路径修改

返回值: 返回值: boolean 型 为调用成功, true 为调用成功,订单数据见 LastResult 属性 为调用失败,失败原因见 false 为调用失败,失败原因见 LastErrMsg 属性

8.1.6.

LastResult 属性

功能: EncryptMsg()、DecryptMsg()、 功能:返回上一次调用 EncryptMsg()、DecryptMsg()、 SignMsg()、GetResult()方法的输出值 SignMsg()、GetResult()方法的输出值 类型: 类型:
String 型
版权所有:广州银联网络支付有限公司 51

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8.1.7.

LastErrMsg 属性

功能: 功能:返回上一次函数调用失败后的出错信息 类型: 类型: String String 型

属性的返回值类似于: LastErrMsg 属性的返回值类似于:
Error Number:-10005 Error Description:ER_FIND_CERT_FAILED(找不到证书)

8.1.8.

CurrVer 属性

功能: 功能:返回当前接口的版本 类型: 类型: String 型

属性的返回值类似于: CurrVer 属性的返回值类似于:
广州好易联支付网络有限公司支付网关商户接口 版本号:3.4 最后编译日期:2004-09-09

版权所有:广州银联网络支付有限公司

52

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

8.2. 密钥文件转换说明
文件, 后缀) 由于在 PHP 中只能读取 pem 文件, 因此需要将 PKCS12(pfx 后缀) 文件才可以被接口使用。 本程序包中提供 的私钥文件转换为 PEM 文件才可以被接口使用。 本程序包中提供 了转换工具 openssl.exe。 openssl.exe。 格式: 以下命令将 pfx 格式转成 pem 格式: test.pfx openssl pkcs12 –in test.pfx -out test.pem

版权所有:广州银联网络支付有限公司

53

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

9 . 错 误 代码
返回代码 -10000 -10001 -10002 -10003 -10004 -10005 -10006 -10007 -10008 -10009 -10010 含义 没有可用内存 接口函数缺少数据 缺少证书文件(文件不存在,参数的文件路径不合法) 获取加密结果失败 证书加载失败 证书解析错误 获取解密结果失败 获取匹配私钥失败 获取签名结果失败 签名数据过长 验签失败

附件

“银联在线支付”品牌标识布放规范

10. 业 务 名 称
对外宣传和介绍中国银联互联网支付业务时,统一使用: 中文名称:银联在线支付 英文名称:UnionPay Online Payment

11. 品 牌 标 识
业务品牌标识为:银联在线支付( 联在线支付”网关页面。
版权所有:广州银联网络支付有限公司 54

) 。主要用于“银

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

12. 标 识 布 放
品牌标识的应用必须严格遵循“银联在线支付品牌标识使用规范” 。 重点注意标识应用环境、颜色、字体、各元素比例等的规范性。

商户标识 标识布放 12.1. 商户标识布放
12.1.1. 布放要求

(1)商户端购物结算页面,在接入银联在线支付时,要求统一布 放“银联在线支付”标识 或“银联”三色受理标识 。

(2)商户端购物结算页面布放“银联在线支付”或“银联”标识的位 置,要求位置居前,在所有支付方式的第一位或单独一排布放。 (3)在商户端首页位置布放“ 商户”文字。 (4)要求在商户端支付方式列表(通常在首页页尾)以及“帮助 中心”等介绍商户支持的各类支付方式的栏目或位置,加入“银联在线 支付” 并力争位于所有支付方式第一行,信息要求完整准确,介绍内 , 容见附件。或者也可以使用“银联在线支付”文字作为超链,直接链接 至银联在线支付官网(https://online.unionpay.com) ,网站内有详细 的常见问题解答。 ”标识或“银联特约

版权所有:广州银联网络支付有限公司

55

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

12.1.2. 布放示意图 根据商户端购物结算页面的不同,提供以下三种银联在线支付标 识布放示意图: 方式一:支付方式平铺于页面,银联在线支付标识位于支付方式 方式一 第一部分的第一位置,如下

方式二:支付方式采用 tab 方式提供,银联在线支付标识提供单 方式二 独 tab,如下

版权所有:广州银联网络支付有限公司

56

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

方式三:支付方式采用 tab 方式提供,银联在线支付标识包含在 方式三 tab 页内,如下

收单银行标识 标识布放 12.2. 收单银行标识布放
12.2.1. 布放要求

(1) 收单银行所发展的商户需按 3.1 节要求布放银联在线支付标
版权所有:广州银联网络支付有限公司 57

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

识。 (2)在商户支付业务页面(收银台处)必须展现银联在线支付标 识,不能仅展现银行网关标识。 (3)一个商户仅允许出现一个银联在线支付的标识,即哪家收单 机构先行在商户摆放了银联在线支付标识, 则其他收单机构不得再在 同一商户重复摆放银联在线支付标识。 (4)在满足第(1)点的前提下,允许收单银行在该商户上的本 行网关内增加银联在线支付的跳转链接1,供持卡人进行他行卡支付, 具体页面设计需经互联网业务部审核。 12.2.2. 布放示意图 商户端布放要求参见 3.1.2 节,在银行收单平台内提供以下两种 银联在线支付标识布放示意图: 方式一:支付方式采用 tab 方式提供,银联在线支付标识提供单 方式一 独 tab,如下

版权所有:广州银联网络支付有限公司

58

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

方式二:支付方式平铺于页面,银联在线支付标识位于支付方式 方式二 第一位置,如下

第三方机构标识 标识布放 12.3. 第三方机构标识布放
12.3.1. 布放要求 (1)对于由第三方机构做收单的独立电子商务企业,商户端按 3.1 节要求布放银联在线支付标识,第三方同时遵循 3.2.1 节的有关 规定, 但在第三方机构支付网关内不允许包含银联在线支付 logo, 如 该网关内提供银联网银通道可摆放“银联”三色受理标识
版权所有:广州银联网络支付有限公司


59

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

(2)对于商户为第三方机构自身(自有网站提供支付服务)或商 户与其属于同一集团公司的情况时: 1、如为用户提供支付网关选择(即此类商户除支持第三方支 付网关外,还支持其他支付网关) ,则按第(1)条规则布放银联 在线支付标识。 2、如不支持用户选择支付网关,则在现阶段下,暂时按照在 第三方的支付网关内包含银联在线支付标识的方式展示。 12.3.2. 布放示意图 商户端布放要求参见 3.1.2 节,在第三方支付网关内提供以下两 种银联在线支付标识布放示意图: 方式一 方式一:支付方式采用 tab 方式提供,银联在线支付标识提供单 独 tab,如下

方式二 方式二:支付方式平铺于页面,银联在线支付标识位于支付方式 第一位置,如下
版权所有:广州银联网络支付有限公司 60

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

13. 品 牌 标 识 布 放 的 整 改 措 施
1.新上线商户的品牌标识整改 根据商户提交的上线申请材料, 初审品牌标识布放是否符合规范, 符合规范的方予正式上线。否则,提交“银联在线支付”品牌标识布放 整改通知单,由外联合作部协调收单机构督促商户完成标识布放整 改,整改后符合规范的准予正式上线。 2.已上线商户的品牌标识整改 (1)根据定期和不定期商户品牌标识布放规范的检查结果,对于 标识布放不符合规范的,提交“银联在线支付”品牌标识布放整改通知 单,由外联合作部协调收单机构督促商户完成标识布放限期整改。整 改限期最长不超过 20 个工作日。

版权所有:广州银联网络支付有限公司

61

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

(2)针对限期内未完成整改的,收单机构可且仅可提交一次延期 整改申请,延期时间最长不超过 10 个工作日。 (3)针对限期内未完成整改,且未提交延期申请的,或延期到期 后认为完成整改的,银联可对收单机构及其收单商户采取延期清算、 关停交易等措施。 3.品牌标识布放合规鼓励 (1)品牌标识布放合规商户,获得加入“银联在线支付”官网特约 商户栏目广告位资格。 (2)品牌标识布放合规商户, 获得针对收单机构发展商户奖励的 资格。 (3)品牌标识布放合规商户,获得申请银联联合营销支持资格。 银联根据商户具体情况, 可考虑联合收单机构和商户开展联合营销活 动。

14. 附 件
“银联在线支付”业务介绍(较长文字版) 银联在线支付”业务介绍(较长文字版)
“银联在线支付”是中国银联联合商业银行共同推出的集成化、综合性、开放性网上支 付平台,全面支持各类型银联卡,涵盖认证支付、快捷支付、普通支付和网银支付等多种支 付方式,可为银联卡持卡人的购物缴费、商旅预定、慈善捐款、转账还款等提供“安全、快 捷、多选择、全球化”的支付服务。 “银联在线支付”具有方便快捷、安全可靠、全球通用、综合性商户服务和无门槛网上 支付等显著特点。基于特殊的“无卡通道” 用户使用银联认证支付、快捷支付和普通支付时, ,
版权所有:广州银联网络支付有限公司 62

广州银联网络支付有限公司支付网关商户接口标准(银联在线支付)

无需使用网银,只要在银联网站输入必要的认证信息就能快速付款,完成交易。 认证支付:该支付方式是中国银联为方便持卡人进行网上支付而设计的增加验证要素 的支付服务。目前支持手机验证,即持卡人无需开通网银,在银联在线支付的支付页面输入 银行卡信息(即卡号、密码、CVN2 等)和手机号码,由发卡银行验证信息并完成支付交易。 快捷支付:在认证支付的基础上,银联支持持卡人在银联在线支付的网站完成用户注 册并关联银行卡后,通过注册用户信息替代银行卡信息进行支付。 普通支付:在认证支付的基础上,普通支付可以免除手机短信验证。在银联在线支付 的支付页面输入银行卡信息(即卡号、密码、CVN2 等) ,通过发卡银行验证和授权后,即 可完成小额支付交易。 储值卡支付:指持卡人在银联在线支付的支付页面输入储值卡(如中银通卡)卡号、 密码完成支付交易的支付方式。 网银支付:在支付过程中,通过银联在线支付系统转接,在银行网银页面按网银要求 输入支付信息并完成支付。选择该支付方式前,必须已经是银行的网银用户。

银联在线支付方式对应介绍文字(较短文字版) 商户支付页面 银联在线支付方式对应介绍文字(较短文字版)
“银联在线支付”是中国银联联合商业银行共同推出的集成化、综合性、开放性网上支 付平台,全面支持各类型银联卡,涵盖认证支付、快捷支付、普通支付和网银支付等多种支 付方式,其中认证、快捷和普通支付无需开通网银,即可为银联卡持卡人的购物缴费、商旅 预订、慈善捐款、转账还款等提供“安全、快捷、多选择、全球化”的支付服务。

版权所有:广州银联网络支付有限公司

63


相关文章:
开放商户支付接口V34(银联在线支付)
广州银联网络支付有限公司 支付网关商户接口标准(银 联在线支付)文档属性 文档名称: 项目名称: 版本号: 撰写者: 复核者: 负责者: 审批者: 3.4 技术管理部 ...
银联在线支付接口
银联在线支付接口_信息与通信_工程科技_专业资料。NetPayClient 用户手册(Version...开放商户支付接口V34(银... 63页 1下载券 银联在线支付商户推介 30页 免费...
银联在线支付商户支付接入用户手册Ver2.5.20
银联在线支付商户支付接入用户手册Ver2.5.20_互联网_IT/计算机_专业资料。银联在线...开放商户支付接口V34(银... 63页 1下载券 银联在线支付商户推介 30页 免费 ...
银联商户支付接入用户手册
NetPayClient 用户手册(Version: 2.5.3) 上海银联...是帮助 ChinaPay 商户会员使用我们提供的支付服务接口...只对开放查询交易的商户指定的 IP 地址访问的请求响应...
UnionPay 中国银联在线支付 开发文档
3 1 文档说明参与方描述: 商户 指加入银联网络,与银联签订《银联卡无卡支付...4 1.4 技术服务在开发或使用银联在线支付接口时,产生疑问或出现问题: 银联客服...
银联在线支付商户信息注册指引 4.1
银联在线支付商户信息注册指引 4.1_金融/投资_经管营销_专业资料。银联在线支付...开放商户支付接口V34(银... 63页 1下载券 中国银联在线支付业务商... 28...
银联在线支付商户申请表
银联在线支付商户申请表 V1.0.3 银联在线支付商户...商户直接接入方式,由商户开发接口直接和银联在线 支付...支付业务类型(注 4) : □实时支付类(含认证支付...
UnionPay 中国银联在线支付 开发文档.(new)
1.4 技术服务在开发或使用银联在线支付接口时,产生疑问或出现问题: 银联客服热线...注意: 1:以上步骤第3步与第4步之间的操作是异步的。 2:商户应该以后台通知...
银联在线支付商户申请表
银联在线支付商户申请表 V1.0.3 银联在线支付商户...商户直接接入方式,由商户开发接口直接和银联在线 支付...支付业务类型(注 4) : □实时支付类(含认证支付...
网银在线支付B2C系统商户接口文档v4.1
有限公司 3 / 16 网银在线 B2C 系统商户接口文档 ...支付流程演示网银在线(北京)科技有限公司 4 / 16 ...广银联签名验证错误 服务拒绝,深发展签名验证错误 ...
更多相关标签:
银联支付商户私钥证书 | 银联在线商户支付费率 | 银联在线支付商户申请 | 银联支付商户申请 | 商户开通银联在线支付 | 银联在线支付支持商户 | 银联支付 返回商户 | 银联商户开放平台 |