?? return_alipay_notify.asp
字號:
<!--#include file="Alipay_md5.asp"-->
<%
'Add by sunzhizhi 2006-5-10
Dim key
'Partner 和 交易安全校驗碼
partner="" 'partner合作伙伴id
key = "" '安全校驗碼
'*****************************************************************
'ATN 校驗地址 (兩種方案可以選擇使用https.http)
'alipayNotifyURL = "https://www.alipay.com/cooperate/gateway.do?"
'alipayNotifyURL = alipayNotifyURL & "service=notify_verify&partner=" & partner & "¬ify_id=" & Request.QueryString("notify_id")
'如果你的服務器不支持https訪問的話,可以使用http查詢地址,具體如下:
alipayNotifyURL = "http://notify.alipay.com/trade/notify_query.do?"
alipayNotifyURL = alipayNotifyURL &"partner=" & partner & "¬ify_id=" & request.QueryString("notify_id")
Set Retrieval = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
Retrieval.setOption 2, 13056
Retrieval.open "GET", alipayNotifyURL, False, "", ""
Retrieval.send()
ResponseTxt = Retrieval.ResponseText
Set Retrieval = Nothing
'*******************************************************************
'獲得 支付寶get過來的通知消息
For Each varItem in Request.QueryString
mystr=varItem&"="&Request.QueryString(varItem)&"^"&mystr
Next
If mystr<>"" Then
mystr=Left(mystr,Len(mystr)-1)
End If
'*******************************************************************
'對參數排序
mystr = SPLIT(mystr, "^")
Count=ubound(mystr)
For i = Count TO 0 Step -1
minmax = mystr( 0 )
minmaxSlot = 0
For j = 1 To i
mark = (mystr( j ) > minmax)
If mark Then
minmax = mystr( j )
minmaxSlot = j
End If
Next
If minmaxSlot <> i Then
temp = mystr( minmaxSlot )
mystr( minmaxSlot ) = mystr( i )
mystr( i ) = temp
End If
Next
'構造md5摘要字符串
For j = 0 To Count Step 1
value = SPLIT(mystr( j ), "=")
If value(0)<>"sign" And value(0)<>"sign_type" then
If j=Count Then
md5str= md5str&mystr( j )
Else
md5str= md5str&mystr( j )&"&"
End If
End If
Next
md5str=md5str&key
'生成md5摘要
mysign=md5(md5str)
'*******************************************************************
'驗證消息的可靠性,并且處理自己的業務動作,然后反回給支付寶成功消息
If mysign=Request.QueryString("sign") And ResponseTxt="true" Then
'判斷支付狀態,(文檔中有支付枚舉表,可供參考)
' If Request.QueryString("trade_status")="TRADE_FINISHED" Then
'支付寶收到買家付款,請賣家發貨 ,修改訂單狀態,發貨等
response.write "success"
'End if
Else
response.write "fail"
End If
'*******************************************************************
'寫文本,紀錄支付寶返回消息,比對md5計算結果(如網站不支持寫txt文件,可改成寫數據庫)
TOEXCELLR=TOEXCELLR&md5str&"MD5結果:"&mysign&"="&request.Form("sign")&"--ResponseTxt:"&ResponseTxt
set fs= createobject("scripting.filesystemobject")
set ts=fs.createtextfile(server.MapPath("Notify_DATA/"&replace(now(),":","")&".txt"),true)
ts.writeline(TOEXCELLR)
ts.close
set ts=Nothing
set fs=Nothing
%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -