⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chinabank_receive.asp

📁 功能最强大的ASP网站
💻 ASP
字号:
<!--#include file="../inc/conn.asp"-->
<!--#include file="../inc/func.asp"-->
<%
'该页面为支付完成后获取返回的参数及处理.....
 '获取参数
v_oid=request("v_oid")
v_pmode=request("v_pmode")
v_pstatus=request("v_pstatus")
v_pstring=request("v_pstring")
v_md5info=request("v_md5info")
v_amount=request("v_amount")
v_moneytype=request("v_moneytype")
v_md5money=request("v_md5money")
v_md5=request("v_md5")
key="chinabank857860585jbvisdfjwois"

if request("v_md5info")="" then
	session("mesg")="v_md5info:空值"
	Response.Redirect "../result.asp"
	'response.Write("v_md5info:空值")
	response.end
end if


'md5校验

text = v_oid&v_pstatus&v_amount&v_moneytype&key
md5text = trim(md5(text))


'按md5检验情况输出结果 Ucase转换为大写
if Ucase(md5text)<>Ucase(v_md5) then
	session("mesg")="检验出错"
	Response.Redirect "../result.asp"
  	'response.write("error")
else
  'response.write("received")
	'或response.write "sent',依据商品物流特征决定。

	'提示:仅是对校验码校验通过不表示该支付结果是成功只意味着该信息是由网银传回
	'校验成功需对传回的v_pstatus参数做判断,其中1或20都意味着支付成功(只是支付状态分非实时和实时两种),30表示支付失败
	'如果商户涉及实时售卡,请对返回的金额与数据库中原始金额做大小判断,以防恶意行为
    '操作数据库

'''''''''''''''''''''开始写入数据库''''''''''''''''''''
'如果返回成功,即为客户真实入帐
if v_pstatus=20 then
	set rs = conn.execute (" select * from banktransfer where orderid='"& v_oid & "' ")
	if rs.eof then
		session("mesg")="在线支付入帐失败:未找到转帐记录,请尽快与本公司财务部联系"
		Response.Redirect "../result.asp"
		'response.write "在线支付入帐失败:未找到转帐记录,请尽快与本公司财务部联系"
		response.end
	end if
	
	if rs("status") = "正在确认" then
		direction = "真实入帐"
		remark = "网银转帐,转帐订单号["& v_oid & "]"
		username = rs("username")
		amount = v_amount
		billno = v_oid
		rs.close
		set rs = nothing
		
		ret = FunManage(direction,username,amount, billno, remark, ErrMsg)
		
	
		if ret = "0" then
			conn.execute ("update banktransfer set status='正常',handletime='" & now() & "', remark='已真实入帐到[" & username & "]' where orderid='" & v_oid & "' ")
			session("mesg")="系统为客户["&username&"]做["&direction&"]["&amount&"]成功"
			Response.Redirect "../result.asp"
			'response.write "系统为客户["&username&"]做["&direction&"]["&amount&"]成功"
		else
			session("mesg")="系统为客户["&username&"]做["&direction&"]["&amount&"]失败:" & ErrMsg
			Response.Redirect "../result.asp"
			'response.write "系统为客户["&username&"]做["&direction&"]["&amount&"]失败:" & ErrMsg
		end if
	else
		session("mesg")="该支付订单已入帐成功"
		Response.Redirect "../result.asp"
		'response.write "该支付订单已入帐成功"
	end if

end if







'cn.close
'set cn=nothing
'set rs=nothing
   
   '-----------------------------------------------
   '若有错误发生
   If Err.Number <> 0 Then
      Response.Write "error" & Err.Number & "<br>"
      Response.Write "error" & Err.Source & "<br>"
      Response.Write "error" & Err.Description & "<br>"
   End If
   '-----------------------------------------------
   '关闭资料库
   '-----------------------------------------------
end if
response.end
%>
<!--
以下是打印出所有接收数据的结果,供编程人员参考
-->
<table width="93%" border="0">
  <tr> 
    <td> <p><b><font color="#FF0000">提示:</font> 您网上在线支付情况反馈如下:</b><br>
        此次交易编号: <%=v_oid%></p>
      <p> 
        <% if v_pstatus=1 then
								zhuangtai = "支付已提交,但已对您的非实时银行卡已经进行扣款 "
								%>
        支付已提交,但已对您的非实时银行卡已经进行扣款 
        <%elseif v_pstatus=20 then
								zhuangtai = "在线支付已经支付成功"
								%>
        在线支付已经支付成功 
        <%elseif v_pstatus=30 then
								zhuangtai = "在线支付失败!"
								%>
        在线支付失败! 
        <%end if%>
      </p>
      <p> 支付代码号:<%=v_pstatus%><br>
        <br>
        在线支付结果:<%=v_pstring%> </p>
      <p> 您所使用的卡为:<%=v_pmode%></p>
      
      <p>发生额:<%=v_amount%></p>
      </p></td>
  </tr>
</table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -