?? receive.asp
字號:
<!--#include file="conn.asp"-->
<%
if request.cookies("web767")("username")="" then
response.write "<script language=javascript>alert('對不起,您還沒有登陸!');window.close();</script>"
response.End
end if
set rs=server.CreateObject("adodb.recordset")
rs.Open "select payid from sh_config ",conn,1,3
MerchantID_User=rs("payid")'支付ID(客戶ID)
rs.close
set rs=nothing
''''''''''''''''''''''''''''''''''''''''''
' 該示范程序接收西部支付發來的支付成功通知,驗證其真實性,并作相應的自動處理
''''''''''''''''''''''''''''''''''''''''''
dim MerchantOrderNumber, WestPayOrderNumber, PaidAmount, MerchantID
MerchantOrderNumber=request("MerchantOrderNumber") '和商戶支付命令中的訂單號相同
WestPayOrderNumber=request("WestPayOrderNumber")
PaidAmount=ccur("0"&request("PaidAmount")) 'WestPay傳回的實際支付金額。用CCUR轉為數字型。
'注:商戶必須根據我們傳回商戶原始訂單號找到原始訂單,比較實付金額和原始訂單金額,相同才是支付成功。
MerchantID=request("MerchantID")
'注:商戶必須判斷此商戶ID是不是您的商戶ID
Dim objHttp, str
Dim PaymentCompleted
PaymentCompleted=false
' 準備回傳支付通知表單
str = Request.Form & "&cmd=validate"
'set objHttp = Server.CreateObject("Msxml21.ServerXMLHTTP")
'set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0")
'set objHttp = Server.CreateObject("Microsoft.XMLHTTP")
set objHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
'把WestPay傳來的通知內容再傳回到WestPay作驗證以確保通知信息的真實性
objHttp.open "POST", "http://www.WestPay.com.cn/pay/ISPN.asp", false
'ISPN: Instant Secure Payment Notification
objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHttp.Send str
if (objHttp.status <> 200 ) then
'HTTP 錯誤處理
response.Write("Status="&objHttp.status)
elseif (objHttp.responseText = "VERIFIED") then
'支付通知驗證成功
if MerchantID=""&MerchantID_User&"" then '判斷此訂單是不是商戶的訂單。
PaymentCompleted=true
end if
elseif (objHttp.responseText = "INVALID") then
'支付通知驗證失敗
response.Write("Invalid")
else
'支付通知驗證過程中出現錯誤
response.Write("Error")
end if
set objHttp = nothing
if PaymentCompleted then
'支付成功的處理...(以下程序僅供參考)
'注:商戶必須根據我們傳回商戶原始訂單號找到原始訂單,比較實付金額和原始訂單金額,相同才是支付成功。
'此處為在線充值,不用金額比對是否夠!
'if 您的原始訂單金額=PaidAmount then
'''''''''''''''''''''開始寫入數據庫''''''''''''''''''''
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from [sh_user] where username='"&request.cookies("web767")("username")&"' ",conn,1,3
rs("yucun")=PaidAmount+rs("yucun")
rs.update
rs.close
set rs=nothing
response.redirect "logout2.asp"
'else
'失敗
'end if
else
'支付不成功的處理...
response.redirect "logout3.asp"end if
%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -