Aeriale Credit Card Transaction Status

<% '' Next 5 output variables have 3 states: True, False and Empty (means result is unknown) Dim intResponseCode '' is True if https request succeeded Dim card '' is True if card authorized, might be empty if https request failed Dim avsAddress '' is True if address match, might be empty if request failed of AVS not supported Dim avsZip '' is True if ZIP match, might be empty if request failed of AVS not supported Dim cvv '' is True if CVV2/CVC2/CID match, might be empty if request failed of CV check not supported strTransactionAmount = Request.Form("Amount") ' strTransactionAmount = "200" 'strTransactionAmount = Request.Form("GatewayID") strTestPassFail = "" if len(strTransactionAmount) = 0 or len(Request.Form("xxxCard_Number")) = 0 then ' Response.Redirect("payment.asp") end if if len(Request.Form("qa-test")) > 0 and Request.Form("qa-test") = "true" then ' this means we came by Checkout.aspx strTransactionAmount = Request.Form("Amount") strTestPassFail = Request.Form("TestPassFail") End if dim xxxSecureURL, xxxSecureRequestMsg, returnURL strDLLUrl = "https://direct.internetsecure.com/process.cgi" strApplicationID = "PAYMENT" strCurrency = "US" ' US strGatewayID = "13820" ' 13820 For US if len(Request.Form("Country")) > 0 and Request.Form("Country") = "2" then strCurrency = "CA" strGatewayID = "13819" End If strProducts = strTransactionAmount & "::1::" strProducts = strProducts & "PYMNT::Aeriale.com Online Order" & strTestPassFail strXmlRequest = "" AddString "" AddString "" if Request("PaRes") <> "" then AddElement "PaRes", Request("PaRes") else AddElement "GatewayID", strGatewayID AddElement "Products", strProducts AddElement "xxxName", Server.HTMLEncode(Request.Form("NameOnCard")) AddElement "xxxCompany", Server.HTMLEncode(Request.Form("CPY")) AddElement "xxxAddress", Server.HTMLEncode(Request.Form("BillingAddress")) AddElement "xxxCity", Server.HTMLEncode(Request.Form("BillingCity")) AddElement "xxxState", Server.HTMLEncode(Request.Form("BillingState")) AddElement "xxxZipCode", Server.HTMLEncode(Request.Form("BillingPostalCode")) AddElement "xxxPhone", Server.HTMLEncode(Request.Form("BillingPhone")) AddElement "xxxEmail", Server.HTMLEncode(Request.Form("BillingEmail")) AddElement "xxxCard_Number", Server.HTMLEncode(Request.Form("xxxCard_Number")) AddElement "xxxCCMonth", Server.HTMLEncode(Request.Form("xxxCCMonth")) AddElement "xxxCCYear", Server.HTMLEncode(Request.Form("xxxCCYear")) AddElement "CVV2", Server.HTMLEncode(Request.Form("cvv")) AddElement "xxxMerchantInvoiceNumber", Server.HTMLEncode(Request.Form("MIN")) AddElement "CVV2Indicator", "1" AddElement "xxxAuthentication", "Y" end if AddString "" strQuery = "xxxRequestMode=X&xxxRequestData=" & Server.URLEncode(strXmlRequest) if Request("PaRes") <> "" then strQuery = "TRX=" & Session("Receipt") & "&GUID=" & Session("guid") & "&" & strQuery end if Set objHttp = Server.CreateObject("MSXML2.ServerXMLHttp") objHttp.Open "POST", strDLLUrl, False objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" objHttp.send strQuery status = objHttp.Status statusText = objHttp.StatusText retStr = objHttp.responseText ' Parse the xml result into class member vars strReceiptNumber = ExtractNodeItem (retStr, "ReceiptNumber") strCustomerName = ExtractNodeItem (retStr, "xxxName") strResultCode = ExtractNodeItem (retStr, "Page") strResultMessage = ExtractNodeItem (retStr, "Verbiage") strTransactionID = ExtractNodeItem (retStr, "TransactionID") strApprovalCode = ExtractNodeItem (retStr, "ApprovalCode") strAVSResponseCode = ExtractNodeItem (retStr, "AVSResponseCode") strCVVResponseCode = ExtractNodeItem (retStr, "CVV2ResponseCode") strTransactionDate = ExtractNodeItem (retStr, "Date") xxxSecureURL = ExtractNodeItem (retStr, "xxxSecureURL") xxxSecureRequestMsg = ExtractNodeItem (retStr, "xxxSecureRequestMsg") xxxMerchantInvoiceNumber = ExtractNodeItem (retStr, "xxxMerchantInvoiceNumber") strDBA = ExtractNodeItem (retStr, "xxxCompany") strPhone2 = ExtractNodeItem (retStr, "xxxVar1") strFax = ExtractNodeItem (retStr, "xxxVar2") strPROMO = ExtractNodeItem (retStr, "xxxVar3") strCardType = ExtractNodeItem (retStr, "xxxCardType") strCardNumber = ExtractNodeItem (retStr, "xxxCard_Number") strEmail = ExtractNodeItem (retStr, "xxxEmail") strPhone = ExtractNodeItem (retStr, "xxxPhone") strSalesOrderNumber = ExtractNodeItem (retStr, "SalesOrderNumber") strAmount = ExtractNodeItem (retStr, "TotalAmount") strAddress = ExtractNodeItem (retStr, "xxxAddress") strCity = ExtractNodeItem (retStr, "xxxCity") strState = ExtractNodeItem (retStr, "xxxProvince") strZip = ExtractNodeItem (retStr, "xxxPostal") strCompany = ExtractNodeItem (retStr, "xxxCompany") Set objHttp = Nothing if strResultCode = "X-Q0" and xxxSecureURL <> "" and xxxSecureRequestMsg <> "" then Session("Receipt") = strReceiptNumber returnURL = Request.ServerVariables("HTTP_HOST") if Request.ServerVariables("HTTPS")="on" then returnURL = "https://" & returnURL else returnURL = "http://" & returnURL if Request.ServerVariables("SERVER_PORT")<>"80" And Request.ServerVariables("SERVER_PORT")<>"443" then returnURL = returnURL&":" & Request.ServerVariables("SERVER_PORT") end if returnURL = returnURL & Request.ServerVariables("URL") Response.Write "" Response.Write "
" Response.Write " " Response.Write " " Response.Write " " Response.Write "" Response.Write "
" Response.Write "" Response.Write "" Response.End end if '' Results analysis if status<>"200" then intResponseCode = False elseif Len(strReceiptNumber)=0 then intResponseCode = False elseif Left(strResultCode,2)="99" then intResponseCode = False else intResponseCode = True if mid(strResultCode,3,3)<>"000" then card = False else card = True if strCVVResponseCode="M" then cvv = True elseif strCVVResponseCode="N" then cvv = False else cvv = Empty end if Select Case avsResponse Case "A" avsAddress = True : avsZip = False Case "B" avsAddress = True : avsZip = False Case "C" avsAddress = False : avsZip = False Case "D" avsAddress = True : avsZip = True Case "E" avsAddress = Empty : avsZip = Empty Case "G" avsAddress = Empty : avsZip = Empty Case "I" avsAddress = Empty : avsZip = Empty Case "M" avsAddress = True : avsZip = True Case "N" avsAddress = False : avsZip = False Case "P" avsAddress = False : avsZip = True Case "R" avsAddress = Empty : avsZip = Empty Case "S" avsAddress = Empty : avsZip = Empty Case "U" avsAddress = Empty : avsZip = Empty Case "W" avsAddress = False : avsZip = True Case "X" avsAddress = True : avsZip = True Case "Y" avsAddress = True : avsZip = True Case "Z" avsAddress = False : avsZip = True End Select end if end if '--------------------------------------------------------------------------- ' HELPER FUNCTIONS '--------------------------------------------------------------------------- '--------------------------------------------------------------------------- Sub AddString (str) strXmlRequest = strXmlRequest & str End Sub '--------------------------------------------------------------------------- Sub AddElement (strFieldName, strFieldValue) strXmlRequest = strXmlRequest & "<" & strFieldName & ">" & _ strFieldValue & "" End Sub '' extract value of specified node '--------------------------------------------------------------------------- Function ExtractNodeItem(retStr, strNodeName) Dim s1, s2, n1, n2 s1 = "<" & strNodeName & ">" s2 = "" n1 = InStr(1, retStr, s1, 1) n2 = InStr(1, retStr, s2, 1) if n1 > 0 and n2 > 0 then ExtractNodeItem = mid(retStr, n1+Len(s1), n2-n1-Len(s1)) else ExtractNodeItem = "" end if End Function Function FixQuotes(sInput) Dim rStr if IsNull(sInput) or Len(sInput) = 0 then rStr = "" else rStr = Replace(sInput, "'", "''") end if FixQuotes = rStr End Function if strResultCode = "90000" then %>

Your Transaction has been Approved

<% Response.Redirect ("Confirmation.aspx?OrderID=" & Request.Form("MIN") ) ElseIf strResultCode = "2000" Then %>

Your Transaction has been Approved

<% Response.Redirect ("Confirmation.aspx?OrderID=" & Request.Form("MIN") ) ElseIf strResultCode = "2001" Then %>

Transaction Failed

Sorry your transaction failed

Your Transaction has been Declined

<% else 'all other transaction codes %>

 

Your Transaction was not successful

<%=Server.HTMLEncode(strResultMessage) %>

"> "> "> "> "> "> "> "> "> "> "> "> ">
<% End If %>
<% session.Abandon %>