版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.招商银行网上支付商户手册:.; PAGE 29招商银行网上支付商户手册修订日期:2005年8月1日目录 TOC o 1-3 h z HYPERLINK l _Toc110673354 手册阐明 PAGEREF _Toc110673354 h 2 HYPERLINK l _Toc110673355 1本手册的读者范围 PAGEREF _Toc110673355 h 2 HYPERLINK l _Toc110673356 2前提条件和相关信息 PAGEREF _Toc110673356 h 2 HYPERLINK l _Toc110673357 3相对以前版本的更新 PAGEREF _Toc11
2、0673357 h 2 HYPERLINK l _Toc110673358 一招商银行网上支付简介 PAGEREF _Toc110673358 h 2 HYPERLINK l _Toc110673359 1什么是招商银行网上支付 PAGEREF _Toc110673359 h 2 HYPERLINK l _Toc110673360 2如何成为招商银行网上支付特约商户 PAGEREF _Toc110673360 h 2 HYPERLINK l _Toc110673361 3如何运用招商银行网上支付系统 PAGEREF _Toc110673361 h 3 HYPERLINK l _Toc11067
3、3362 4参与招商银行网上支付,对商户电脑系统有什么要求 PAGEREF _Toc110673362 h 3 HYPERLINK l _Toc110673363 5如何与招商银行联络 PAGEREF _Toc110673363 h 3 HYPERLINK l _Toc110673364 6招商银行网上支付的平安措施 PAGEREF _Toc110673364 h 3 HYPERLINK l _Toc110673365 二系统管理 PAGEREF _Toc110673365 h 4 HYPERLINK l _Toc110673366 1实体关系 PAGEREF _Toc110673366 h
4、4 HYPERLINK l _Toc110673367 2系统管理 PAGEREF _Toc110673367 h 5 HYPERLINK l _Toc110673368 三支付买卖 PAGEREF _Toc110673368 h 6 HYPERLINK l _Toc110673369 1衔接方式1 PAGEREF _Toc110673369 h 6 HYPERLINK l _Toc110673370 2衔接方式2 PAGEREF _Toc110673370 h 7 HYPERLINK l _Toc110673371 3衔接方式3 PAGEREF _Toc110673371 h 10 HYPE
5、RLINK l _Toc110673372 四人工定单管理 PAGEREF _Toc110673372 h 12 HYPERLINK l _Toc110673373 1操作员登录 PAGEREF _Toc110673373 h 12 HYPERLINK l _Toc110673374 2结帐 PAGEREF _Toc110673374 h 12 HYPERLINK l _Toc110673375 3部分结帐 PAGEREF _Toc110673375 h 12 HYPERLINK l _Toc110673376 4撤销 PAGEREF _Toc110673376 h 12 HYPERLINK
6、l _Toc110673377 5自动吊销 PAGEREF _Toc110673377 h 13 HYPERLINK l _Toc110673378 6退款 PAGEREF _Toc110673378 h 13 HYPERLINK l _Toc110673379 五程序定单管理 PAGEREF _Toc110673379 h 13 HYPERLINK l _Toc110673380 1程序定单管理简介 PAGEREF _Toc110673380 h 13 HYPERLINK l _Toc110673381 2商户开发指引 PAGEREF _Toc110673381 h 13 HYPERLINK
7、 l _Toc110673382 21采用支付方式1的商户 PAGEREF _Toc110673382 h 14 HYPERLINK l _Toc110673383 22采用支付方式2、3的商户 PAGEREF _Toc110673383 h 14 HYPERLINK l _Toc110673384 23分页方式查询的运用方法 PAGEREF _Toc110673384 h 15 HYPERLINK l _Toc110673385 24买卖管理开发包运用本卷须知和建议 PAGEREF _Toc110673385 h 15 HYPERLINK l _Toc110673386 六旧商户系统用户须知
8、 PAGEREF _Toc110673386 h 15 HYPERLINK l _Toc110673387 附录:开发包接口参考 PAGEREF _Toc110673387 h 16 HYPERLINK l _Toc110673388 1. DLL版本的开发包 PAGEREF _Toc110673388 h 16 HYPERLINK l _Toc110673389 1. 1. 运用Lib方式的商户开发包 PAGEREF _Toc110673389 h 16 HYPERLINK l _Toc110673390 12. 运用Dll方式的商户开发包 PAGEREF _Toc110673390 h 1
9、6 HYPERLINK l _Toc110673391 13. DLL的其他运用方式 PAGEREF _Toc110673391 h 16 HYPERLINK l _Toc110673392 14 开发包中的API阐明: PAGEREF _Toc110673392 h 16 HYPERLINK l _Toc110673393 2. 控件版本的买卖管理开发包 PAGEREF _Toc110673393 h 21 HYPERLINK l _Toc110673394 21注册控件 PAGEREF _Toc110673394 h 21 HYPERLINK l _Toc110673395 22开发包中的
10、API阐明 PAGEREF _Toc110673395 h 21 HYPERLINK l _Toc110673396 3. Java版本的买卖管理开发包 PAGEREF _Toc110673396 h 24 HYPERLINK l _Toc110673397 1. 运用Java版商户开发包前的预备任务 PAGEREF _Toc110673397 h 24 HYPERLINK l _Toc110673398 2检验数字签名API阐明 PAGEREF _Toc110673398 h 25 HYPERLINK l _Toc110673399 2定单管理API阐明 PAGEREF _Toc110673
11、399 h 26手册阐明1本手册的读者范围本手册适用于希望成为招商银行网上支付商户,或者曾经成为招商银行网上支付商户的业务管理人员、电脑系统开发人员。2前提条件和相关信息前提条件是对Internet、电脑有初步的了解,对一些常见的技术名词有一定的认识。3相对以前版本的更新相对以前版本,本文更新了商户内部管理方式,添加了新的管理功能,加强了衔接方式。一招商银行网上支付简介1什么是招商银行网上支付招商银行网上支付是招商银行提供的网上付款结算平台,经过这个平台,数千万招商银行持卡人可以向特约商户进展网上付款,全国联网,实时到帐。2如何成为招商银行网上支付特约商户商户与当地招商银行的分行个人银行部联络
12、,恳求成为我行的网上特约商户,填写相关资料。联络方式及联络人,请查阅招商银行网站wwwbchina。办理签定合约手续。商户在我行开立结算帐户。结算帐户设立浮动备付金,备付金比例按照商户资信情况确定。 根据银行提供的技术接口,商户联通与我行的支付网络。 3如何运用招商银行网上支付系统付款通道。付款通道是持卡人进展网上付款的界面,商户系统以Internet超链接的方式,从商户网站转到银行的付款通道,对商户电脑系统没有特殊要求。商户管理。商户可以经过以下几种方式管理招商银行的定单:1 商户业务管理网站:Web界面,人工管理定单,为特约商户提供全面的网上支付业务管理功能。 2 定单下载工具:方便特约商
13、户下载本人的定单数据,进展进一步处置。3 支付软件开发包:提供二次开发接口,在商户系统中嵌入支付管理功能,自动、实时管理定单。4参与招商银行网上支付,对商户电脑系统有什么要求招商银行提高多种方式供商户运用,商户可根据本人的情况选择。最简单的方式,商户以网页中的Internet超链接转到银行的付款通道,以商户业务管理网站管理定单。在这种情况下,商户甚至可以没有本人的电脑系统。假设商户不具备程序开发才干,但有常见的办公处置软件运用阅历,可以经过定单下载工具下载数据,结合商户业务管理网站,本人在办公处置软件中处置。假设商户开发才干较强,可以经过银行提供的软件开发包开发软件,把本人的系统和银行对接,就
14、可以全自动、实时地处置业务。5如何与招商银行联络请到招商银行网站wwwbchina查阅。6招商银行网上支付的平安措施根本的网上买卖的传输平安控制手段采用SSL(Secure Socket Layer),SSL是一种被广泛运用的INTERNET传输加密规范。银行端的WEB SERVER将安装一个证书(Certificate),客户端的阅读器发送CGI恳求时运用https协议。一切用https发送的恳求以及Web Server前往的结果都会自动运用SSL加密。对商户来说,商户在其管理电脑上登录时,要提供登录密码。为了添加商户登录的平安性, 在登录页之前添加了一个预登录页, 商户需先输入预登录密码才
15、干进入到登录页,预登录密码不能修正。每个商户可以设置多个操作员,每个操作员拥有不同的密码,其权限以岗位的方式组织,每个岗位有不同的权限,以实现企业内部的平安管理。对风险较高的操作,如退款,还要求配合企业证书IC卡操作。二系统管理1实体关系商户的系统管理包括以下内容:店铺店铺是生成定单的根底实体,每个商户至少有一个由银行自动生成的店铺,也可以由商户自行设置多个店铺,以便区分不同的买卖,以及不同的定单管理,等等。留意,这里的店铺并非某些支付平台网站上的“店铺概念,这里的“店铺纯粹是为了商户分权限管理定单,例如为冲值类型支付分配一个“店铺,为购物类型支付分配另一个“店铺,等等,数目不会很大,否那么商
16、户内部管理这些权限将是非常烦琐的。而支付平台网站上“店铺,能够是某个公司,甚至某个人在支付平台上注册的根本单位,其数目是相当庞大的。定单每笔买卖视为一个定单,由商户生成定单号,以后可对该定单进展后续处置,如结帐包括结帐、部分结帐、吊销、退款、查询等。岗位岗位实践上是权限的组合,可以精细到对不同店铺生成的定单进展不同的操作权限,例如A岗位能对0001店铺定单查询,B岗位能对0001、0002店铺定单结帐、退款,等等。每个岗位可以管理多个店铺,每个店铺也可以由多个岗位管理。操作员操作员是商户管理定单的直接操作者,每个操作员有一个4位数字的操作员号,每个操作员必需赋予至少一个岗位,也可以赋予多个岗位
17、,以顺应企业内部灵敏的管理方式。操作员的权限由其岗位决议。系统管理员系统管理员可以对店铺、岗位、操作员等进展添加、修正、删除等操作。以上实体的关系可用以下图阐明:2系统管理系统管理指商户系统管理员对店铺、岗位、操作员等进展添加、修正、删除等操作。经过系统管理,商户可以灵敏配置本人的业务方式,顺应本人的业务需求。系统管理员登录每个商户有一个系统管理员,商户开通招商银行网上支付后,银行自动生成一个系统管理员。系统管理员登录需求选择开户分行,输入商户号和管理员密码。店铺管理系统管理员可以添加、修正、删除店铺。普通来说,一个商户只需一个店铺即可,但假设需求对定单区别处置,可以添加新店铺。例如跨地域的商
18、户需求把北京、上海的定单分开处置;再如需求分配不同的操作员管理不同类型的定单,等等。但是,店铺不宜太多,普通不要超越5个,否那么商户内部的管理、权限的分配调整等等将比较烦琐。岗位管理系统管理员可以添加、修正、删除岗位。岗位实践上是权限的组合,因此岗位不宜太多,否那么商户内部的管理、权限的分配调整等等将比较烦琐。操作员管理系统管理员可以添加、修正、删除操作员。每个操作员必需赋予至少一个岗位,也可以赋予多个岗位。三支付买卖1衔接方式1在网上买卖过程中,用户先在商户网页中选择商品。当用户在支付网页中选择招商银行网上支付付款时,商户支付网页向银行WEB系统发出支付命令(见图一)。银行WEB系统处置完支
19、付恳求后,将回送用户支付结果页面。 银行 WEB 商户 WEB(1)生成支付网页(2)支付命令(3)支付结果页 用户阅读器 衔接方式1支付命令格式如下:httpswwwbchina/netpayment/BaseHttp.dll?PrePayC?BranchID=xxxx&CoNo=xxxxxx&BillNo=xxxxxx&Amount=xxx.xx&Date=YYYYMMDD参数阐明:BranchID:商户开户分行号,请咨询开户的招商银行分支机构;CoNo:商户号,6位数字,由银行在商户开户时确定;BillNo:定单号,6位或10位数字,由商户系统生成,一天内不能反复;Amount:定单总金
20、额,格式为:xxxx.xx元;Date:买卖日期,格式:YYYYMMDD。支付页面提交的FORM格式例如如下:定单号000023金 额818.66日 期20050101衔接方式1的特点是商户WEB系统经过支付页面把控制引导到银行WEB系统,银行WEB系统处置完支付恳求后回送支付结果页面给用户,控制没有再回到商户WEB系统。商户在银行网站进展定单管理时可以知道定单的付款情况。假设商户系统需求立刻核实定单付款情况,可以运用一个银行提供的开发包中的定单形状查询接口向银行WEB系统查询某个定单的形状。有关直联定单形状查询接口请见附录。2衔接方式2某些商户在用户完成支付过程后希望控制可以从银行WEB系统
21、自动转回商户WEB系统,并且商户WEB系统可以知道用户的付款情况。比如,出卖信息产品的商户,在支付胜利的情况下,商户的结果页除包含支付胜利通知信息外,还可以包含用户购买的信息产品。为理处理这个问题,要求商户WEB系统必需提供一个支付结果通知命令。银行WEB系统在收到支付网页发出的支付命令后,先执行扣款操作,然后调用商户WEB系统的支付结果通知命令,把支付结果通知商户WEB系统,同时获得商户WEB系统生成的支付结果页面(由支付结果通知命令生成)。最后,银行WEB系统把由商户WEB系统的支付结果通知命令生成的支付结果页前往用户的阅读器。这就是衔接方式2(见以下图)。 商户 WEB(1)生成支付网页
22、(3)支付结果通知命令(4)商户结果页(2)支付命令(5)支付结果页 银行 WEB 用户阅读器 衔接方式2支付结果通知命令格式型如:merchant/path/ProcResult.dll?Succeed=.&BillNo=.&Amount=.&Date=.&Msg=.&signature=.其中,path和ProcResult.dll由商户恣意确定,并且支付命令中可包含多个path,即可有path1/path2/path3。参数阐明:Succeed:取值Y(胜利)或N(失败);BillNo:定单号(由支付命令送来);Amount:实践支付金额(由支付命令送来);Date:买卖日期(主机买卖日
23、期);Msg:银行通知用户的支付结果音讯。信息的前38个字符格式为:4位分行号6位商户号8位银行接受买卖的日期20位银行流水号;可以利用买卖日期银行流水号对该定单进展结帐处置;Signature:银行用本人的Private Key对通知命令的签名。留意:商户系统假设对银行通知命令的真实性有较高要求,必需用银行提供的开发包中的函数,结合银行的Public Key可从网上下载或向银行索取验证。详细用法请参考附录。在Succeed为Y时,商户在支付结果通知命令中必需判别Amount的值,该值为用户的实践支付金额,以此金额为准。不能以之前系统产生定单时的金额为准!这是为了防止用户在得到支付页面后修正支
24、付金额。银行前往的买卖日期是银行主机的买卖日期,对于每天反复运用定单号的商户,能够会在0点左右与商户日期有1天的差别,按日期+定单号对帐时,能够和商户本人的定单记录有冲突。假设生成定单号永远不反复,那么可以按定单号和商户本人的定单记录对帐,无须核对日期,因此不会有冲突问题,但是,永远不反复的6位定单号,部分商户能够不够用,建议这些商户运用10位的定单号。在正式买卖中不要运用000000的定单号,由于测试接口在发通知时,定单号固定为000000。衔接方式2的支付命令格式有别于衔接方式1,其格式为:httpswwwbchinat/netpayment/BaseHttp.dll?PrePayC1?
25、BranchID=xxxx&CoNo=.&BillNo=.& Amount=.&Date=.&MerchantUrl=.前五个参数同衔接方式1,第六个参数MerchantUrl为支付结果通知命令中参数部分之前的部分,也就是httpmerchant/path/ProcResult.dll。留意:MerchantUrl不能带商户参数。在方式2中,假设用户付款后银行WEB系统或者商户WEB系统出现缺点,那么能够出现用户已付款但是商户WEB系统不知道的情况,或者出现用户已付款但是用户阅读器未接纳到结果页的情况。这类情况属于正常情况,商户可以自动从银行系统查询该定单的真正情况。商户系统该当思索相应的处理
26、方法,而不能依赖于这个通知到达与否,决议能否给消费者提供商品或效力。和方式1比较,方式2在用户完成支付操作后控制又回到商户的系统(用户处于商户WEB系统生成的支付结果页中),添加了银行WEB系统调用商户WEB系统的支付结果通知命令的过程。方式2比如式1复杂,并且商户WEB系统必需处置异常情况。但是方式2功能较强,使支付过程变得平滑无缝。在商户的Web系统向银行前往结果网页时,网页中该当有,供银行判别能否为有效前往网页,以防止商户效力器失控后自动前往未知的信息而使消费者迷惑。不论是商户停机、网络中断或者Web效力器失控,银行都将屏蔽商户系统的问题,并用正常的网页替代商户网页前往给消费者,使消费者
27、能继续正确操作。思索到方式2比较复杂,并且需求衔接商户端程序,我们提供了测试接口以方便商户开发程序时测试。运用该测试接口模拟真实的数据流程,但无须真实的商户代码和付款卡号,银行系统也不记录买卖数据商户不能查询或结帐运用该测试接口产生的买卖数据。测试接口的运用方法和真实接口一致,只需由真实接口的PrePayC1改为测试接口的TestPrepayC1。即httpswwwbchina/netpayment/BaseHttp.dll?PrePayC1? BranchID=xxxx&CoNo=.&BillNo=.& Amount=.&Date=.&MerchantUrl=.改为httpswwwbchin
28、a/netpayment/BaseHttp.dll?TestPrePayC1? BranchID=xxxx&CoNo=.&BillNo=.& Amount=.&Date=.&MerchantUrl=.。留意:为防止用户利用测试接口扰乱商户正式运转的效力器,银行的测试接口通知信息中,BillNo一直为“000000。建议:在本方式中,虽然在消费者付款胜利后向商户发通知,但由于Internet线路问题、商户网络配置改动问题、商户效力器问题、商户程序问题等缘由,商户最终接纳银行通知的程序能够收不到银行通知,因此,商户不能仅仅凭能否收到银行通知确定能否给消费者提供效力,在商户作系统设计时也该当思索到这
29、个要素。另外,接纳通知的程序该当能处置反复通知的情况。3衔接方式3某些商户在运用衔接方式2后,还需求在银行的支付结果通知命令中带上商户本人的参数,比如商户希望知道是哪个分支机构的定单,定单在商户内部处置的不同于定单号的流水号,或者商户希望借助这个参数建立完好的session,等等。为理处理这个问题,在衔接方式2的根底上,招商银行提供带商户参数的衔接方式。这就是衔接方式3。 商户 WEB(3)支付结果通知命令(1)生成支付网页(4)商户结果页(2)支付命令 用户阅读器 银行 WEB(5)支付结果页图三、衔接方式3由图示可知,方式3的流程与方式2完全一样,只是在命令格式上添加了商户参数。衔接方式3
30、的支付命令格式有别于衔接方式2,其格式为:httpswwwbchina/netpayment/BaseHttp.dll?PrePayC2? BranchID=xxxx&CoNo=.&BillNo=.& Amount=.&Date=.&MerchantUrl=.&MerchantPara=.参数阐明:BranchID:商户开户分行号,请咨询开户的招商银行分支机构;CoNo:商户号,6位数字,由银行在商户开户时确定;BillNo:定单号,6位或10位数字,由商户系统生成,一天内不能反复;Amount:定单总金额,格式为:xxxx.xx元;Date:买卖日期,格式:YYYYMMDD。Merchant
31、Url支付结果通知命令中参数部分之前的部分,例如merchant/cgi_bin/function.asp。留意:MerchantUrl本身不能带商户参数。MerchantPara商户需求银行在支付结果通知中转发的商户参数。支付结果通知命令格式型如:merchant/path/ProcResult.dll?Succeed=.&CoNo=.&=BillNo=.&Amount=.&Date=.&MerchantPara=.&Msg=.&signature=.参数阐明:Succeed:取值Y(胜利)或N(失败);CoNo:商户号,6位长数字,由银行在商户开户时确定;BillNo:定单号(由支付命令送
32、来);Amount:实践支付金额(由支付命令送来);Date:买卖日期(由支付命令送来);Msg:银行通知用户的支付结果音讯。信息的前38个字符格式为:4位分行号6位商户号8位银行接受买卖的日期20位银行流水号;可以利用买卖日期银行流水号定单号对该定单进展结帐处置;MerchantPara:商户本人的参数;Signature:银行用本人的Private Key对通知命令的签名。留意:商户系统假设对银行通知命令的真实性有较高要求,必需用银行提供的开发包中的函数,结合银行的Public Key可从网上下载或向银行索取验证。详细用法请参考附录。在Succeed为Y时,商户在支付结果通知命令中必需判别
33、Amount的值,该值为用户的实践支付金额,以此金额为准。不能以之前系统产生定单时的金额为准!这是为了防止用户在得到支付页面后修正支付金额。商户假设需求不止一个参数,可以自行把参数组合、拼装,但组合后的结果不能带有&字符假设带有&字符,银行收到这样的支付恳求时将以为其后是另一个参数,其他能够被阅读器本义的特殊字符也该当防止,总长不能超越128个字节。例如,商户需求银行通知中转发ReferenceNo=12345678&Branch=上海&SessionID=20010901,那么可以在PrePayC2中写成MerchantPara=ReferenceNo=12345678|Branch=上海|
34、SessionID=20010901银行前往的买卖日期是银行主机的买卖日期,对于每天反复运用定单号的商户,能够会在0点左右与商户日期有1天的差别,按日期+定单号对帐时,能够和商户本人的定单记录有冲突。假设生成定单号永远不反复,那么可以按定单号和商户本人的定单记录对帐,无须核对日期,因此不会有冲突问题,但是,永远不反复的6位定单号,部分商户能够不够用,建议这些商户运用10位的定单号。在正式买卖中不要运用000000的定单号,由于测试接口在发通知时,定单号固定为000000。在方式2中,假设用户付款后银行WEB系统或者商户WEB系统出现缺点,那么能够出现用户已付款但是商户WEB系统不知道的情况,或
35、者出现用户已付款但是用户阅读器未接纳到结果页的情况。这类情况属于正常情况,商户可以自动从银行系统查询该定单的真正情况。商户系统该当思索相应的处理方法,而不能依赖于这个通知到达与否,决议能否给消费者提供商品或效力。和方式1比较,方式3在用户完成支付操作后控制又回到商户的系统(用户处于商户WEB系统生成的支付结果页中),添加了银行WEB系统调用商户WEB系统的支付结果通知命令的过程。方式3比如式1复杂,并且商户WEB系统必需处置异常情况。但是方式3功能较强,使支付过程变得平滑无缝。思索到方式3比较复杂,并且需求衔接商户端程序,我们提供了测试接口以方便商户开发程序时测试。运用该测试接口模拟真实的数据
36、流程,但无须真实的商户代码和支付卡号,银行系统也不记录买卖数据商户不能查询或结帐运用该测试接口产生的买卖数据。测试接口的运用方法和真实接口一致,只需由真实接口的PrePayC2改为测试接口的TestPrepayC2。即由httpswwwbchina/netpayment/BaseHttp.dll?PrePayC2? BranchID=xxxx&CoNo=.&BillNo=.& Amount=.&Date=.&MerchantUrl=.&MerchantPara=.改为httpswwwbchina/netpayment/BaseHttp.dll?TestPrePayC2? BranchID=xx
37、xx&CoNo=.&BillNo=.& Amount=.&Date=.&MerchantUrl=.&MerchantPara=。留意:为防止用户利用测试接口扰乱商户正式运转的效力器,银行的测试接口通知信息中,BillNo一直为“000000。建议:虽然在消费者付款胜利后向商户发通知,但由于Internet线路问题、商户网络配置改动问题、商户效力器问题、商户程序问题等缘由,商户最终接纳银行通知的程序能够收不到银行通知,因此,商户不能仅仅凭能否收到银行通知确定能否给消费者提供效力,在商户作系统设计时也该当思索到这个要素。商户系统必需能处置反复通知的情况。四人工定单管理1操作员登录为方便商户业务的管
38、理,商户有必要创建不同的的操作员并对其进展权限分配。操作员创建后,就可以以定单操作员的身份登录商户系统,在其权限范围内进展查询、结账、部分结账、撤销、退款等不同的操作,完成定单管理任务。2结帐对冻结结账的商户,需求商户本人手动处置定单的结账操作。以定单操作员登录,先选择要结账的未结账定单,再进展提交。3部分结帐以定单操作员登录,先选择要部分结账的未结账定单,输入部分结账金额,再进展提交。4撤销以定单操作员登录,先选择要撤销的未结账定单,再进展提交。5自动吊销对冻结结账的商户,假设定单在招商银行预定的时间之内没有被处置,系统将对其自动撤销。6退款运用前,商户需求联络招商银行开通退款功能。退款时需
39、求验证操作者身份,如企业证书卡、密码等信息,退款时按照界面提示进展操作。五程序定单管理1程序定单管理简介假设商户每日定单数量不多,完全可以经过我行提供的网上商户系统进展查询和结帐处置,那么可以跳过本节。对于那些网上支付买卖较为频繁的商户,每天的买卖笔数很多。假设采用手工结帐、对帐处置,任务量大,繁琐而且还容易出错。招商银行网上支付系统提供了“程序结帐功能,可以实现商户的查询对帐、结帐过程全自动化,可以完全不需求人工参与,还可以实现商户系统和银行系统数据整合。招商银行网上支付系统的“程序定单管理功能,是经过“网上支付系统定单管理开发包简称商户开发包来实现的。经过这个开发包,商户可以经过程序自动完
40、成以下任务:查询未结帐定单查询已结帐定单对未结帐定单进展处置结帐、部分结帐或者撤销此外,买卖管理开发包中也提供了一个“对银行签名验证的功能。该功能与程序定单管理无关。后面有对该功能专门的阐明参见附录。“招商银行网上支付系统定单管理开发包有DLL版本、控件版本和Java版本。不同的版本功能上是完全一样的。商户可以根据本人的情况,选择适宜的买卖管理开发包版本。2商户开发指引首先,应该根据本人的情况,选择一个适宜版本的开发包。目前招商银行网上支付买卖管理开发包有3个版本:DLL版本、控件版本和Java版本。这里给出开发包普通运用方法,详细每个版本的运用方法,请参考附录。我们分两种商户:采用支付方式1
41、的商户,和采用支付方式2、3的商户。下面分别阐明商户通常运用的系统构造,和如何运用开发包实现和银行系统对接。21采用支付方式1的商户首先商户有本人的定单系统,可以产生和记录每一笔网上支付的定单信息。商户通常有一个定期运转的自动结帐程序。自动结帐程序定期的向银行查询一切的支付胜利的定单,然后根据查询结果,更新商户本人的定单信息。这类商户的自动结帐程序,处置过程是这样的:调用登录接口,登录调用“查询未结帐定单功能,查询未结帐定单,然后将这些定单和商户本人的定单系统中的数据进展对比。根据对比结果,更新商户本人定单系统中,相应定单的形状,并分别调用开发包中的结帐、部分结帐和撤销功能,对这些定单进展结帐
42、、部分结帐或者撤销处置。调用退出接口,退出以上步骤定时进展比如一天一次,或者半小时一次22采用支付方式2、3的商户对于支付支付方式2和支付方式3的商户,由于商户可以及时收到支付胜利的通知,故商户的定单系统中根本都记录了曾经胜利完成支付的定单。这些商户,通常有两个相互独立的程序在运用商户开发包:接受银行通知的程序,和自动对帐/结帐程序。接受银行通知的程序收到银行发来的通知命令调用开发包中验证银行数字签名的API,检查通知内容能否可信更新商户的定单形状,并登记定单对应的银行流水号、银行处置日期等信息前往给用户支付胜利的信息。留意:接受银行通知的程序应该尽快的前往结果页面,因此处置任务应该尽量少一些
43、。尤其不要在这个过程中登录银行系统进展结帐操作。假设接受通知程序超越规定时间还没有前往结果页面,那么银行效力器以为通知失败。接受银行通知的程序,必需可以处置收到反复通知的情况。自动结帐程序由于这类商户能收到银行支付胜利的通知,因此根本上支付胜利的定单在商户的定单系统中都有记录。可以直接对这些定单进展结帐、部分结帐和撤销处置。由于网络、效力器等各方面的缘由,通知并不总是可以到达商户。因此,商户依然需求一个自动结帐程序,对这部分支付胜利但没有通知到的定单进展处置。先调用开发包中的登录功能登录先根据商户本人的定单系统中记录的定单,找出要结帐的定单以及相应的流水号在银行通知参数中有,调用开发包中的结帐
44、或者部分结帐接口,进展结帐处置调用开发包中的未结帐查询接口,对比商户本人的定单数据,更新商户定单系统的形状,并进展未结帐定单进展处置结帐、部分结帐或者撤销。调用退出功能,退出系统23分页方式查询的运用方法为防止一次查询前往很多数据,影响银行买卖系统的正常运转,请运用分页查询。不同版本的开发包,分页查询的处置方法是类似的。分页查询是经过2个辅助API配合详细查询方法来实现查询分页的。PageReset:第一次调用查询方法之前,先调用一次本方法,表示从第一页开场查询。HasNextPage:用来检查能否还有数据。不要同时进展不同的分页查询比如一边进展分页的未结帐查询过程中,又进展分页的已结帐查询,
45、这样会引起混乱。24买卖管理开发包运用本卷须知和建议每个调用都有前往值。商户必需检查前往值,判别所执行的功能能否胜利完成。运用分页方式的查询,处置完一页的定单,再查询下一页查询不要过于频繁,不要同时多个登录进展查询。由于查询对于买卖系统会呵斥一定的负担。假设运用不当例好像时发出多个查询操作,前往大量的定单数据将影响买卖系统的正常运转。假设出现这种情况,银行将封锁商户的程序定单管理功能。六旧商户系统用户须知为了方便商户灵敏的管理和配置业务,满足商户当前的潜在需求,招商银行对原有的商户系统进展了改造,旨在为商户提供一个更加灵敏和完善的电子商务支付平台;同时,必需兼容原商户系统。新的商户系统提供了基
46、于店铺、岗位、操作员的灵敏的权限定义及分配战略,提供了更易用的定单管理功能。新的商户系统主要包括商户系统管理、商户定单管理两个子系统,文档前面已有所述。新的商户系统引入了“操作员的概念,必需输入操作员号、操作员密码等信息才干登录系统进展操作。对每个商户都会生成1个缺省的店铺店铺号“0001,默许情况下,商户生成的定单属于店铺“0001,1个缺省的系统管理员岗位岗位号“9999,1个缺省的具备系统管理员权限的操作员操作员号“9999,操作员密码对应原来的商户密码。商户可以凭以上信息登录进入商户系统管理在登录类型中选择“系统管理员登录进展业务及权限的配置,也可以直接登录进入商户定单管理系统。普通情
47、况下,商户经过系统管理员来管理店铺、岗位、操作员等资料,经过其他具备不同权限的操作员来管理定单。原终端商户系统的用户也具备以上特点,除此之外,新的商户系统也会生成操作员来对应每个终端操作员号对应原来的终端号,操作员密码对应原来的终端密码。运用新商户系统的商户,在运用商户开发包时,默许用户为9999管理员用户,所以登录密码应该用管理员用户9999的登录密码。附录:开发包接口参考1. DLL版本的开发包1. 1. 运用Lib方式的商户开发包Lib方式的商户开发包实践上只是对DLL开发包的一个输出函数包装,其真正实现部分还是在 DLL中。Lib开发包可以在C/C+程序中按Lib的方式直接参与工程,方
48、便C/C+的开发者。把FirmClient.dll拷贝到系统目录下或者结帐程序本人的目录中,在Windows 95/98/NT/2000中,系统目录位于system32.在C/C+源文件中Include FirmClientAPI.h;给C/C+衔接器指明FirmClient.lib的位置;调用FirmClientAPI.h 中函数;12. 运用Dll方式的商户开发包把FirmClient.dll拷贝到系统目录下或者结帐程序本人的目录中,在Windows 95/98/NT/2000中,系统目录位于system32。假设商户开发言语是C或C+:. 声明一个HMODULE型变量;. 调用系统函数:
49、LoadLibrary加载FirmClient.dll;. 声明dll中的函数指针;. 调用系统函数:GetProcAddress获得函数指针的值;. 运用函数指针调用dll中相应的函数;. 完成义务后调用系统函数释放FirmClient.dll。13. DLL的其他运用方式假设商户开发言语不是C或C+,例如 VB,Java,等等,参考相应言语中关于dll调用的阐明。14 开发包中的API阐明:1根本设置INET_STATUS SetOptions(char* pszHttpServer, char* pszPort = NULL, char* pszProxyIP = NULL)运用开发包其
50、他函数之前,必需先调用这个函数进展初始化,设置银行网址及商户的Proxy特性。参数阐明:PszHttpServer输入参数,银行网址。固定为 HYPERLINK wwwbchina wwwbchina。PszPort输入参数,银行Web Server的端口号。假设没有特殊要求,可以忽略该参数或置为NULLPszProxyIP输入参数,Proxy Server IP地址。假设没有Proxy Server,可以忽略该参数或置为NULL。前往值能否胜利。假设胜利,前往值为0。前往非0的值表示错误。请调用GetLastErr获得详细的错误信息。 2登录INET_STATUS LoginC(char*
51、pBranchID, char* pszCoNo, char* pszPwd)进展了根本设置后,应该进展登录。只需胜利登录后,才干进展查询、结帐等功能。参数阐明:PbranchIDInput.商户开户行代码,4位PszCoNoInput.商户代码,6位。PszPwdInput.商户密码。前往值能否胜利。假设胜利,前往值为0。前往非0的值表示错误。请调用GetLastErr获得详细的错误信息。3退出INET_STATUS Logout();开发包运用完成后,应调用该函数退出。4定单结帐INET_STATUS SettleOrder(char* pszCoNo, char* pszBillNo,
52、char* pszRefNo)参数阐明:PszCoNo输入,商户号PszBillNo输入,要处置定单的定单号PszRefNo输入,要处置定单的银行流水号。银行流水号有2个途径获得经过查询未结帐定单的接口获得经过银行支付胜利通知,从通知参数中获得前往值能否胜利。假设胜利,前往值为0。前往非0的值表示错误。请调用GetLastErr获得详细的错误信息。5定单部分结帐INET_STATUS SettlePartOrder(char* pszCoNo, char* pszBillNo, char* pszRefNo, char* pszPartAmount)参数阐明:PszCoNo输入,商户号PszB
53、illNo输入,要处置定单的定单号PszRefNo输入,要处置定单的银行流水号。银行流水号有2个途径获得经过查询未结帐定单的接口获得经过银行支付胜利通知,从通知参数中获得PszPartAmount输入,部分结帐金额,不能大于原始定单金额前往值能否胜利。假设胜利,前往值为0。前往非0的值表示错误。请调用GetLastErr获得详细的错误信息。6定单吊销INET_STATUS CancelOrder(char* pszCoNo, char* pszBillNo, char* pszRefNo)参数阐明:PszCoNo输入,商户号PszBillNo输入,要处置定单的定单号PszRefNo输入,要处置
54、定单的银行流水号。银行流水号有2个途径获得经过查询未结帐定单的接口获得经过银行支付胜利通知,从通知参数中获得前往值能否胜利。假设胜利,前往值为0。前往非0的值表示错误。请调用GetLastErr获得详细的错误信息。7释放缓冲区内存INET_STATUS FreeBuffer(char* pBuffer)每调用一次详细查询方法,假设查询胜利,必需调用本方法释放内存。留意:每个分页的查询都要释放内存。假设查询失败,不能释放内存。参数阐明:pBuffer要释放的缓冲区。该指针必需是由查询未结帐、已结帐定单前往的前往值能否胜利。假设胜利,前往值为0。前往非0的值表示错误。请调用GetLastErr获得
55、详细的错误信息。8获得错误信息char* GetLastErr(INET_STATUS isNo);参数阐明:IsNo输入,最近一次调用接口前往值前往值错误的详细信息获得最近发生的错误信息。每一个不胜利的操作后都应调用该函数及时发现错误缘由。9设置分页查询的位置为第一页void PageReset()阐明:在每次分页查询之前必需调用一次。查询中途假设需求重头查起,也是经过调用PageReset来实现。10判别能否还有更多的数据int HasNextPage()功能:在分页查询中,用来判别能否曾经查询完了一切数据。阐明:在调用PageReset后,前往FALSE;在调用了分页查询后,假设还有更多
56、的数据,那么前往TRUE,否那么前往FALSE。11分页查询未结帐定单INET_STATUS QueryUnsettledOrderByPage(int count,char *result)参数阐明:count本次查询所前往定单数目。当未结帐定单数目少于给定数目时,前往全部未结帐定单。假设未结帐定单数目比给定数目多,那么前往给定数目的定单。下一次调用本函数那么从本次的最后一条定单的下一条开场前往。result前往的查询结果。格式请看下面阐明假设查询胜利,那么运用终了后,请调用FreeBuffer()来释放result占用的内存,否那么将导致内存走漏。前往值能否胜利。假设胜利,前往值为0。前往
57、非0的值表示错误。请调用GetLastErr获得详细的错误信息。阐明:result 中保管的定单信息由延续的定单记录组成,每个记录包括以下部分:买卖日期yyyymmdd金额*.*定单号.6 characters流水号20 characters每一部分由字符n分隔。例如:19980820n1200.00n100201n98082000010700030001n1n19980830n200.00n100201n98083000010700030009n2n.以上字符串包括两个定单信息。12分页查询已结帐定单,按买卖日查询INET_STATUS QuerySettledOrderByPage(LPC
58、STR StartDate, LPCSTR EndDate,int count,char *result)参数阐明:StartDate查询的起点日期,8位数字EndDate查询的终点日期,8位数字count本次查询所前往定单数目。当查询结果定单数目少于给定数目时,前往全部定单。假设查询结果定单数目比给定数目多,那么前往给定数目的定单。下一次调用本函数那么从本次的最后一条定单的下一条开场前往。result前往的查询结果。格式请看下面阐明假设查询胜利,那么运用终了后,请调用FreeBuffer()来释放result占用的内存,否那么将导致内存走漏。前往值能否胜利。假设胜利,前往值为0。前往非0的值
59、表示错误。请调用GetLastErr获得详细的错误信息。阐明:result中保管的定单信息由延续的定单记录组成,每个记录包括以下部分:买卖日期yyyymmdd处置日期yyyymmdd金额*.*定单号.6 characters定单形状1 characters每一部分由字符n分隔。其中定单形状=“0为已结帐,“1为已撤销,“2为部分结帐,“3为退款记录。例如:19980820n19980920n1200.00n100201n1n19980830n19980830n200.00n100201n2n.以上字符串包括两个定单信息。13分页查询已结帐定单,按结帐日查询INET_STATUS QueryTr
60、ansactByPage(LPCSTR Date,int count,char *result)参数阐明:Date要查询的结帐日期,8位数字,格式为“YYYYMMDDcount本次查询所前往定单数目。当查询结果定单数目少于给定数目时,前往全部查询结果。假设查询结果记录数目比给定数目多,那么前往给定数目的定单。下一次调用本函数那么从本次的最后一条定单的下一条开场前往。result前往的查询结果。格式和按买卖日查询一样假设查询胜利,那么运用终了后,请调用FreeBuffer()来释放result占用的内存,否那么将导致内存走漏。前往值能否胜利。假设胜利,前往值为0。前往非0的值表示错误。请调用Ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年研发合作采购协议2篇
- 2024高速铁路线路安全监测合同
- 中国石油大学(北京)《人与环境(环境修复与可持续发展)》2023-2024学年第一学期期末试卷
- 浙江传媒学院《产品形象设计》2023-2024学年第一学期期末试卷
- 营业员工作总结
- 2025年度高端装备制造承诺赊销协议3篇
- 建筑行业美工室内外设计立体效果图制作
- 护眼保健品知识培训课件
- 电影院前台服务技巧分享
- 听证员专业知识培训课件
- 天津市新版就业、劳动合同登记名册
- 数学分析知识点的总结
- 产科操作技术规范范本
- 2023年重症医学科护理工作计划
- 年会抽奖券可编辑模板
- 感染性疾病标志物及快速诊断课件(PPT 134页)
- YC∕T 273-2014 卷烟包装设计要求
- 2022年煤矿地面消防应急预案范文
- 高中化学必修二第三章第一节认识有机化合物课件
- 水上抛石护坡施工方案
- 4PL的供应链整合及其对区域发展的借鉴意义
评论
0/150
提交评论