📄 receive.asp
字号:
<%MDBpath="../../inc/"%>
<!--#include file="../../inc/mdb_path_user.asp"-->
<%
id=request("id")
modify=request("modify")
v_amount=request("v_amount")
v_pstatus=request("v_pstatus")
v_pmode=request("v_pmode")
v_oid=request("v_oid")
admin=request("admin")
if modify="yes" then
set r=server.createobject("adodb.recordset")
r.open "select * from UserInfo where id="&id,conn,1,3
if not r.eof then
r("v_amount")=v_amount
r("v_pmode")=v_pmode
r("v_pstatus")=v_pstatus
r("v_oid")=v_oid
r("admin")=admin
r("v_date")=date()
r("d_date")=year(date())+1&"-"&month(date())&"-"&day(date())
r.update
response.write "<Script Language=Javascript>window.alert('在线支付成功!');location.href='../../user/login.asp';</Script>"
end if
end if
%>
<!--
* ====================================================================
*
* Receive.asp 由网银在线技术支持提供
*
* 本页面为支付完成后获取返回的参数及处理......
*
*
* ====================================================================
-->
<!--#include file="MD5.asp"-->
<%
'**************************************** ' MD5密钥要跟订单提交页相同,如Send.asp里的 key = "test" ,修改""号内 test 为您的密钥
' 如果您还没有设置MD5密钥请登陆我们为您提供商户后台,地址:https://merchant3.chinabank.com.cn/
key = "321024791026yannansu" ' 登陆后在上面的导航栏里可能找到“资料管理”,在资料管理的二级导航栏里有“MD5密钥设置”
' 建议您设置一个16位以上的密钥或更高,密钥最多64位,但设置16位已经足够了
'****************************************
' 取得返回参数值
v_oid=request("v_oid") ' 商户发送的v_oid定单编号
v_pmode=request("v_pmode") ' 支付方式(字符串)
v_pstatus=request("v_pstatus") ' 支付状态 20(支付成功);30(支付失败)
v_pstring=request("v_pstring") ' 支付结果信息 支付完成(当v_pstatus=20时);失败原因(当v_pstatus=30时);
v_amount=request("v_amount") ' 订单实际支付金额
v_moneytype=request("v_moneytype") ' 订单实际支付币种
remark1=request("remark1") ' 备注字段1
remark2=request("remark2") ' 备注字段2
v_md5str=request("v_md5str") ' 网银在线拼凑的Md5校验串
if request("v_md5str")="" then
response.Write("v_md5str:空值")
response.end
end if
'md5校验
text = v_oid&v_pstatus&v_amount&v_moneytype&key
md5text = Ucase(trim(md5(text))) '商户拼凑的Md5校验串
if md5text<>v_md5str then ' 网银在线拼凑的Md5校验串 与 商户拼凑的Md5校验串 进行对比
'对比失败表示信息非网银在线返回的信息
response.write("MD5 error")
else
'对比成功表示信息是网银在线返回的信息
if v_pstatus=20 then
'支付成功
'此处加入商户系统的逻辑处理(例如判断金额,判断支付状态,更新订单状态等等)......
end if
end if
%>
<%if v_pstatus=20 then
zhuangtai = "在线支付已经支付成功"
%>
<body onLoad="javascript:document.E_FORM.submit()">
<%elseif v_pstatus=30 then
zhuangtai = "在线支付失败!"
%>
在线支付失败!
<%end if%>
<form action="receive.asp?id=<%=remark1%>" method="POST" name="E_FORM">
<table width="93%" border="0">
<tr><td><b>提示: 您网上在线支付情况反馈如下:</b><br><br>此次交易编号: <%=v_oid%>
<input type="hidden" name="v_oid" value='<%=v_oid%>'>
<input type="hidden" name="id" value='<%=remark1%>'>
<input type="hidden" name="v_pstatus" value='<%=v_pstatus%>'><br><br>
提示:<%=v_pstring%><br><br>
银行:<%=v_pmode%><input type="hidden" name="v_pmode" value='<%=v_pmode%>'><br><br>
金额:<%=v_amount%><input type="hidden" name="v_amount" value='<%=v_amount%>'><br><br>
<%if v_pstatus=20 then
zhuangtai = "在线支付已经支付成功"
%>
<input type="hidden" name="admin" value='DownHot3,DownAdd'>
<input name="modify" value="yes" type="hidden">
<%elseif v_pstatus=30 then
zhuangtai = "在线支付失败!"
%>
!
<%end if%>
</form>
</td>
</tr>
</table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -