www.gusucode.com > 中网景企业网站管理系统 2008源码程序 > chinese/pay.asp

    
<br />
您未付款,请选择点击以下支付方式进行付款(<a href="users.asp">或返回用户中心,稍后再付款</a>):
<% 

Dim strFullURL'获取当前文件url路径
'strFullURL ="http://"& Request.ServerVariables("LOCAL_ADDR") &":" & Request.ServerVariables("SERVER_PORT")& Request.ServerVariables("PATH_INFO")
strFullURL ="http://"& Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("PATH_INFO")
strFullURL=Mid(strFullURL,1,InstrRev(strFullURL,"/"))

rs.open "select * from cnk_payway where payname='alipay' and isopen=1",conn,1,1
if rs.recordcount>0 then
Response.Write("<div class=""paywaybox"">")

dim key,partner,sign_type,subject,body,out_trade_no,price,discount,show_url,quantity,payment_type,logistics_type,logistics_fee,logistics_payment,seller_email,notify_url,dingdan
dim AlipayObj,itemUrl
      show_url          = SiteURL                   '产品介绍的网址
	  seller_email		= rs("payid")				'请设置成您自己的支付宝帐户
	  partner			= rs("partnerid")					'支付宝的账户的合作者身份ID
	  key			    = rs("paykey")	'支付宝的安全校验码

      notify_url			= strFullURL & "pay_receive_alipay.asp" '"./Alipay_Notify.asp"	'付完款后服务器通知的页面 要用 http://格式的完整路径
	  return_url			= strFullURL & "pay_receive_alipay.asp"'"./return_Alipay_Notify.asp"	'付完款后跳转的页面 要用 http://格式的完整路径

	  '以下三行虚拟商品不用,可注释掉
	  logistics_fee		= "0.00"				'物流配送费用
	  logistics_payment	= "BUYER_PAY"			'物流配送费用付款方式:SELLER_PAY(卖家支付)、BUYER_PAY(买家支付)、BUYER_PAY_AFTER_RECEIVE(货到付款)
	  logistics_type		= "EXPRESS"			'物流配送方式:POST(平邮)、EMS(EMS)、EXPRESS(其他快递)
	
	'shijian=now()
    'dingdan=year(shijian)&month(shijian)&day(shijian)&hour(shijian)&minute(shijian)&second(shijian)
    '客户网站订单号,(现取系统时间,可改成网站自己的变量)
	dingdan=orderid
	
	subject			=	"订单号"&orderid&":"&product_name		'商品名称
	body			=	"购买"&product_name&"的总额"		'body			商品描述
	out_trade_no    =   dingdan       
	price		    =	alltotalprice				'price商品单价			0.01~50000.00
    quantity        =   "1"               '商品数量,如果走购物车默认为1
	discount        =   "0"               '商品折扣
    seller_email    =    seller_email   '卖家的支付宝帐号
	Set AlipayObj	= New creatAlipayItemURL
	itemUrl=AlipayObj.creatAlipayItemURL(subject,body,out_trade_no,price,quantity,seller_email)

Response.Write("<a href="""&itemURL&""" target=""_blank""><img src=""../images/p_alipay.gif"" border=""0"" /></a>")
Response.Write("</div>")
end if
rs.close
%>
<% rs.open "select * from cnk_payway where payname='chinabank' and isopen=1",conn,1,1 
if rs.recordcount>0 then%>
<%
	dim v_mid,v_url,v_key,v_oid,v_amount,v_moneytype,v_text,v_md5info
	dim v_rcvname,v_rcvaddr,v_rcvtel,v_rcvpost,v_rcvemail,v_rcvmobile,v_ordername
	dim v_orderaddr,v_ordertel,v_orderpost,v_orderemail,v_ordermobile,remark1,remark2
	
	v_mid = rs("payid") 	' 商户号,这里为测试商户号20000400,替换为自己的商户号即可
	v_url = strFullURL & "pay_receive_chinabank.asp"	' 商户自定义返回接收支付结果的页面 Receive.asp 为接收页面

							' MD5密钥要跟订单提交页相同,如Send.asp里的 key = "test" ,修改""号内 test 为您的密钥
	v_key =  rs("paykey")	' 如果您还没有设置MD5密钥请登陆我们为您提供商户后台,地址:https://merchant3.chinabank.com.cn/
							' 登陆后在上面的导航栏里可能找到“资料管理”,在资料管理的二级导航栏里有“MD5密钥设置” 
							' 建议您设置一个16位以上的密钥或更高,密钥最多64位,但设置16位已经足够了
	v_oid = orderid
	v_amount = alltotalprice		' 订单金额
	v_moneytype = "CNY"					' 币种
	v_text = v_amount&v_moneytype&v_oid&v_mid&v_url&v_key	' 拼凑加密串
	v_md5info=Ucase(trim(md5(v_text)))					' 网银支付平台对MD5值只认大写字符串,所以小写的MD5值得转换为大写

'**********以下几项为可选信息,如果发送网银在线会保存此信息,使用和不使用都不影响支付!**************

	v_rcvname = buyer_name			' 收货人
	v_rcvaddr = buyer_address			' 收货地址
	v_rcvtel = buyer_tel			' 收货人电话
	v_rcvpost = buyer_postcode			' 收货人邮编
	v_rcvemail = buyer_email		' 收货人邮件
	v_rcvmobile = ""		' 收货人手机号

	v_ordername = buyer_name		' 订货人姓名
	v_orderaddr = buyer_address		' 订货人地址
	v_ordertel = buyer_tel		' 订货人电话
	v_orderpost = buyer_postcode		' 订货人邮编
  	v_orderemail = buyer_email		' 订货人邮件
	v_ordermobile = ""	' 订货人手机号

	remark1 = buyer_msg			' 备注字段1
	remark2 = ""			' 备注字段2

%>
<div class="paywaybox">
  <form action="https://pay3.chinabank.com.cn/PayGate" method="post" name="E_FORM" target="_blank">
    <!--以下几项为网上支付重要信息,信息必须正确无误,信息会影响支付进行!-->
    <input type="hidden" name="v_md5info"    value="<%=v_md5info%>" size="100">
    <input type="hidden" name="v_mid"        value="<%=v_mid%>">
    <input type="hidden" name="v_oid"        value="<%=v_oid%>">
    <input type="hidden" name="v_amount"     value="<%=v_amount%>">
    <input type="hidden" name="v_moneytype"  value="<%=v_moneytype%>">
    <input type="hidden" name="v_url"        value="<%=v_url%>">
    <!--以下几项项为网上支付完成后,随支付反馈信息一同传给信息接收页,在传输过程中内容不会改变,如:Receive.asp -->
    <input type="hidden"  name="remark1" value="<%=remark1%>">
    <input type="hidden"  name="remark2" value="<%=remark2%>">
    <!--以下几项与网上支付货款无关,只是用来记录客户信息,可以不用,使用和不使用都不影响支付 -->
    <input type="hidden"  name="v_rcvname"      value="<%=v_rcvname%>">
    <input type="hidden"  name="v_rcvaddr"      value="<%=v_rcvaddr%>">
    <input type="hidden"  name="v_rcvtel"       value="<%=v_rcvtel%>">
    <input type="hidden"  name="v_rcvpost"      value="<%=v_rcvpost%>">
    <input type="hidden"  name="v_rcvemail"     value="<%=v_rcvemail%>">
    <input type="hidden"  name="v_rcvmobile"    value="<%=v_rcvmobile%>">
    <input type="hidden"  name="v_ordername"    value="<%=v_ordername%>">
    <input type="hidden"  name="v_orderaddr"    value="<%=v_orderaddr%>">
    <input type="hidden"  name="v_ordertel"     value="<%=v_ordertel%>">
    <input type="hidden"  name="v_orderpost"    value="<%=v_orderpost%>">
    <input type="hidden"  name="v_orderemail"   value="<%=v_orderemail%>">
    <input type="hidden"  name="v_ordermobile"  value="<%=v_ordermobile%>">
    <input name="image3" type="image" src="../images/p_chinabank.gif" alt="" />
  </form>
</div>
<% end if
		  rs.close %>
<% rs.open "select * from cnk_payway where payname='99bill' and isopen=1",conn,1,1 
		if rs.recordcount>0 then
		
		Dim kq_merchant_id,kq_key,kq_amount,kq_orderid,kq_curr,kq_commodity_info,kq_pname
		Dim kq_merchant_url,kq_merchant_param,kq_pid_99billaccount,kq_sendtxt,kq_mac
		kq_merchant_id = rs("payid")   '商户编号
		kq_key = rs("paykey")			'私钥值。即商户登录99BILL快钱系统后设定的 商户密钥
		kq_orderid = orderid '订单编号[商户网站]
		kq_amount =  alltotalprice  	'支付金额
		kq_curr = "1"    								'货币类型。1为RMB
		kq_commodity_info = "商品信息"
		kq_pname = buyer_name  	'"收货人姓名"

		kq_merchant_url = strFullURL & "pay_receive_99bill.asp"     '商家接受支付结果的URL
		'kq_merchant_url =  rs("backurl")    '商家接受支付结果的URL

		kq_merchant_param = ""'商家需要回传的额外参数,如果是多个参数,可以用|分隔
 
		'kq_pid_99billaccount="879905060102977462"   ''快钱合作伙伴商户编号


 		'注意正确的参数串拼凑顺序
		kq_sendtxt="merchant_id=" & kq_merchant_id & "&orderid=" & kq_orderid & "&amount=" & kq_amount & "&merchant_url=" & kq_merchant_url & "&merchant_key=" & kq_key

			'md5加密
			kq_mac=ucase(md5(kq_sendtxt))%>
<div class="paywaybox">
  <form name="frm" method="post" action="https://www.99bill.com/webapp/receiveMerchantInfoAction.do" target="_blank">
    <input type="hidden" name="merchant_id" value="<%=kq_merchant_id%>">
    <input type="hidden" name="orderid" value="<%=kq_orderid%>">
    <input type="hidden" name="amount" value="<%=kq_amount%>">
    <input type="hidden" name="commodity_info"  value="<%=server.urlencode(kq_commodity_info)%>">
    <input type="hidden" name="merchant_url"  value="<%=kq_merchant_url%>">
    <input type="hidden" name="merchant_param"  value="<%=kq_merchant_param%>">
    <input type="hidden" name="pname"  value="<%=server.urlencode(kq_pname)%>">
    <input type="hidden" name="currency" value="<%=kq_curr%>">
    <input type="hidden" name="isSupportDES" value="2">
    <input type="hidden" name="mac" value="<%=kq_mac%>">
    <input type="hidden" name="pid" value="<%=kq_pid_99billaccount%>">
    <input name="image" type="image" src="../images/p_99bill.gif"  alt="使用快钱支付" />
  </form>
</div>
<% end if
	rs.close %>
<% rs.open "select * from cnk_payway where payname='tenpay' and isopen=1",conn,1,1 
	if rs.recordcount>0 then
	
	' 获取服务器日期,格式YYYYMMDD
	Function CFTGetServerDate 
		Dim strTmp, iYear,iMonth,iDate 
		iYear = Year(Date) 
		iMonth = Month(Date) 
		iDate = Day(Date) 

		strTmp = CStr(iYear)
		If iMonth < 10 Then 
			strTmp = strTmp & "0" & Cstr(iMonth)
		Else 
			strTmp = strTmp & Cstr(iMonth)
		End If 
		If iDate < 10 Then 
			strTmp = strTmp & "0" & Cstr(iDate) 
		Else 
			strTmp = strTmp & Cstr(iDate) 
		End If 
		CFTGetServerDate = strTmp 
	End Function

	Dim request_text
	Dim md5_sign
	Dim spid,sp_key,cmdno,bill_date,bank_type,desc,purchaser_id,bargainor_id,sp_billno
	Dim transaction_id,total_fee,fee_type,return_url,attach,sign_text

	spid	= rs("payid")		' 这里替换为您的实际商户号
	sp_key	= rs("paykey")	' sp_key是32位商户密钥, 请替换为您的实际密钥

	' 下面是请求参数
	cmdno		= "1"				' 财付通支付为"1" (当前只支持 cmdno=1)	
	bill_date	= CFTGetServerDate	' 交易日期 (yyyymmdd)	
	bank_type	= "0"				' 银行类型:	0		财付通
									'			1001	招商银行   
									'			1002	中国工商银行  
									'			1003	中国建设银行  
									'			1004	上海浦东发展银行   
									'			1005	中国农业银行  
									'			1006	中国民生银行  
									'			1008	深圳发展银行   
									'			1009	兴业银行   

	desc		= orderid&"号订单在线支付"		' 商品名称
	purchaser_id = ""				' 用户财付通帐号,如果没有可以置空
	bargainor_id = spid				' 商户号
	sp_billno	 = orderid		' 商户生成的订单号(最多32位)	

	' 重要:
	' 交易单号(28位): 商户号(10位) + 日期(8位) + 流水号(10位), 必须按此格式生成, 且不能重复
	' 如果sp_billno超过10位, 则截取其中的流水号部分加到transaction_id后部(不足10位左补0)
	' 如果sp_billno不足10位, 则左补0, 加到transaction_id后部
	transaction_id = spid & bill_date & left(sp_billno,10)

	total_fee	 = 	alltotalprice*100			' 总金额, 分为单位
	fee_type	 = "1"				' 货币类型: 1 – RMB(人民币) 2 - USD(美元) 3 - HKD(港币)
	return_url	 = strFullURL & "pay_receive_tenpay.asp" ' 财付通回调页面地址, (最长255个字符)
	attach		 = ""	' 商户私有数据, 请求回调页面时原样返回

	' 生成MD5签名    
	sign_text = "cmdno=" & cmdno & "&date=" & bill_date & "&bargainor_id=" & bargainor_id &_
        "&transaction_id=" & transaction_id & "&sp_billno=" & sp_billno &_
        "&total_fee=" & total_fee & "&fee_type=" & fee_type & "&return_url=" & return_url &_
        "&attach=" & attach & "&key=" & sp_key

	md5_sign = UCase(MD5(sign_text))        ' 转换为大写  
	%>
<div class="paywaybox">
  <form action="https://www.tenpay.com/cgi-bin/v1.0/pay_gate.cgi" target="_blank">
    <input type="hidden" name="cmdno"				value="<%=cmdno%>">
    <input type="hidden" name="date"			    value="<%=bill_date%>">
    <input type="hidden" name="bank_type"			value="<%=bank_type%>">
    <input type="hidden" name="desc"				value="<%=desc%>">
    <input type="hidden" name="purchaser_id"		value="<%=purchaser_id%>">
    <input type="hidden" name="bargainor_id"		value="<%=bargainor_id%>">
    <input type="hidden" name="transaction_id"	value="<%=transaction_id%>">
    <input type="hidden" name="sp_billno"			value="<%=sp_billno%>">
    <input type="hidden" name="total_fee"			value="<%=total_fee%>">
    <input type="hidden" name="fee_type"			value="<%=fee_type%>">
    <input type="hidden" name="return_url"		value="<%=return_url%>">
    <input type="hidden" name="attach"			value="<%=attach%>">
    <input type="hidden" name="sign"				value="<%=md5_sign%>">
    <input name="image" type="image" src="../images/p_tenpay.gif"  alt="使用财付通支付" />
  </form>
</div>
<% end if
		  rs.close %>
<% rs.open "select * from cnk_payway where payname='shengxun' and isopen=1",conn,1,1 
		if rs.recordcount>0 then%>
<%dim payid,paykey,backurl,servicename,amount,ymd,sjj,custom1name,custom1,custom2name,custom2,payvia,paymode,post_md5info
payid=rs("payid")
paykey=rs("paykey")
backurl=strFullURL & "pay_receive_shengxun.asp"
servicename=orderid& "号订单在线支付"
amount=alltotalprice*100
ymd=zhuan_day(now)
'xiaoshi=right("00"&hour(time),2)
'fenzhong=right("00"&minute(time),2)
'miao=right("00"&second(time),2)
Randomize
sjj=cstr(Int((8999 * Rnd) + 1000))
custom1name="定货人"
custom1=buyer_name
custom2name=""
custom2=""
payvia="2,3,4,1"
paymode=""
post_md5info=Ucase(trim(md5(payid&amount&ymd&backurl&orderid&custom1&custom2&payvia&paykey&paymode)))
%>
<div class="paywaybox">
  <form name="form2" method="get" action="http://pay.168reg.cn/pay.do" target="_blank" />
  <input type="hidden" name="reg_userid" value="<%=payid%>" />
  <input type="hidden" name="servicename" value="<%=servicename%>" />
  <input type="hidden" name="amount" value="<%=amount%>" />
  <input type="hidden" name="ymd" value="<%=ymd%>" />
  <input type="hidden" name="receive_url" value="<%=backurl%>" />
  <input type="hidden" name="billno" value="<%=orderid%>" />
  <input type="hidden" name="custom1name" value="<%=custom1name%>" />
  <input type="hidden" name="custom1" value="<%=custom1%>" />
  <input type="hidden" name="custom2name" value="<%=custom2name%>" />
  <input type="hidden" name="custom2" value="<%=custom2%>" />
  <input type="hidden" name="paymode" value="<%=paymode%>" />
  <input type="hidden" name="payvia" value="<%=payvia%>" />
  <input type="hidden" name="post_md5info" value="<%=post_md5info%>" />
  <input name="image" type="image" src="../images/pay_msg.gif"  alt="" />
  </form>
</div>
<% end if
		  rs.close %>
<div class="paywaybox">
  <script language="JavaScript" type="text/javascript">
		function showbank()
		{
		var b;
		b=document.getElementById('bankaccount');
		if (b.style.display=='none')
		{b.style.display="";}
		else
		{b.style.display='none';}
		}
		</script>
  <a href="javascript:showbank();"> <img src="../images/pay_other.gif" alt="" border="0" /><br />
  点击显示银行帐号
</a> </div>
<div class="clearboth"></div>
<div id="bankaccount" style="display:none;"> 可选择以下银行帐号直接汇款/转帐,为了为防止您的汇款与其他客户的汇款混淆,请存入一个零头,如:500.08元以相互区分,
  为确认款到帐,请您汇款后及时联系我们查帐,或将在线支付/银行底单等汇款凭证截图传给我们。
  <% rs.open "select payid,content from cnk_payway where payname='bank' order by paixu",conn,1,1
		do while not rs.eof %>
  <div class="paybankbox">
    <div class="banklogo"><img src="../images/bank_<%= rs("payid") %>.gif" /></div>
    <div class="bankinfo"> <%= CnkUBBContent(rs("content")) %> </div>
  </div>
  <% rs.movenext 
		  loop
		  rs.close %>
  <div class="clearboth"></div>
</div>