send.asp '''''''''' @Description: 快钱网关接口范例' @Copyright (c) 上海快钱信息服务有限公司' @version 2.0'''''''''merchant_id ="879905060103109788" '''商户编号merchant_key ="99billKeyForTest" '''商户密钥orderid = "0226001" '''订单编号amount = "0.02" '''订单金额curr = "1" '''货币类型,1为人民币isSupportDES = "2" '''是否安全校验,2为必校验,推荐 merchant_url = "" '''支付结果返回地址pname = "" '''支付人姓名commodity_info = "" '''商品信息merchant_param = "" '''商户私有参数pemail="" '''传递email到快钱网关页面pid="" '''代理/合作伙伴商户编号 '''生成加密串,注意顺序ScrtStr="merchant_id=" & merchant_id& "&orderid=" &orderid & "&amount="& amount &"&merchant_url=" & merchant_url& "&merchant_key="& merchant_keymac=ucase(md5(ScrtStr)) %> 快钱99bill 订单编号: 订单金额: 支付人: 商品名称: ion="https://www.99bill.com/webapp/receiveMerchantInfoAction.do"> "> "> "> "> "> "> "> "> "> "> "> "> 可以支持银行卡、快钱账户、银行或邮局汇款方式支付.还可参加积分换礼活动!http://www.99bill.com/index/hd/99bill_hd2.html"target="_blank" >>>>详情点击 receive.asp '''''''''' @Description: 快钱网关接口范例' @Copyright (c) 上海快钱信息服务有限公司' @version 2.0'''''''''merchant_key="99billKeyForTest" '''商户密钥 merchant_id =request("merchant_id") '''获取商户编号orderid = request("orderid") '''获取订单编号amount = request("amount") '''获取订单金额dealdate = request("date") '''获取交易日期succeed = request("succeed") '''获取交易结果,Y成功,N失败mac = request("mac") '''获取安全加密串merchant_param =request("merchant_param") '''获取商户私有参数 couponid =request("couponid") '''获取优惠券编码couponvalue = request("couponvalue") '''获取优惠券面额 '''生成加密串,注意顺序ScrtStr = "merchant_id=" & merchant_id& "&orderid=" &orderid & "&amount="& amount & "&date="& dealdate &"&succeed=" & succeed& "&merchant_key="& merchant_keymymac=md5(ScrtStr) v_result="失败"if ucase(mac)=ucase(mymac) then ifsucceed="Y" then '''支付成功 v_result="成功" ''' '''#商户网站逻辑处理# ''' else '''支付失败 endif else '''签名错误 end if %> 快钱99bill 订单编号: 订单金额: 支付结果:
一般人都会选择支付宝,但支付宝需要存600元。所以就放弃了,选择快钱支付,快钱可以支持20几家银行卡,使用起来也算挺方便吧。 下面是以申请快钱支付接口为例。 申请条件:要求需要有个人网站和ICP备案号,且在信产部备案网站名称要和快钱使用名称相同,否则申请的时候不会过的。 1.到快钱网站https://www.99bill.com/ 注册一个帐号,按向导操作: 2.用注册帐号进行登陆,接下来就是验证操作。 A.手机验证,会把密码发到手机上面。 B.银行卡验证,建议直接选用工行卡,可以省去10元验证费。三工作日发给你验证信息。 C.身份验证 上述信息都验证通过了,才可以申请人民币网关。进入“快钱工具”,选择人民币网关,自助开通。按向导填写信息,快钱工作人员审核通过后,就会发邮件通知,里面包括快钱人民币网关密钥。 这些都申请好,就可以到自己网站平台就配置,配置如下: 1.用管理员帐号登陆进入域名主机代理平台系统,选择系统设置 2.在左列菜单,选“在线支付接口” 选“快钱”,并启用。接下来配置比较关键,系统版本选“V2.0版本” 接口地址推荐使用: https://www.99bill.com/gateway/recvMerchantInfoAction.htm; 返回地址:http://你的域名/control/onlinepay/99bill/result.asp; 商户编号:登陆快钱网站查看,把自己“用户编号”填入即可(注意不要有空格); 支付密钥:快钱发给你的人民币网关密钥,填入; 扣除手续费,看你自己啦,快钱是要收取1%手续费; 扣除下级平台手续费:就是你下级平台的客户使用该接口时是否要收手续费。 这些都配置好,点保存。 3.转入前台,进入支付方式,进行测试是否设置成功 4.进入快印支付接口 5.确定,弹出支付窗口 6.输入金额,确定,进入订单信息,选择相应支付方式: 7.支付成功 8.返回快钱画面 9.到前台管理中心,查询帐号余额,是否充值成功,到此设置完毕。 如有其它问题,可以到快钱网站咨询在线客服,会有人帮忙解答。 另外快钱会快递一份书面协议让你填,填完回传给快钱公司,确认后,才能开通提现功能,你才以提钱哦! 像支付宝等接口,需要到他们官方网站申请一个支付接口,然后在系统后台进行相应设置调试。
[支付宝参数设置案例]:t1 = "https://www.alipay.com/cooperate/gateway.do?"t4 = "images/alipay_bwrx.gif"t5 = "推荐使用支付宝付款"service = "trade_create_by_buyer"agent = "商户号"partner = "商户号"sign_type = "MD5"subject = "订单号:"&dingdan body = "seadori商城"out_trade_no = 变量 '客户网站订单号,(现取系统时间,可改成网站自己的变量)price = 变量 'price商品单价 0.01~50000.00discount = "0" '商品折扣show_url = "www.domain.com" '商品展示地址(可以直接写网站首页网址)quantity = "1" '商品数量payment_type = "1" '支付类型,(1代表商品购买)logistics_type = "POST" '物流种类(快递)logistics_fee = "0.00" '物流费用logistics_payment = "BUYER_PAY" '物流费用承担(买家付)logistics_type_1 = "EMS"logistics_fee_1 = "0.00"logistics_payment_1 = "BUYER_PAY" '物流费用承担(买家付)seller_email = "xxx@xxxl.net" '(必须填)key = "xxxxxx" '(必须填)notify_url= "http://domain/alipay/Alipay_Notify.asp" [网银在线参数设置案例]:key = "XXXX" v_mid = "商户号" v_amount="金额变量" v_moneytype = "CNY" 选择人民币 style="0" v_url="http://www.damain.com/Receive.asp" remark1="" remark2=""下面参数直接调用上面的定义, 不用修改。"> "> "> "> "> "> "> "> "> [快钱参数设置案例]merchant_id = "XXXXX" '''商户编号 merchant_key = "XXXXX" '''商户密钥 orderid = 变量 '''订单编号 amount = 变量 '''订单金额 curr = "1" '''货币类型,1为人民币 isSupportDES = "2" '''是否安全校验,2为必校验,推荐 merchant_url = "http://www.domaini.com/99bill/receive.asp" '''支付结果返回地址 pname = request("pname") '''支付人姓名 commodity_info = "xxx商品" '''商品信息 merchant_param = "" '''商户私有参数 (不用填写) [比较]:(1)快钱和玩银在线一般只使用3个文件, SEND, RECEIVE, MD5 SEND 文件发送参数,RECEIVE文件返回参数结果,MD5进行加密验证。 而支付宝一般有一个INDEX(可以调用到网站的支付页面),INDEX调用网站的变量参数,然后发送到PAYTO文件,INDEX和PAYTO文件组合起来相当于SEND的功能,而其他的都相同。 (2)支付宝大部分是安全支付平台,顾客收到货后支付宝才会给商户顾客支付的额度,而快钱和网银在线,钱杀直接到商户的帐里面。 3家公司的费率都是1%,而没有初装费或者年费, 不过过不了多久,肯定会有这类收费的。 所有支付系统都是有交易失败的情况的, 支付宝的失败率最少, 然后是网银,然后是快钱。 支付宝对客户来说是最为安全的,因为可以保证不被商家欺骗,但交易过程会慢很多;网银是中国B2C支付系统中最成熟的,很多大公司都用网银,网银对商家来说是最合适的;快钱和网银基本上一样, 只是快钱对快钱普通用户有费率优惠,快钱使用者以快钱帐户购买商家产品的时候会比网银占一点便宜,而且快钱也可以象网银那样, 不需要快钱帐户直接进行银行支付的。但快钱的系统交易失败率并不低。 想起以前用过的中国移动和中国联通的支付系统,一:手机支付接口开发调试的时候比较麻烦,特别是联通的, 是非常复杂的,有些公司开发手机支付接口花费1~2个月, 移动和联通的技术支持也非常差,很多情况都不会理睬,而最重要的是,他们的费率是20~40%, 这和网银的1%比起来,是晕死人的事情,不过在中国, 手机用户远比网上银行用户多,而中国的移动公司是垄断形的,这也是中国手机花费高的原因,要知道独裁政治和垄断企业是走到一起的。 [统合]很多网站一般在支付结果页面只集成一个支付渠道。因为多个支付渠道集成在一个页面的时候会有一些问题出现。(1)在一个支付页面内集成不同支付渠道的时候: 一般只支持一个接口。多个接口的时候调用的MD5,PAYTO等文件的定义不同,在一个页面头文件里无法引用多个文件。 可以不调用MD5,只调用PAYTO来实现3个支付系统全部运作, 但这个风险是很大的,没有进行MD5的加密,客户支付的钱不能保证到商户的帐户里面。这是有安全隐患的。PAYTO里面引用的MD5和外部SEND引用的MD5几乎是一样的问津, 但不同支付渠道对MD5引用的路径会不同,肯定是有安全隐患的。(2)在一个页面放多个按钮, 点击按钮跳转到SEND,INDEX等页面进行支付。 这个方法是最为方便的,但后面打开的SEND和INDEX等页面必须调用前面支付页面里的参数变量。 调用前一页参数的方法我在其他文章里详细说明过,在此不进行说明。
首先请你到招行去申请成为网上特约商户,此时会给你开一个基本帐户,这个基本帐户对应一个对公帐户。个人消费用户使用的是一卡通,一卡通基本帐户也对应有一个网上使用支付卡帐号在支付的过程中流程是如此的:例如:你要买一个20块钱的东西首先从基本一卡通帐户划10MONEY到你的网上支付卡中在商户网页上确认支付商户将引导您进入银行页面在银行页面中确认支付会将您的支付卡中的20MEONY支付到商户的对公帐户此时的对公帐户上的钱钱并不算归商户所有商户利用自己的系统看到你的定单,然后到银行给商户提供的系统中去看是否已经到帐,如果钱已经到帐而且可以进行此笔交易的话则将钱划到商户的基本帐户,此时钱才归商户所有。如果商户没有此商品或者此笔交易不能进行或者商户在银行规定的时间内没有对此帐进行处理那么到时间后此笔钱将划回用户自己的支付卡中,用户可以在支付卡和自己的基本帐号中自由转钱。在交易过程可以用明码,也可以用银行给的文件进行二次开发对商户和银行进行身份的确认,相对来说还是很简单的。由此看来最主要的仅仅是商户的开发页来引导用户和银行系统之间进行会话,这个过程也相对来说非常简单,下面附招商银行的接口部分原文……3. 网上支付方式网上支付方式分为两种,分别称为方式1和方式2。3.1. 网上支付方式1为了确保网上交易中资金的安全性,用户需要在一卡通中为网上交易开设一个专门的网上交易专户,对应有一张网上支付卡,并有一个对应的网上交易密码。用户需要用招商银行网上个人银行或者电话银行在一卡通和网上支付卡之间转钱。在网上交易过程中,用户先处于商户的网页中。当用户查看完购物篮并决定购买时,商户WEB系统将要求用户输入送货地址、联系电话等信息。然后,商户WEB系统根据购物篮内容生成相应定单,并生成支付网页回送用户浏览器。定单一般包括:定单号、交易日期、货品数量和单价及总计价、送货地址、联系电话等。支付网页包括:定单内容和选择招商银行网上支付卡支付按钮。当用户在支付网页中选择招商银行网上支付卡付款时,支付网页向银行WEB系统发出支付命令。银行WEB系统处理完支付请求后,将回送用户支付结果页面。支付命令格式如下:https://CMBHost/netpayment/BaseHttp.dll?PrePayC?BranchID=xxxx&CoNo=xxxxxx&BillNo=xxxxxx&Amount=xxx.xx&Date=YYYYMMDD用中心分行网址替换CMBHost。参数说明:BranchID: 商户开户分行号,请咨询开户的招商银行分支机构;CoNo: 商户号,6位长数字,由银行在商户开户时确定;BillNo: 定单号,6位长数字,由商户系统生成,一天内不能重复;Amount: 定单总金额,格式为:xxxx.xx元;Date: 交易日期,格式:YYYYMMDD。支付页面提交的FORM格式示例如下:POST>定单号000023金 额818.66日 期19981010方式1的特点是商户WEB系统通过支付页面把控制引导到银行WEB系统,银行WEB系统处理完支付请求后回送支付结果页面给用户,控制没有再回到商户WEB系统。商户在和银行结帐时(见5.2.节)可以知道定单的付款情况。如果商户系统需要立刻核实定单付款情况,可以使用一个直联定单状态查询接口向银行WEB系统查询某个定单的状态。有关直联定单状态查询接口请见3.3.节。3.2. 网上支付方式2某些商户在用户完成支付过程后希望控制能够从银行WEB系统自动转回商户WEB系统,并且商户WEB系统能够知道用户的付款情况。比如,出售信息产品的商户,在支付成功的情况下,商户的结果页除包含支付成功通知信息外,还可以包含用户购买的信息产品。为了解决这个问题,要求商户WEB系统必须提供一个支付结果通知命令。银行WEB系统在收到支付网页发出的支付命令后,先执行扣款操作,然后调用商户WEB系统的支付结果通知命令,把支付结果通知商户WEB系统,同时取得商户WEB系统生成的支付结果页面(由支付结果通知命令生成)。最后,银行WEB系统把由商户WEB系统的支付结果通知命令生成的支付结果页返回用户的浏览器。这就是支付方式2。支付结果通知命令格式型如:http://www.merchant.com/path/ProcResult.dll?Succeed=..&BillNo=..&Amount=..&Date=..&Msg=..&signature=..其中,path和ProcResult.dll由商户任意确定,并且支付命令中可包含多个path,即可有path1/path2/path3。参数说明:Succeed: 取值Y(成功)或N(失败);BillNo: 定单号(由支付命令送来);Amount: 实际支付金额(由支付命令送来);Date: 交易日期(由支付命令送来);Msg: 银行通知用户的支付结果消息,在支付成功时为“付款请求已被银行接受。”,在支付失败时是失败原因;Signature: 银行用自己的Private Key对通知命令的签名。注意:(1)商户系统如果对银行通知命令的真实性有较高要求,必须用银行提供的开发包中的函数,结合银行的Public Key(可从网上下载或向银行索取)验证。具体用法请参考附录3。(2)商户系统也可以进一步判断该命令发出方的IP地址为招商银行网站的IP地址,以防止用户伪造。如果商户系统对银行通知命令的真实性要求不是很高,只验证IP也可,这样可降低商户系统开发的复杂性。(3)在Succeed为Y时,商户在支付结果通知命令中必须判断Amount的值,该值为用户的实际支付金额,以此金额为准。不能以之前系统产生定单时的金额为准!这是为了防止用户在得到支付页面后修改支付金额。 支付方式2的支付命令格式有别于支付方式1,其格式为:https://CMBHost/netpayment/BaseHttp.dll?PrePayC1?BranchID=xxxx&CoNo=..&BillNo=..& Amount=..&Date=..&MerchantUrl=..用中心分行网址替换CMBHost。前五个参数同支付过程1,第六个参数MerchantUrl为支付结果通知命令中参数部分之前的部分,也就是http://www.merchant.com/path/ProcResult.dll。在方式2中,若用户付款后银行WEB系统或者商户WEB系统出现故障,则可能出现用户已付款但是商户WEB系统不知道的情况,或者出现用户已付款但是用户浏览器未接收到结果页的情况。如果这种异常情况会引起付款纠纷,则该商户必须由银行设置为非立即结帐商户,由商户利用结帐功能中的撤消定单功能解决这类付款纠纷。和方式1比较,方式2在用户完成支付操作后控制又回到商户的系统(用户处于商户WEB系统生成的支付结果页中),增加了银行WEB系统调用商户WEB系统的支付结果通知命令的过程。方式2比方式1复杂,并且商户WEB系统必须处理异常情况。但是方式2功能较强,使支付过程变得平滑无缝。在商户的Web系统向银行返回结果网页时,网页中应当有e="CMBNETPAYMENT" content="China Merchants Bank">,供银行判断是否为有效返回网页,以避免商户服务器失控后自动返回未知的信息而使消费者迷惑。不管是商户停机、网络中断或者Web服务器失控,银行都将屏蔽商户系统的问题,并用正常的网页替代商户网页返回给消费者,使消费者能继续正确操作。一旦发生这种情况,银行将通过电话银行中心以电话与商户管理服务器的人员联系,提醒其系统发生故障。考虑到方式2比较复杂,并且需要连接商户端程序,我们提供了测试接口以方便商户开发程序时测试。使用该测试接口模拟真实的数据流程,但无须真实的商户代码和支付卡号,银行系统也不记录交易数据(商户不能查询或结帐使用该测试接口产生的交易数据)。测试接口的使用方法和真实接口一致,只需由真实接口的PrePayC1改为测试接口的TestPrepayC1。注意:为防止用户利用测试接口扰乱商户正式运行的服务器,银行的测试接口通知信息中,BillNo始终为“000000”。https://CMBHost/netpayment/BaseHttp.dll?PrePayC1?BranchID=xxxx&CoNo=..&BillNo=..& Amount=..&Date=..&MerchantUrl=..改为https://CMBHost/netpayment/BaseHttp.dll?TestPrePayC1? BranchID=xxxx&CoNo=..&BillNo=..& Amount=..&Date=..&MerchantUrl=..。建议:一般销售实物的网站应尽量采用方式1。在方式2中,持卡人付款完毕,银行立即从商户网站取得返回页面,如果商户网站或者通讯线路出现任何问题,持卡人将看到不可理解的信息,从而诱导持卡人作进一步的误操作。