www.gusucode.com > 中网景企业网站管理系统 2008源码程序 > chinese/pay_receive_alipay.asp
<!--#include file="../cnkdata/dbname.asp" --> <!--#include file="../common/config.asp"--> <% dim conn dim connstr dim db db = "../cnkdata/"&dbname '数据库位置 connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db) 'On Error Resume Next'开发时间暂关 Set conn = Server.CreateObject("ADODB.Connection") conn.open connstr If err then err.clear Set conn = nothing response.write "数据库连接出错,请检查连接字串。" response.End End If sub closedb() conn.close set conn=nothing end sub %> <!--#include file="../common/md5_32.asp"--> <!--#include file="../common/function.asp"--> <% Dim key,partner,alipayNotifyURL,Retrieval,ResponseTxt Dim out_trade_no,total_fee,receive_name,receive_address,receive_zip,receive_phone,receive_mobile Dim varItem,mystr,acount,i,j,minmax,minmaxSlot,mark,temp,avalue,md5str,mysign 'Partner 和 交易安全校验码 rs.open "select * from cnk_payway where payname='alipay' and isopen=1",conn,1,1 partner =rs("partnerid") '设置对应账户的合作者身份ID key =rs("paykey") '设置支付宝的安全校验码 rs.close out_trade_no = DelStr(Request("out_trade_no")) '获取定单号 total_fee = DelStr(Request("total_fee")) '获取支付的总价格 receive_name =DelStr(Request("receive_name")) '获取收货人姓名 receive_address =DelStr(Request("receive_address"))'获取收货人地址 receive_zip =DelStr(Request("receive_zip")) '获取收货人邮编 receive_phone =DelStr(Request("receive_phone")) '获取收货人电话 receive_mobile =DelStr(Request("receive_mobile")) '获取收货人手机 '**********************判断消息是不是支付宝发出******************** alipayNotifyURL = "http://notify.alipay.com/trade/notify_query.do?" alipayNotifyURL = alipayNotifyURL &"partner=" & partner & "¬ify_id=" & request("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(varItem)&"^"&mystr Next If mystr<>"" Then mystr=Left(mystr,Len(mystr)-1) End If mystr = SPLIT(mystr, "^") acount=ubound(mystr) '对参数排序 For i = acount 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 acount Step 1 avalue = SPLIT(mystr( j ), "=") If avalue(1)<>"" And avalue(0)<>"sign" And avalue(0)<>"sign_type" Then If j=acount Then md5str= md5str&mystr( j ) Else md5str= md5str&mystr( j )&"&" End If End If Next md5str=md5str&key mysign=md5(md5str) '******************************************************** Dim pay_msg If mysign=Request("sign") and ResponseTxt="true" Then conn.execute("update cnk_orderform set zhuangtai=1,payway='支付宝收到付款,请发货' where orderid='"&sqlchkchar(out_trade_no)&"'") '处理订单状态 pay_msg="支付成功" Else pay_msg="支付失败" End If Response.write "<script language=javascript>" Response.write "window.location.href='pay_showResult.asp?msg=" & pay_msg & "';" '替换成商户网站相应页面地址 Response.write "</script>" Function DelStr(Str) If IsNull(Str) Or IsEmpty(Str) Then Str = "" End If DelStr = Replace(Str,";","") DelStr = Replace(DelStr,"'","") DelStr = Replace(DelStr,"&","") DelStr = Replace(DelStr," ","") DelStr = Replace(DelStr," ","") DelStr = Replace(DelStr,"%20","") DelStr = Replace(DelStr,"--","") DelStr = Replace(DelStr,"==","") DelStr = Replace(DelStr,"<","") DelStr = Replace(DelStr,">","") DelStr = Replace(DelStr,"%","") End Function %>