<% Dim rs,rs2,sSQL,orderText,errtext,ordGrandTotal,ordID,ordAuthNumber success=false errtext="" ordGrandTotal = 0 Session("couponapply") = "" Sub order_failed %>
<%=xxThkErr%> <% if errtext<>"" then response.write "

" & errtext & "

" %> <%=xxCntShp%>
<% End sub Set rs = Server.CreateObject("ADODB.RecordSet") Set rs2 = Server.CreateObject("ADODB.RecordSet") Set cnn=Server.CreateObject("ADODB.Connection") cnn.open sDSN alreadygotadmin = getadminsettings() sSQL="SELECT adminCert FROM admin WHERE adminID=1" rs.Open sSQL,cnn,0,1 thecert=rs("adminCert")&"" rs.Close if Request.Form("custom")<>"" then ' PayPal ordID = trim(replace(request.form("custom"), "'", "")) txn_id = trim(replace(request.form("txn_id"), "'", "")) sSQL = "SELECT ordAuthNumber FROM orders WHERE ordPayProvider=1 AND ordStatus>=3 AND ordAuthNumber='"&txn_id&"' AND ordID=" & ordID success = (txn_id<>"") rs.Open sSQL,cnn,0,1 if rs.EOF then success = FALSE rs.Close if success then Call do_order_success(ordID,emailAddr,FALSE,TRUE,FALSE,FALSE,FALSE) else cnn.Execute("UPDATE cart SET cartCompleted=2 WHERE cartCompleted=0 AND cartOrderID="&ordID) cnn.Execute("UPDATE orders SET ordAuthNumber='no ipn' WHERE ordAuthNumber='' AND ordPayProvider=1 AND ordID="&ordID) errtext = xxNoCnf Call order_failed end if elseif request.form("method")="paypalexpress" AND Request.Form("token")<>"" then ' PayPal Express success = getpayprovdetails(18,username,password,demomode,ppmethod) ordID = replace(trim(request.form("ordernumber")), "'", "") token = trim(request.form("token")) payerid = trim(request.form("payerid")) ordAuthNumber = "" if demomode then sandbox = ".sandbox" else sandbox = "" sSQL = "SELECT ordShipping,ordStateTax,ordCountryTax,ordHandling,ordTotal,ordDiscount,ordAuthNumber,ordEmail FROM orders WHERE ordID=" & ordID rs.Open sSQL,cnn,0,1 if NOT rs.EOF then session.LCID = 1033 amount = formatnumber((rs("ordShipping")+rs("ordStateTax")+rs("ordCountryTax")+rs("ordTotal")+rs("ordHandling"))-rs("ordDiscount"),2,-1,0,0) session.LCID = saveLCID if rs("ordEmail")=trim(request.form("email")) then ordAuthNumber = trim(rs("ordAuthNumber")&"") else success = FALSE end if rs.Close if success then if ordAuthNumber="" then sXML = ppsoapheader(username, password) & _ " " & _ " " & _ " " & _ " 1.00" & _ " " & _ " " & IIfVr(ppmethod=1, "Authorization", "Sale") & "" & _ " " & token & "" & _ " " & payerid & "" & _ " " & _ " " & amount & "" & _ " ecommercetemplates.asp.ecommplus" & _ " " & _ " " & _ " " & _ " " & _ " " & _ "" if callxmlfunction("https://api" & sandbox & ".paypal.com/2.0/", sXML, res, username, "WinHTTP.WinHTTPRequest.5.1", vsRESPMSG, FALSE) then set xmlDoc = Server.CreateObject("MSXML2.DOMDocument") xmlDoc.validateOnParse = False xmlDoc.loadXML (res) Set nodeList = xmlDoc.getElementsByTagName("SOAP-ENV:Body") Set n = nodeList.Item(0) for j = 0 to n.childNodes.length - 1 Set e = n.childNodes.Item(i) if e.nodeName = "DoExpressCheckoutPaymentResponse" then for k = 0 To e.childNodes.length - 1 Set t = e.childNodes.Item(k) if t.nodeName = "Token" then if t.firstChild.nodeValue = "Success" then success=TRUE elseif t.nodeName = "DoExpressCheckoutPaymentResponseDetails" then set ff = t.childNodes for kk = 0 to ff.length - 1 set gg = ff.item(kk) if gg.nodeName = "PaymentInfo" then set hh = gg.childNodes for ll = 0 to hh.length - 1 set ii = hh.item(ll) if ii.nodeName = "PaymentStatus" then status = ii.firstChild.nodeValue elseif ii.nodeName = "PendingReason" then pendingreason = ii.firstChild.nodeValue elseif ii.nodeName = "TransactionID" then txn_id = ii.firstChild.nodeValue end if next end if next elseif t.nodeName = "Errors" then set ff = t.childNodes for kk = 0 to ff.length - 1 set gg = ff.item(kk) if gg.nodeName = "ShortMessage" then errormsg = gg.firstChild.nodeValue & "
" & errormsg elseif gg.nodeName = "LongMessage" then errormsg= errormsg & gg.firstChild.nodeValue elseif gg.nodeName = "ErrorCode" then errcode = gg.firstChild.nodeValue end if next end if next end if next else call order_failed() end if else status = "Refresh" end if if status = "Completed" OR status = "Pending" then if status = "Pending" AND pendingreason <> "" then txn_id = status & ": " & pendingreason & "
" & txn_id do_stock_management(ordID) cnn.Execute("UPDATE cart SET cartCompleted=1 WHERE cartOrderID=" & replace(ordID, "'", "")) cnn.Execute("UPDATE orders SET ordStatus=3,ordAuthNumber='" & txn_id & "' WHERE ordPayProvider=19 AND ordID=" & replace(ordID, "'", "")) call do_order_success(ordID,emailAddr,sendEmail,TRUE,TRUE,TRUE,TRUE) elseif status = "Refresh" then call do_order_success(ordID,emailAddr,sendEmail,FALSE,FALSE,FALSE,FALSE) else call order_failed() end if else call order_failed() end if elseif Request.querystring("ncretval")<>"" AND Request.querystring("ncsessid")<>"" then ' NOCHEX ordID = trim(replace(request.querystring("ncretval"), "'", "")) ncsessid = trim(replace(request.querystring("ncsessid"), "'", "")) sSQL = "SELECT ordAuthNumber FROM orders WHERE ordPayProvider=6 AND ordStatus>=3 AND ordSessionID="&ncsessid&" AND ordID=" & ordID success = TRUE rs.Open sSQL,cnn,0,1 if rs.EOF then success = FALSE rs.Close if success then Call do_order_success(ordID,emailAddr,FALSE,TRUE,FALSE,FALSE,FALSE) else cnn.Execute("UPDATE cart SET cartCompleted=2 WHERE cartCompleted=0 AND cartOrderID="&ordID) cnn.Execute("UPDATE orders SET ordAuthNumber='no apc' WHERE ordAuthNumber='' AND ordPayProvider=6 AND ordID="&ordID) errtext = xxNoCnf Call order_failed end if elseif Request.Form("xxpreauth")<>"" then ordID = trim(replace(Request.Form("xxpreauth"), "'", "")) sSQL = "SELECT ordAuthNumber FROM orders WHERE ordID=" & ordID rs.Open sSQL,cnn,0,1 if rs.EOF then success = FALSE else success = (trim(rs("ordAuthNumber")&"")<>"") end if rs.Close if success then Call order_success(ordID,emailAddr,sendEmail) else Call order_failed end if elseif Request.Form("cart_order_id") <> "" AND request.form("order_number")<>"" then ' 2Checkout Transaction if Trim(request.form("credit_card_processed"))="Y" then ordID = trim(replace(request.form("cart_order_id"),"'","")) sSQL = "SELECT payProvData1,payProvData2 FROM payprovider WHERE payProvID=2" rs.Open sSQL,cnn,0,1 acctno = trim(rs("payProvData1")) md5key = trim(rs("payProvData2")&"") rs.Close keysmatch=TRUE if md5key<>"" then theirkey = Trim(Request.Form("key")) ourkey = Trim(UCase(calcMD5(md5key&acctno&Request.Form("order_number")&Request.Form("total")))) if ourkey=theirkey then keysmatch=true else keysmatch=false end if if keysmatch then do_stock_management(ordID) sSQL="UPDATE cart SET cartCompleted=1 WHERE cartOrderID="&ordID cnn.Execute(sSQL) sSQL="UPDATE orders SET ordStatus=3,ordAuthNumber='"&trim(replace(request.form("order_number"),"'","''"))&"' WHERE ordPayProvider=2 AND ordID="&ordID cnn.Execute(sSQL) Call order_success(ordID,emailAddr,sendEmail) else Call order_failed end if else Call order_failed end if elseif Request.Form("CUSTID") <> "" AND Request.Form("AUTHCODE") <> "" then ' PayFlow Link if Trim(request.form("RESULT"))="0" then ordID = trim(replace(request.form("CUSTID"),"'","")) do_stock_management(ordID) sSQL="UPDATE cart SET cartCompleted=1 WHERE cartOrderID="&ordID cnn.Execute(sSQL) sSQL="UPDATE orders SET ordStatus=3,ordAuthNumber='"&replace(trim(request.form("CSCMATCH"))&trim(request.form("AVSDATA"))&"-"&trim(request.form("AUTHCODE")),"'","''")&"' WHERE ordPayProvider=8 AND ordID="&ordID cnn.Execute(sSQL) Call order_success(ordID,emailAddr,sendEmail) else Call order_failed end if elseif Request.Form("emailorder")<>"" OR Request.Form("secondemailorder")<>"" then if emailorderstatus<>"" then ordStatus=emailorderstatus else ordStatus=3 if Request.Form("emailorder")<>"" then ordID = trim(replace(request.form("emailorder"),"'","")) ppid = 4 else ordID = trim(replace(request.form("secondemailorder"),"'","")) ppid = 17 end if thesessionid = trim(request.form("thesessionid")) if NOT IsNumeric(thesessionid) then thesessionid=-23 sSQL = "SELECT ordAuthNumber FROM orders WHERE ordSessionID="&thesessionid&" AND ordID=" & ordID rs.Open sSQL,cnn,0,1 if rs.EOF then success = FALSE else success = TRUE rs.Close sSQL = "SELECT payProvShow FROM payprovider WHERE payProvID="&ppid rs.Open sSQL,cnn,0,1 authnumber = rs("payProvShow") rs.Close if success then if ordStatus >= 3 then do_stock_management(ordID) sSQL="UPDATE cart SET cartCompleted=1 WHERE cartOrderID="&ordID cnn.Execute(sSQL) sSQL="UPDATE orders SET ordStatus="&ordStatus&",ordAuthNumber='"&left(replace(authnumber,"'","''"),48)&"' WHERE (ordPayProvider="&ppid&" OR (ordTotal-ordDiscount)<=0) AND ordID="&ordID cnn.Execute(sSQL) Call order_success(ordID,emailAddr,sendEmail) else Call order_failed end if elseif Request.QueryString("OrdNo")<>"" AND Request.QueryString("RefNo")<>"" then ' PSiGate ordID = trim(replace(request.QueryString("OrdNo"),"'","")) do_stock_management(ordID) sSQL="UPDATE cart SET cartCompleted=1 WHERE cartOrderID="&ordID cnn.Execute(sSQL) sSQL="UPDATE orders SET ordStatus=3,ordAuthNumber='"&trim(replace(request.QueryString("RefNo"),"'","''"))&"' WHERE (ordPayProvider=11 OR ordPayProvider=12) AND ordID="&ordID cnn.Execute(sSQL) Call order_success(ordID,emailAddr,sendEmail) elseif trim(Request.Form("ponumber"))<>"" AND (trim(Request.Form("approval_code"))<>"" OR trim(request.form("failReason"))<>"") then ' Linkpoint ordID=trim(replace(request.form("ponumber"),"'","")) ordIDa=split(ordID,",") ordID=ordIDa(0) theauthcode=trim(replace(request.form("approval_code"),"'","")) thesuccess=lcase(trim(request.form("status"))) if (thesuccess="approved" OR thesuccess="submitted") AND theauthcode<>"" then do_stock_management(ordID) sSQL="UPDATE cart SET cartCompleted=1 WHERE cartOrderID="&ordID cnn.Execute(sSQL) sSQL="UPDATE orders SET ordStatus=3,ordAuthNumber='"&theauthcode&"' WHERE ordPayProvider=16 AND ordID="&ordID cnn.Execute(sSQL) Call order_success(ordID,emailAddr,sendEmail) else errtext = request.form("failReason") errtextarr = split(errtext, ":") if IsArray(errtextarr) then if UBOUND(errtextarr)>0 then errtext = errtextarr(1) end if Call order_failed end if elseif Request.Form("docapture")="vsprods" then success = true if capturecardorderstatus<>"" then ordStatus=capturecardorderstatus else ordStatus=3 encryptmethod = LCase(encryptmethod&"") if encryptmethod<>"none" then thecert = Replace(thecert,"-----BEGIN CERTIFICATE-----","") thecert = Trim(Replace(thecert,"-----END CERTIFICATE-----","")) err.number = 0 on error resume next Set CM = Server.CreateObject("Persits.CryptoManager") if err.number <> 0 then success=false errmsg = "Error ! Cannot invoke Persits ASPEncrypt" end if if success then Set Blob = CM.CreateBlob err.number = 0 ' Set Context = CM.OpenContextEx( "Microsoft Enhanced Cryptographic Provider v1.0", "mycontainer", True) Set Context = CM.OpenContext("", True) if err.number = 0 then Blob.Base64 = thecert Set Cert = CM.ImportCertFromBlob(Blob) if err.number <> 0 then success=false errmsg = "Error ! Cannot import certificate." & "
" & err.description end if else success=false errmsg = "Error ! Trying to invoke Microsoft Enhanced Cryptographic Provider v1.0" & "
" & err.description end if end if on error goto 0 end if if success then ordID=trim(replace(request.form("ordernumber"),"'","")) if encryptmethod="none" then enctext = Trim(Replace(Request.Form("ACCT"),"'","")) & "&" & Trim(Replace(Request.Form("EXMON"),"'",""))&"/"&Trim(Replace(Request.Form("EXYEAR"),"'","")) & "&" & Trim(Replace(Request.Form("CVV2"),"'","")) & "&" & Trim(Replace(Request.Form("IssNum"),"'","")) & "&" & Server.URLEncode(Trim(Request.Form("cardname"))) elseif encryptmethod="aspencrypt" OR encryptmethod="" then ' response.write "Cert Version: " & Cert.Version & ":" & Cert.SerialNumber & ":" & Cert.NotAfter & ":" & Cert.NotBefore & "
" Set Msg = Context.CreateMessage(True) Msg.AddRecipientCert Cert enctext = Msg.EncryptText(Trim(Replace(Request.Form("ACCT"),"'","")) & "&" & Trim(Replace(Request.Form("EXMON"),"'",""))&"/"&Trim(Replace(Request.Form("EXYEAR"),"'","")) & "&" & Trim(Replace(Request.Form("CVV2"),"'","")) & "&" & Trim(Replace(Request.Form("IssNum"),"'","")) & "&" & Server.URLEncode(Trim(Request.Form("cardname")))) end if do_stock_management(ordID) sSQL="UPDATE cart SET cartCompleted=1 WHERE cartOrderID="&ordID cnn.Execute(sSQL) sSQL="UPDATE orders SET ordStatus="&ordStatus&",ordAuthNumber='Card Capture',ordCNum='"&enctext&"' WHERE ordPayProvider=10 AND ordID="&ordID cnn.Execute(sSQL) Call order_success(ordID,emailAddr,sendEmail) else response.write "

 

"&errmsg&"

" Call order_failed end if elseif Request.QueryString("OrdNo")<>"" AND Request.QueryString("ErrMsg") <> "" then ' PSiGate Error Reporting errtext = Request.QueryString("ErrMsg") Call order_failed else %> <% end if cnn.Close set rs = nothing set rs2 = nothing set cnn = nothing %>