工商银行的在线支付问题,如何调用C语言,请求帮忙 !(先给50分,问题解决后再送)

linuxdotnet 2005-04-15 10:00:31
RT
我现在要在PHP页面中实现在线支付的问题,工商银行也给过了我一些所谓的文档和接口,但只有JAVA,C,C++的API,实例也只有ASP,JAVA,C++的,就是没有PHP的,『听说可以调用C实现』小弟现在急用呀,拜托那位兄弟早点告诉我呀……
...全文
868 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gujie 2005-04-19
  • 打赏
  • 举报
回复
有ASP的还不好办么?
linuxdotnet 2005-04-19
  • 打赏
  • 举报
回复
还没帖完呢
zairwolf 2005-04-18
  • 打赏
  • 举报
回复
同意。让别人帮忙,这个东西太大了。文档都这么长呵呵。
linuxdotnet 2005-04-18
  • 打赏
  • 举报
回复
文档偶看的一点"懂".用ASP的话,我也可以实现,我是初学PHP的^
Meteorlet 2005-04-18
  • 打赏
  • 举报
回复
文档不好好看,就知道要现成的,还不如包给别人做算了
linuxdotnet 2005-04-18
  • 打赏
  • 举报
回复
修改密码和帐户余额查询、帐户今日明细查询、帐户历史明细和参数配置等功能。商户使用商户证书以及该证书的保护密码完成登录商户服务网站。登录后,默认会自动显示该商户当天的所有交易明细。
4.4.2 退货服务
客户必须在商户网站提出退货请求。如果商户同意退货,则商户登录商户服务网页,输入退货信息(订单号,交易流水号,订单金额,授权号)提交,工行检查商户输入的订单的有效性后,发起退货。
不管新旧系统客户完成的交易,商户都可以直接查询交易明细中的该笔交易,选择右边的退货功能直接退货。

Ø 输入:订单号、交易流水号、退货金额,授权号。
Ø 输出:退货交易流水号或失败信息。

4.4.3 定义每页显示交易笔数
每页显示最大笔数:该参数用以控制页面中,当有许多条信息时,该页面每屏最多显示的数目。
Ø 输入:每页显示最大笔数
Ø 输出:交易成功失败信息
4.4.4 SS通知接口模式的商户IP地址修改
商户可以通过该参数配置SS通知接口模式中商户接收工行支付结果信息的服务器IP地址。端口号地址为7777不能更改。
商户输入原IP、新的IP提交后,交易平台核对输入的旧的IP与数据库中的一致后进行交易。
Ø 输入:原IP、新的IP
Ø 输出:交易成功失败信息
4.4.5 支付交易明细查询/下载
通过支付交易查询/下载功能,可以得到一段时间的支付订单明细,并可以把查询结果保存成文件。

Ø 输入:起始时间、截至时间、指令状态(支付成功已清算、支付成功未清算、支付失败、可疑交易)。
Ø 输出:订单号,交易流水号,授权号(客户开户行为老系统),订单金额,交易时间,交易状态、备注、退货状态、退货金额

下载文件格式

4.4.6 支付交易明细查询
通过该功能,商户可以查询一笔订单的支付明细。

Ø 输入:支付交易流水号。
Ø 输出:订单号,交易流水号,授权号,订单金额,支付状态标志、交易时间,备注、退货状态、退货金额
4.4.7 退货交易查询/下载
通过退货交易查询/下载功能,可以得到一段时间的退货订单明细,并可以把查询结果保存成文件。

Ø 输入:起始时间、截至时间、指令状态(退货成功已清算、退货成功未清算、退货失败、可疑交易)。
Ø 输出:订单号、订单金额、退货金额、退货日期、退货类别、退货状态、备注、支付流水号、支付授权号、退货流水号

下载文件格式



4.4.8 退货交易明细查询
通过该功能,可以查询一个订单的详细退货明细。

Ø 输入:支付交易流水号。
Ø 输出:订单号、支付流水号、支付授权号、订单金额、退货流水号、退货金额、退货日期、退货类别、交易状态、备注


4.4.9 商户帐户余额查询
查询商户用来与工行清算的对公往来户的余额。

Ø 输入:无。
Ø 输出:币种,钞汇标志,查询类型,余额,可用余额
4.4.10 商户帐户当日明细查询/下载
查询商户用来与工行清算的对公往来户的当日明细。
Ø 输入:无。
Ø 输出:币种,查询时间,借贷标志,发生额,发生时间,业务种类

下载文件格式



4.4.11 商户帐户历史明细查询/下载
查询商户用来与工行清算的对公往来户的历史明细。
Ø 输入:起始日期,截至日期,最小金额,最大金额。
Ø 输出:币种,帐号,本方行名,交易日期,凭证号,借/贷, 借方发生额, 贷方发生额, 摘要, 业务种类,对方户名

下载文件格式
4.4.12 商户签退
商户点击签退按钮,发起签退交易。

Ø 输入:无。
Ø 输出:签退结果信息

5. 商户端系统环境要求
5.1. 软件环境
工行提供的API目前包括Windows,Solaris7,Solaris8,Linux,AIX,HPUX平台上C和JAVA的版本,并将在今后提供更多平台的API供商户选用。
由于工行提供的JAVA API底层调用了C语言的API,因此不是纯的JAVA,不能跨平台使用,但不影响商户开发,请商户选用合适自己平台的JAVA API。
5.2. 网络环境
与工行的接口服务器能够接入互联网,如果使用SS通知接口模式,应双向打开服务器前防火墙的7777端口。如果使用HS通知接口模式,应打开http协议使用的端口。
6. 商户开发
6.1. 开发前的准备工作
工行向商户提供的资源

商户所在地分行电子办应在工行的测试环境上为商户开户,将开户后产生的商户代码、以商户代码作为证书ID的商户证书、对应的商户密码和证书密码信封交给商户。工行还应提供测试用的工行证书和本接口包。测试用的证书和密码不能用在生产环境上。工行生产环境的商户代码可能与测试环境不一致。具体的测试数据见本文测试数据章节。

6.2. 商户开发工作列表
6.2.1 工行老商户的开发工作
工行老商户指已经使用工行旧接口(即本文所指的SS通知接口)完成开发,已经或尚未投入生产的商户。
旧商户应保持现有接口不做任何改动以维持生产,同时尽快或在商户认为合适的时候升级到工行HS新接口或者AG新接口。
工行取消了原有上传对帐单的步骤,也无需商户再与工行对帐和对工行清算结果的勾兑,因此商户可以取消以上的业务步骤。
6.2.2 工行新商户的开发工作
工行新商户指已与工行签约,但尚未开始开发的商户。

l 使用工行提供的API(对交易数据签名)开发引导客户到工行付款的页面以及页面上的支付表单(所有商户必须开发)。
l 如果商户选择使用SS或者HS通知接口模式,则必须开发接收工行发送的交易结果信息的程序,其中需要使用工行提供的API验证工行发送的交易结果信息。
如果商户还需要实时发货的功能,需要开发生成提货页面的程序。
l 如果商户选择使用AG通知接口模式,则可以直接登录商户服务网站实现各种功能,无需二次开发。
6.3. 通知接口模式详述
工行共提供商户三种不同模式的接口,用来向商户传递交易的结果信息,商户可以根据自己的情况自由选用。
linuxdotnet 2005-04-18
  • 打赏
  • 举报
回复
3. B2C子系统总体方案介绍
3.1. 系统网络图

3.2. 网上支付数据流程图

3.3. 工作流程
1. 客户选择商品完毕,商户产生一个支付订单,订单的生成包括如下订单数据的产生:
l 商城代码
l 商户接收工行交易结果信息的URL
l 接口类型
l 订单号
l 订单金额
l 币种
l 签名信息
l 商城证书
l 商户接收通知信息的类型(0-成功和失败信息,1-仅仅是成功信息)
l 备注字段1(可选)
l 备注字段2(可选)
2. 客户点击支付按钮,将上述表单发送给工行。
3. 工商银行网上银行对请求数据“商城证书”、“签名信息”进行base64解码
4. 用商户证书验证订单数据签名的有效性
5. 客户输入支付卡号和支付密码
6. 工行网上支付服务器向后台业务处理系统提交订单支付请求
7. 订单支付成功,根据商城通知接口模式的选择处理商户通知信息,如果接口模式为HS接口模式(参见下面8-13):
8. 用工行自己的私钥签名订单信息和支付成功信息,并把产生的签名信息进行base64编码
9. 把订单信息、订单支付结果信息和签名数据组成通知信息
10. 给商城发送支付结果信息
11. 商户对接收到的签名信息进行base64解码,并用工行的证书校验签名
12. 校验成功,向http request返回一个获取客户所购商品信息的URL(如果非信息化商品可以为空)
13. 商户根据自己的需要处理通知信息
14. 如果接口模式为SS接口模式(见15-20)
15. 用工行自己的私钥签名订单信息和支付成功信息,并使用工行私钥进行数据加密
16. 把加密后的订单信息、订单支付成功信息和签名数据组成通知信息
17. 通过7777端口使用Socket连接向商户预先定义的IP地址发送支付成功信息
18. 商户使用工行证书对接收到的信息进行验签名和解密得到原文
19. 向工行发送接收到信息的回应
20. 商户根据自己的需要处理通知信息
21. 如果接口模式为AG接口模式(见22)
22. 工行不向商户发送任何信息


3.4. 客户网上支付流程描述
工行新系统客户能够使用本人的牡丹信用卡(包括个人卡和属于本人的单位卡)或者牡丹灵通卡或者贷记卡完成网上支付。工行老系统客户只能使用本人牡丹信用卡(包括个人卡和属于本人的单位卡)完成网上支付。客户在商户的网站上挑选商品,然后进入结帐页面,商户应将具体的订单信息显示给客户,并引导客户到工行付款。商户需要在向工行递交订单的页面上包括以下信息:订单号,订单总金额,币种,商户代码,商户接收工行支付结果信息的URL,订单签名信息,商城证书,接口类型,发送信息类型,备注字段1,备注字段2。以上具体定义请详见订单支付表单详细描述。
工行网上支付服务器接收到客户从商户端递交的订单支付请求,将订单号,商户名称,订单总金额等交易信息显示给客户,由客户确认。客户确认订单信息后,在工行页面上输入自己任意一个在网上银行注册的卡号和支付密码,其中老系统客户只能使用牡丹信用卡,新系统客户可以使用牡丹信用卡、牡丹灵通卡或者贷记卡。工行接收到客户的支付请求后,根据客户所在地为新系统地区或者老系统地区,完成不同的业务逻辑,并将交易结果通过页面返回给客户。
如果该笔订单为信息化商品(如IP电话卡),工行还会引导客户至商户的取货页面提取商品。
3.5. 与商户间的交易数据交换
在客户完成网上支付过程后,工行将根据订单支付表单中的接口定义字段的取值,使用不同的工行处理模式处理支付结果信息。如果商户选用SS通知接口模式,则工行网上支付服务器使用在《B2C商户接口V1.1》中定义的旧接口,通过Socket方式向商户监听程序发送交易结果信息。如果商户选用HS通知接口模式,则工行网上支付服务器使用本文档中定义的处理模式,通过http协议将交易结果信息发送给订单支付表单中定义的接收工行支付结果信息的程序URL。如果商户选用AG通知接口模式,则工行不主动将交易结果发送给商户,商户可以直接使用商户证书、证书密码登录工行提供给商户的商户服务网站查看交易状态。具体通知接口模式定义见后续详细介绍。
3.6. 安全控制介绍
F 工行网上银行系统功能上的安全控制

ü 工行网上银行将客户的网上银行登录密码与支付密码分开,保证客户的帐户安全

F 商户向工行提交订单支付表单时的安全控制

ü 商户向工行提交客户的支付表单时,必须使用工行提供的API和工行发给商户的商户证书对支付表单中的各项数据进行数字签名,保证了客户订单数据以及商户信息不被恶意篡改。

ü 工行接收到商户提交过来的支付请求后,验证商户的数字签名,同时取出商户证书中的ID,核对该ID是否与商户代码相同,防止了假冒商户的行为。

F 客户在工行网页上发起支付请求的安全控制

ü 客户从商户网站上向工行提交支付表单,并在工行网站上输入本人的支付卡号和支付密码,该卡号和密码向工行服务器提交时,采用了128位的SSL安全加密(客户的浏览器要支持128位安全加密,工行网站上提供升级下载链接),客户的卡号和密码不为商户所知,保证了客户的帐户信息安全

ü 工行支付服务器安装了向VerySign公司申请的服务器证书,增加了客户对工行网站的信任感,浏览器也不会出现“该网站为可疑站点”的提示

F 工行向商户发送支付结果信息时的安全控制

ü 工行对向商户发送的支付结果信息全部采用工行私钥进行数字签名,商户接收后验证该数字签名的可信性,保证工行向商户发送的支付结果信息的不可篡改,也保证了支付结果信息一定是工行服务器发送的。

F 商户登录商户服务网站的安全控制

ü 商户必须使用商户证书以及商户的证书密码登录服务网站,实现了工行对商户的可认证性,也保证商户在密码泄漏的情况下,他人无法假冒商户登录工行网站。实现了与工行服务器之间的128位加密传输,商户所有与工行之间的数据全部被加密传输。


4. B2C子系统功能介绍
4.1. B2C子系统总体说明
由上图可以看出,工行网上银行B2C子系统主要提供以下功能:
l 网上支付
l 交易结果信息通知商户
l 商户登录
l 支付交易查询/下载
l 支付交易明细查询
l 商户退货
l 退货交易查询/下载
l 查询退货交易明细
l 查询商户对公往来户余额
l 查询商户对公往来户当日明细
l 查询商户对公往来户历史明细
l 交易成功信息通知IP地址修改(SS通知接口模式使用)
l 定义每页显示交易笔数
l 商户签退


4.2. 网上支付功能
客户在商户网站购物完毕,商户网站给客户生成一个订单(有一个唯一的订单号),如果客户选择工商银行支付,客户从商户网站提交订单至工行网上支付服务器;客户在工商银行网上支付服务器的支付页面输入自己的支付卡号和支付密码,完成订单支付。工行会将交易结果通过网页通知客户,通过商户接口通知商户,如果该笔订单为信息化商品,工行还将引导客户至商户网站上取货。
4.3. 通知商户交易结果
工行会根据商户提交的支付表单中通知接口模式字段的取值,使用不同的通知接口模式向商户传递一笔支付交易的结果信息。具体的通知接口模式定义详见后文商户接口描述。
4.4. 商户服务网站功能介绍
具体操作详见《中国工商银行B2C特约商户操作手册》文档。
4.4.1 商户登录
商户要登录个人网上银行商户服务网页才能进行退货、查询/下载交易明细、查询/下载退货交易明细、

linuxdotnet 2005-04-18
  • 打赏
  • 举报
回复
中国工商银行网上银行

B2C子系统商户接口规范









中国工商银行电子银行办公室
中国工商银行软件开发中心
最后更新 2003年01月06日

目 录

1. 概述 1
2. 名词定义 2
3. B2C子系统总体方案介绍 4
3.1. 系统网络图 4
3.2. 网上支付数据流程图 5
3.3. 工作流程 5
3.4. 客户网上支付流程描述 6
3.5. 与商户间的交易数据交换 7
3.6. 安全控制介绍 7
4. B2C子系统功能介绍 8
4.1. B2C子系统总体说明 8
4.2. 网上支付功能 10
4.3. 通知商户交易结果 10
4.4. 商户服务网站功能介绍 10
4.4.1 商户登录 10
4.4.2 退货服务 10
4.4.3 定义每页显示交易笔数 11
4.4.4 SS通知接口模式的商户IP地址修改 11
4.4.5 支付交易明细查询/下载 11
4.4.6 支付交易明细查询 12
4.4.7 退货交易查询/下载 12
4.4.8 退货交易明细查询 12
4.4.9 商户帐户余额查询 13
4.4.10 商户帐户当日明细查询/下载 13
4.4.11 商户帐户历史明细查询/下载 13
4.4.12 商户签退 14
5. 商户端系统环境要求 14
5.1. 软件环境 14
5.2. 网络环境 14
6. 商户开发 14
6.1. 开发前的准备工作 14
6.2. 商户开发工作列表 14
6.2.1 工行老商户的开发工作 15
6.2.2 工行新商户的开发工作 15
6.3. 接口包目录结构说明 15
6.4. 通知接口模式详述 17
6.5. 商户开发步骤和详细说明 20
6.6.1 订单支付表单的开发 20
6.6.2 SS通知接口模式的开发 24
API 25
示例程序 25
6.6.3 HS通知接口模式的开发 27
6.6. MAGS V1.0使用介绍 30
7. 商户测试和投入生产 30
7.1. 测试前提 30
7.2. 测试要点 30
7.3. 测试用数据 30
8. 帐务清算 31
8.1. 正常结算 31
8.2. 退货处理 31
8.3. 可疑交易的处理 32
9. FAQ 32

1. 概述
工商银行个人网上银行2000年7月开通。目前已经为工行的注册客户提供了帐户查询,外汇买卖,银证通,银证转帐,异地个人汇款,代缴学费,电子邮件发送信用卡对帐单、催透通知,网上支付等功能。相对于V2.0版本,在新版本中,极大的扩展了B2C子系统的功能和应用范围,同时使工行的网上银行客户和商户得到更好更多的服务,形成工行,商户,客户形成三赢的局面。
相对于以前的B2C子系统,在B2C子系统新版本中主要的功能特点和扩展有:
F 支持新系统地区的灵通卡客户的网上支付
F 将商户的清算帐户由牡丹单位卡改为对公往来户,并且通过商户服务网站提供对公往来户的帐户余额,明细查询功能
F 商户登录服务网站改用商户证书和证书密码,而非商户代码和商户密码,增加了安全性
F 商户提交给工行的订单支付表单使用商户证书完成数字签名,防止交易数据被篡改
F 商户提交支付表单时,工行验证商户证书ID和商户代码是否一致,防止了假冒商户的行为
F 提供SS,HS,AG三种通知接口模式,供商户根据自己的实际情况选用,方便了商户开发。
F 工行通过HS接口向商户提供每笔订单的每次支付结果,而不再仅仅是成功信息,供商户跟踪客户的支付结果,完成对客户支付行为的分析。商户可以自由选择只发送成功信息或者成功失败信息都发送。
F 支持使用HS通知接口模式的商户出售信息化商品后,向客户提供的实时提货功能
F 不再需要商户与银行对帐,支付记录以银行主机记录为准,简化了商户的开发和每日清算的步骤
F 不再支持订单当日部分退货
F 工行支付服务器采用负载平衡技术和新的交易平台,提高了系统的可用性和稳定性
F 其他特点


2. 名词定义
1. 商户证书
通过工行的商户管理系统给商户开户时,通过商户证书管理系统给商户发的以商户代码为证书ID的商户证书。工行通过该证书唯一认证商户。商户证书的文件名为user.crt,商户可以随意更改该文件名,但需与程序中调用的文件名一致。
2. 商户私钥
通过工行的商户管理系统给商户开户时,与商户证书同时发出的包含商户私钥的文件。私钥只为商户所有,所有使用商户私钥进行签名的数据工行认为是可信的。商户私钥的文件名为user.key,商户可以随意更改该文件名,但需与程序中调用的文件名一致。
3. 证书密码
证书密码是商户在工行开户时,由工行的商户证书管理系统生成的,与商户证书一一对应的密码。该密码供商户使用Sagent客户端软件登录工行商户服务网站时使用,同时商户使用自己的商户证书对交易信息进行签名时,需要使用该证书密码才能读取商户证书和私钥。该密码需要使用Sagent软件进行密码修改。下文中所指的私钥保护口令也是指证书密码。
4. 商户密码
商户密码是在商户到工行开户时,由工行的商户管理系统生成的,与商户代码一一对应的密码。该密码目前为工行保留,在此版本的网上银行系统中不使用,但请商户能够妥善保管。
5. 牡丹信用卡
工行信用卡部发行的能够透支的准贷记卡种。
6. 牡丹灵通卡
工行零售业务部发行的,与工行活期存折一一对应的,不能够透支的借记卡种。
7. 贷记卡
工行发行的具有免息还款期的信用卡。
8. 客户网上支付密码
客户在开通网上银行后,专门用来进行网上支付使用的密码。区别于客户的登录密码。
9. 网上支付服务器VeriSign证书
工行向美国VerySign公司申请的,用来认证工行网上支付服务器的证书。该证书能够使用内置于Internet Explore浏览器中的VerySign公司的根证书进行认证,无需客户安装工行服务器证书。
10. 商户证书(PFX格式)
商户登录商户服务网站,需要使用本商户的商户证书登录,需要把PXF格式的商户证书注册到商户登录网上银行的IE浏览器中。
11. 工商银行新系统地区
已经安装了工商银行总行开发的新一代综合业务处理系统的分行。新系统在此特指安装了新一代综合业务处理系统的个人业务子系统。目前已经成为新系统地区的主要有北京,上海,深圳等全国主要大城市。
12. 工商银行老系统地区
尚未安装工商银行总行开发的新一代综合业务处理系统的分行。使用工行老系统的分行将在2002年全部升级为使用新系统的分行。老系统地区区别于新系统地区。
13. 工行客户类别定义
工行个人客户按照地域划分,分为两类:新系统客户和老系统客户。新系统客户指客户所在地为新系统地区的客户,老系统客户指客户所在地为老系统地区的客户。工行网上银行系统根据客户所处新、老系统地区的不同,向客户提供不同功能的服务。
14. 通知接口模式
由商户在提交客户的订单数据时,在订单支付表单中定义的,借助该订单传递给工行支付服务器的,希望工行通知商户支付结果信息的方式。包括SS,HS,AG三种,在后续文档中有详细描述。
15. 旧接口
工行在《B2C商户接口V1.1》文档中描述的,使用Socket方式发送交易成功信息通知的接口。在本文中也有相同的描述。旧接口的通知接口模式定义为SS。
16. 新接口
工行在本文中描述的通过http方式或由商户主动到工行取交易信息的接口方式。新接口的通知接口模式定义为HS和AG。
17. 信息化商品
指没有商品实物,商户可以通过显示页面直接将商品信息告知客户的商品。比如IP电话卡(卡号和卡密码),网上教育类(用户名和密码)等。
18. 订单支付表单
由商户在客户选购完商品后产生的,包含客户当前订单信息和商户信息的html表单(Form)。
QSmile 2005-04-18
  • 打赏
  • 举报
回复
文档公开一下吧
uuq 2005-04-15
  • 打赏
  • 举报
回复
同意,asp可以php也应该可以的
QSmile 2005-04-15
  • 打赏
  • 举报
回复
把你的文档给我看看。用 ASP 可以的。 PHP 绝对可以。大不了就是用socket 。
没文档我也不清楚。

我的 QQ:8564093
linuxdotnet 2005-04-15
  • 打赏
  • 举报
回复
up
linuxdotnet 2005-04-15
  • 打赏
  • 举报
回复
up
mrshelly 2005-04-15
  • 打赏
  • 举报
回复
文档看看。我帮你搞定。呵呵~~~~~~~~~
adLockReadonly 2005-04-15
  • 打赏
  • 举报
回复
看看文档
zairwolf 2005-04-15
  • 打赏
  • 举报
回复
asp漏洞还多,还用它不用php呢。。
大不了用exec调用呵呵。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧