网银在线支付B2C系统商户接口文档
B2C网银支付商户端接口说明(201104)

第1章对B2C标准商户接口规约1.1通讯协议目前网银系统支持三种方式与商户之间传递信息:通过客户浏览器间接通讯:a. 商户引导客户浏览器,将信息提交到网银系统,商户系统发往银行网关的指令均以POST方式发送,并且使用UTF8编码格式。
商户发送网上银行支付订单、商户发送手机银行支付订单、商户发送家居银行支付订单接口采用该方式通讯。
表单数据中需包含商户对订单信息的签名。
b. 银行系统引导客户浏览器将信息提交到商户系统。
银行反馈订单支付结果(页面通知)接口采用该通讯方式。
表单信息中包含银行系统的签名数据。
商户操作员通过浏览器操作网银:商户操作员登录网银操作网银功能,用来提交批量退货文件,下载批量退货反馈文件、业务对账文件与清算对账文件。
(网银系统提供的其他商户操作员功能如订单查询等由于不涉及系统之间的接口规范,因此不再描述) 直接通讯:商户系统与银行系统之间直接建立通讯链路,该通讯采用HTTPS协议。
a. 由商户系统主动发起通讯,商户系统发往银行网关的指令均以POST方式发送,并且使用UTF8编码格式。
商户查询订单信息、商户发送B2C退款指令接口采用此通讯方式。
表单数据中需包含商户对交易信息的签名。
b. 由银行系统主动发起通讯,银行系统为保证商户收到订单支付处理结果,采用主动通知方式向商户发送B2C支付结果。
银行网关发往商户系统的指令以POST方式发送,并且使用UTF8编码格式。
银行系统向订单中接收通知的商户URL发送支付结果信息。
通知信息中包含银行系统的签名数据。
1.2接口报文1.2.1商户发送网上银行支付订单接口名称:RecvOrder.do接口说明:客户在商户网站确认进行订单支付,选择中行网上银行支付后,商户系统负责按此数据规格将消费交易信息发往中行支付网关系统;商户主动发往银行网关的指令均以POST方式发送,并且使用UTF8编码格式。
数据项说明:接口示例:1.2.2商户发送手机银行支付订单接口名称:B2CMobileRecvOrder.do接口说明:客户在商户手机WAP网站确认进行订单支付,选择中行手机银行支付后,商户系统负责按此数据规格将消费交易信息发往中行支付网关系统;商户主动发往银行网关的指令均以POST方式发送,并且使用UTF8编码格式。
中国银行支付接口(ecshop版)

中国银⾏⽀付接⼝(ecshop版)中国银⾏的⽀付接⼝只提供有版,众所周之ecshop是采⽤php开发的,这让我们如何⽤php开发java的东东呢?办法始终是有的,我们可以先在ecshop⾥⽤php⽣成订单,提交给nginx,nginx 转发的tomcat,再通过jsp⽂件完成订单签名,将订单数据发送给中国银⾏处理。
先看这个处理订单签名,发送B2C⽀付数据的jsp⽂件,我将它命名为index.jsp[java]1. <%@ page contentType=”text/html; charset=UTF-8″ language=”java” import=”java.sql.*” errorPage=”” %>2. <%@ page import=”java.io.*” %>3. <%@ page import=”java.util.*” %>4. <%@ page import=”mon.security.PKCS7Tool” %>5. <%6. String merchantNo = request.getParameter(“merchantNo”);7. String payType = request.getParameter(“payType”);8. String orderNo = request.getParameter(“orderNo”);9. String curCode = request.getParameter(“curCode”);10. String orderAmount = request.getParameter(“orderAmount”);11. String orderTime = request.getParameter(“orderTime”);12. String orderNote = request.getParameter(“orderNote”);13. //String orderUrl = request.getParameter(“orderUrl”);14. String orderUrl = “http://www.***.com/webapps/boc/notify.jsp”; //根据⾃⼰⽹站的实际情况修改 String keyStorePath = “/home/www/bankey/boc.pfx”;15. String keyStorePassword = “111111″;16. String keyPassword = “111111″; try {17. PKCS7Tool tool = PKCS7Tool.getSigner(keyStorePath, keyStorePassword, keyPassword);18. String dataStr = orderNo + “|” + orderTime + “|” + curCode + “|” + orderAmount + “|” + merchantNo;19. byte[] data = dataStr.getBytes(“UTF-8″);20. String signData = tool.sign(data);21. signData = signData.replace(“\n”, “”);22. signData = signData.replace(“\r”, “”); out.println(“<div style=’text-align:center’><form name=’form1′ method=’post’ action=’http://180.168.146.75:81/PGWPortal/RecvOrder.do’><INPUT NAME=’merchantNo’ TYPE=’hidden’ value=’”+merchantNo+”‘><INPUT NAME=’payType’ TYPE=’hidden’ value=’”+payType+”‘><INPUT NAME=’orderNo’ TYPE=’hidden’ value=’”+orderNo+”‘ ><INPUT NAME=’curCode’ TYPE=’hidden’ value=’”+curCode+”‘><INPUT NAME=’orderAmount’ TYPE=’hidden’ value=’”+orderAmount+23. “‘><INPUT TYPE=’HIDDEN’ NAME=’orderTime’ VALUE=’”+orderTime+”‘><INPUT TYPE=’HIDDEN’ NAME=’orderNote’ VALUE=’”+orderNote+”‘><INPUT TYPE=’HIDDEN’ NAME=’orderUrl’ VALUE=’”+orderUrl+”‘><INPUT TYPE=’HIDDEN’ NAME=’signData’ VALUE=’”+signData+”‘></form>正在去往⼯⾏⽀付页⾯…<script>document.all.form1.submit();</script></div>”); } catch (Exception e) {24. // TODO Auto-generated catch block25. out.println(e);26. }27. %>当jsp⽂件发送数据给中国银⾏后,页⾯会跳转到中国银⾏的⽀付页⾯,客户完成⼀系列的⽀付操作后,页⾯会跳转回商城⽹站。
农行网上支付平台-B2C接口编程指南-PHP_Edition-V1.0

中国农业银行网上支付平台B2C PHP商户接口编程指南Java EditionV1.0修订历史纪录目录1.............................................................................................................................................. 简介4 1.1目的.. (4)1.2功能描述 (4)1.3总体架构图 (4)2.接口开发软件包说明 (5)3.安装步骤 (7)3.1安装前检查 (7)3.2系统配置 (7)3.3W EB S ERVICES接口应用配置 (7)3.4配置测试应用 (8)4.配置文件说明 (9)5.交易说明 (10)5.1交易流程 (10)5.1.1支付交易 (10)5.1.2确保支付结果正确送达商户网站的措施 (12)5.1.3其它交易 (13)5.2交易使用时机 (14)5.3支付请求 (14)5.4两种接收支付结果方式的区别 (17)5.4.1通过显示给消费者的支付结果接收页面通知商户 (17)5.4.2通过支付平台服务器通知商户 (18)5.4.3区别 (20)5.5支付结果接收页面 (21)5.6取消支付请求 (22)5.7退货请求 (23)5.8订单查询 (24)5.9交易对账单下载 (25)5.10指定日期指定时间段交易对账单下载 (25)5.11身份验证交易请求 (26)5.12身份验证结果接收页面 (27)5.13退款批量发送请求 (27)5.14退款批量结果查询请求 (28)附录一、程序范例 (30)A、支付请求范例 (30)B、支付结果接收范例 (30)C、从服务器直接接收支付结果页面范例 (31)D、取消支付交易范例 (32)E、退货交易范例 (32)F、订单查询交易范例 (32)G、交易对账单下载范例 (32)H、指定时间段交易对账单下载 (32)I、身份验证请求范例 (32)J、身份验证结果接收范例 (32)K、退款批量发送请求范例 (32)L、退款批量结果查询范例 (33)附录二、响应码一览表 (34)附录三、TRUSTPAY CLIENT PHP5 API (36)M ERCHANT P AYMENT (36)M ERCHANT Q UERY O RDER (40)M ERCHANT V OID P AYMENT (42)M ERCHANT R EFUND (43)M ERCHANT T RX S ETTLE (44)M ERCHANT T RX S ETTLE B Y H OUR (46)I DENTITY V ERIFY (47)M ERCHANT B ATCH S END (49)M ERCHANT Q UERY B ATCH (50)附录四、TRUSTPAY CLIENT WEB SERVICES API (53)附录五、结果处理类 (62)COM.HITRUST.TRUSTPAY.CLIENT.B2C.P AYMENT R ESULT (62)1. 简介1.1 目的提供商户端交易网站通过中国农业银行网上支付平台提供的商户端开发软件包实现功能的编程指南。
中国银行B2C商户端接口说明(ver 2.3)

X(13)
必填
格式:整数位不前补零,小数位补齐2位
即:不超过10位整数位+1位小数点+2位小数
无效格式如123,.10,1.1,有效格式如1.00,0.10
06
订单时间
orderTime
9(14)
必填
格式:YYYYMMDD24HHMMSS
其中时间为24小时格式,如下午3点15表示为151500
2.2.4
接口名称:无
接口说明:
为避免银行支付界面反馈支付结果失效,中行支付网关按此数据规格将B2C订单支付结果主动通过HTTP或HTTPS方式POST发往商户系统。参数的编码方式使用UTF-8编码后,再用application/x-www-form-urlencoded方式转译后发出。
数据项说明:
格式:n.n.n.n
其中n为0-255的数字
例如:192.168.0.1
09
客户浏览器Refer信息
orderRefer
X(200)
客户浏览器跳转至网银支付登录界面前所在页面的URL(urlEncode格式)
10
银行交易流水号
bankTranSeq
X(22)
银行交易流水号
银行交易日期(8位)+POS终端号(8位)+POS流水号(6位)
数据项说明:
序号
名称
字段
最大长度
说明
01
商户号
merchantNo
X(20)
BOC商户ID
02
商户订单号
orderNo
X(19)
商户系统产生的订单号
03
银行订单流水号
orderSeq
b2c在线支付接口说明

中国工商银行网上银行B2C在线支付接口说明一、B2C流程说明:1、客户在商户网站浏览商品信息,签订订单;2、商户按照工行B2C订单数据规范形成提交数据,并使用工行提供API和商户证书对订单数据签名,形成form表单返回客户浏览器,表单action地址指向工行接收商户B2C订单信息的servlet;3、客户确认使用工行支付后,提交此表单到工行;4、工行网银系统接收此笔B2C订单,对订单信息和商户信息进行检查,通过检查则显示工行B2C支付页面;5、客户在此页面可以查询客户在银行的预留信息;也可以输入支付卡号、支付密码、验证码进行B2C支付;6、工行检查客户信息,通过检查后显示确认页面;客户确认提交后工行进行支付指令处理;7、工行进行支付指令处理后,如果商户需要工行实时通知,则工行将处理结果使用http协议post方式将通知消息数据提交到商户网站(这个接收银行通知消息的商户端地址是随商户订单数据提交银行的merURL字段),商户返回取货地址或关闭这个银行与其建立的连接后,银行才显示交易结果页面给客户。
(注意1、发送通知和显示结果页面是串行的,所以商户端接收银行通知处理时间太长可能导致客户等待超时,造成银行不能将交易结果页面显示给客户。
2、此连接是银行服务器自动和商户进行的连接,商户返回也是直接返回给银行,商户端不能对银行的这个请求进行重定向。
)8、工行进行支付指令处理后,如果商户不需要工行实时通知,则工行直接显示交易结果给客户。
二、B2C接口数据说明:接口数据格式定义通过接口名称和接口版本号来标识,以便将来的扩展;以下数据格式为“1.0.0.0”版的“ICBC_PERBANK_B2C”接口定义。
2.1 B2C商户提交表单接口定义:注:1、数据中不能包含“|”“&”“=”,此字符为银行端程序保留字符;中文变量使用GBK编码,另请注意与C2C接口定义字段名称和大小写有区分2、从商户Post过来的数据,参数名的名称必须与上表中完全相同,名称中的字母大小写均要相同,不能进行随意更改(在form中的提交按钮<input type=”submit”……>中submit不能有Name属性);此外,如果其他input项的Name中使用了双引号,如:<input type=text name="merURL " value="/ICBCPay/">,则一定注意在引号内不要包含空格,不要写成“mer URL ”,如果拼写错误或者多了空格,将造成数据无法识别,无法正常进行支付3、接口名称和版本号一定要和上表中相同.。
网银在线支付商户接口文档(B2C系统)

网银在线支付接口规范B2C系统商户接口平台版本号4.0网银在线(北京)科技有限公司目录1.文档介绍 (1)1.1. 读者对象 (1)1.2. 版权声明 (1)2.支付接口 (2)2.1. 商户>>> 网银在线支付 (2)2.2. 网银在线支付>>> 商户(页面返回) (5)2.3. 网银在线支付>>> 商户(服务器返回) (6)2.4. 网关错误编码表 (6)1.文档介绍1.1.读者对象商户系统设计人员、编程人员及测试人员1.2.版权声明此文档版权归网银在线(北京)科技有限公司所有。
作为本系统的最终用户,可以拥有该份文档的使用权,但未征得网银在线(北京)科技有限公司的书面批准,不得向第三方借阅、出让、出版该文档。
2.支付接口2.1.商户 >>> 网银在线支付示例程序:ChinaBank.html用途:收集信息并发送到数据发送页即Send页订单号://选填项,订单号收货人姓名://选填项,总长不超过80字符收货人地址://选填项,总长不超过200个字符收货人电话://选填项,总长不超过50个字符收货人邮编://选填项,总长不超过10个字符收货人邮件://选填项,总长不超过100个字符收货人手机号://选填项,总长不超过13个字符备注1://选填项,总长不超过150个字符订货人姓名://选填项,总长不超过80字符订货人地址://选填项,总长不超过200个字符订货人电话://选填项,总长不超过50个字符订货人邮编://选填项,总长不超过10个字符订货人邮件://选填项,总长不超过100个字符订货人手机号://选填项,总长不超过13个字符备注2://选填项,总长不超过150个字符订单总金额(元):*必填项,譬如:0.01示例程序:Send.asp、Send.aspx、Send.php、Send.jsp用途:接收ChinaBank.html发送过来的数据加密后发往网银在线电子支付平台的接口网关1、支付平台网关接口地址<form method=post action="https:///PayGate">2、FORM表单参数关,建议不用表1支付表单中的变量定义:—必填项—与网上支付货款无关项,建议不用表2MD5校验串生成方法:当消费者在商户端生成最终订单的时候,将订单中的v_amount v_moneytype v_oid v_mid v_url key六个参数的value值拼成一个无间隔的字符串(顺序不要改变)。
中国工商银行网上银行BC在线支付接口说明新版本精品文档23页
B2C支付接口v1.0.0.3第 1 章业务说明第 2 章商户接口2.1 支付接口2.1.1 支付接口表单定义2.1.2 tranData2.1.3 tranData格式定义 (10)2.1.4 表单样例 (11)2.2 通知接口 (14)2.2.1 通知接口表单定义 (14)2.2.2 notifyData数据定义 (15)2.2.3 notifyData格式定义 (17)2.2.4 表单样例 (18)2.3 说明 (20)第 3 章安全API说明 (21)第 4 章开发步骤 (21)第 1 章业务说明B2C在线支付接口实现工行个人网银客户在工行B2C商户网站进行消费支付的业务处理。
新的1.0.0.3版本同原先版本的主要区别在于通知消息方式的改变。
原1.0.0.0版本和1.0.0.1版本(扩充语言字段以支持英文版)在订单中要求商户选择通知方式,即1、需要银行通知交易结果,2、不需要银行通知交易结果而是商户主动查询;当需要通知时,需要在订单中提供商户接收银行通知地址,当银行处理结束后,会在银行的后台服务器请求商户的此地址,将交易结果用http连接post表单形式提交给商户,然后返回客户交易结果页面。
新的1.0.0.3版本不再要求商户选择通知方式,和接收银行通知的地址;此版本要求商户在提交订单时,提供交易处理后返回商户的地址,即完成客户从商户转向到银行进行支付,处理后又从银行定向回商户网站的闭环。
在从银行交易页面返回商户时,将交易结果作为表单数据提交到商户此返回地址。
处理的优点:1、强制完成交易闭环;2、无需银行后台发送通知,客户不需要等待商户接收银行通知后才能看到交易结果页面,缩短响应时间;3、通知方式不再局限于http连接和80端口,返回商户的地址可以使用https方式和其他商户支持的端口,提高安全性;4、银行作为交易的一方,支持众多商户和客户时,存在一定的带宽和服务器处理压力,使用客户返回商户方式提供交易结果,可有效减少交易掉单现象,只要客户到了银行的结果页面,如果还出现掉单问题,则可能是客户和商户的通讯等方面的问题。
网银在线支付接口和应用
(转载)关键字:网银在线支付接口和应用最近关注项目中在线支付,所以看一下文档,在线支付应用开发:基本所有的在线支付均采用以下方式:客户点击结帐时将关于訂單的信息和货币信息,相应的信息URL,经过md5或其他方式发送(可能Socket和Http或Https)支付平台(块钱,paypal或支付宝等),支付平臺处理完毕时根据相应URL,返回相关的信息(付款信息,訂單信息,验证信息).在实际操作Money的问题人们一向关注他的安全性等问题,同时本人习惯在通过http方式访问非外网时采用Commons-httpclient的post发送实现,简单方便,所以采用此种实现:具体看以下API和原代码:网银在线支付API接口:商户>>>>>>网银在线支付:<formmethod=postaction="_bank"><inputtype=hiddenname=v_midvalue="1001">商户编号<inputtype=hiddenname=v_oidvalue="-34">订单编号<inputtype=hiddenname=v_amountvalue="13.45">订单总金额<inputtype=hiddenname=v_moneytypevalue="0">币种<inputtype=hiddenname=v_urlvalue="">支付动作完成后返回到该url,支付结果以POST方式发送<inputtype=hiddenname=v_md5infovalue="1630DC083D70A1E8AF60F4 9C143A7B95">订单MD5校验码<inputtype="hidden"name="remark1"value="">备注字段1<inputtype="hidden"name="remark2"value="">备注字段2<inputtype=hiddenname=v_rcvnamevalue="张三">收货人姓名<inputtype=hiddenname=v_rcvaddrvalue="北京海淀">收货人地址<inputtype=hiddenname=v_rcvtelvalue="">收货人电话<inputtype=hiddenname=v_rcvpostvalue="100036">收货人邮编<inputtype=hiddenname=v_orderstatusvalue="0">商品信息<inputtype=hiddenname=v_ordernamevalue="李四">订货人姓名<inputtype=hiddenname=v_orderemailvalue="">订货人邮件<inputtype=submitvalue="网银在线支付"></form>MD5校验串生成方法:当消费者在商户端生成最终订单的时候,将订单中的v_amountv_moneytypev_oidv_midv_urlkey六个参数的value值拼成一个无间隔的字符串(顺序不要改变)。
天工收银开放接口文档V0722-网站在线支付
String(10)
是
Number
是
String(128) 是
String(512) 否
String(20)
否
天 工 收 银 提 供 的 支 付 渠 wxpay
道
wxpay:微信扫码支付
alipay:支付宝即时交易
chinapay : 银 联 快 捷 支
</form> 本示例仅供参考
注 意 事 项 1、本接口只支持 https 请求 2、 请按照本文档“附录:签名与验签”中的签名方法对输入参数进行签名,该接口请求才能够被天
工收银系统接收;
3、发起请求后返回参数采用 JSON 格式,天工收银有成功与失败两种情况 成 功 返 回 示 例 支付成功后,将跳到相应支付页面 失 败 返 回 示 例
消费者请求支付,商家通过生成参数,向天工收银网关地址发起页面跳转请求,支付处理完成后,页面跳回,
商家处理回调参数,同时天工收银服务器向商家服务器发起通知,商家处理通知信息。
接 口 列 表
网 站 收 银 接 口
本接口用于 PC 交易网站向天工收银发起支付请求,请求方式为页面跳转,消费者完成支付流程后,天工 会通过页面跳转及服务器通知的方式将支付结果提交给商家系统,商家系统根据这些返回数据进行交易 状态的判断和处理,完成整个支付流程。
https://www.your /tee gonnotifyurl.php
return_url 页 面 跳 转 同 步 String(256) 是 通知页面地址
网银在线支付接口和应用
网银在线支付接口和应用关键字: 网银在线支付接口和应用最近关注项目中在线支付,所以看一下文档,在线支付应用开发:基本所有的在线支付均采用以下方式:客户点击结帐时将关于訂單的信息和货币信息,相应的信息URL,经过md5或其他方式发送(可能Socket和Http或Https)支付平台(块钱,paypal或支付宝等),支付平臺处理完毕时根据相应URL,返回相关的信息(付款信息,訂單信息,验证信息).在实际操作Money的问题人们一向关注他的安全性等问题,同时本人习惯在通过http方式访问非外网时采用Commons-httpclient的post发送实现,简单方便,所以采用此种实现:具体看以下API和原代码:网银在线支付API接口:商户>>>>>>网银在线支付:<form method=post action="https:///select_bank"> <input type=hidden name=v_mid value="1001"> 商户编号<input type=hidden name=v_oidvalue="19990720-1001-000001234"> 订单编号<input type=hidden name=v_amount value="13.45"> 订单总金额<input type=hidden name=v_moneytype value="0"> 币种<input type=hidden name=v_url value="http://domain/program">支付动作完成后返回到该url,支付结果以POST方式发送<input type=hidden name=v_md5infovalue="1630DC083D70A1E8AF60F49C143A7B95"> 订单MD5校验码<input type="hidden" name="remark1 " value="">备注字段1<input type="hidden" name="remark2" value="">备注字段2<input type=hidden name=v_rcvname value="张三"> 收货人姓名<input type=hidden name=v_rcvaddr value="北京海淀"> 收货人地址<input type=hidden name=v_rcvtel value="68475566"> 收货人电话<input type=hidden name=v_rcvpost value="100036"> 收货人邮编<input type=hidden name=v_orderstatus value="0"> 商品信息<input type=hidden name=v_ordername value="李四"> 订货人姓名<input type=hidden name= v_orderemail value="test@"> 订货人邮件<input type=submit value="网银在线支付"></form>MD5校验串生成方法:当消费者在商户端生成最终订单的时候,将订单中的v_amount v_moneytype v_oid v_mid v_url key六个参数的value值拼成一个无间隔的字符串(顺序不要改变)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网银在线支付平台B2C系统商户接口规范
版本号3.1
网银在线(北京)科技有限公司
目录
1.文档介绍 (1)
1.1.1. 读者对象 (1)
1.1.2. 版权声明 (1)
2.支付接口 (2)
2.1.1. 商户>>> 网银在线支付 (2)
2.1.2. 网银在线支付>>> 商户 (4)
1.文档介绍
1.1.1. 读者对象
商户系统设计人员、编程人员及测试人员
1.1.
2. 版权声明
此文档版权归网银在线(北京)科技有限公司所有。
作为本系统的最终用户,可以拥有该份文档的使用权,但未征得网银在线(北京)科技有限公司的书面批准,不得向第三方借阅、出让、出版该文档。
2.支付接口
2.1.1. 商户>>> 网银在线支付
用途:用来接收商户发给网银在线支付的订单信息
1、支付网关接口地址
<form method=post action="https:///select_bank">
2、FORM表单参数
表单参数如表1,具体定义如表2。
说明:蓝色部分为必填项,黄色部分与网上支付货款无关,建议不用
表1
支付表单中的变量定义:
—必填项
—与网上支付货款无关项,建议不用
MD5校验串生成方法:当消费者在商户端生成最终订单的时候,将订单中的v_amount v_moneytype v_oid v_mid v_url key六个参数的value值拼成一个无间隔的字符串(顺序不要改变)。
参数key是商户的MD5密钥(该密匙可在登陆商户管理界面后自行更改。
)
MD5字符串示例:
13.45019990720-1001-0000012341001http://domain/program key
注意:得出的32位MD5值需转化为大写。
(具体函数使用方法请参见接口示例)
用MD5函数加密该字符串所得值即为我们所需的订单MD5校验码,将其写入v_md5info字段即可。
2.1.2. 网银在线支付>>> 商户
支付完成后页面转到商户,从网银在线支付返回的消息格式为:
该消息格式详细解释如下:v_url是该笔订单提交时参数v_url 的值,即网银返回到商户的接口地址。
表3。