CodeCharge Studio
search Register Login  

Web Reports

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

YesSoftware Forums -> Archive -> GotoCode Archive

 Authorizenet AIM Payment Script For All

Print topic Send  topic

Author Message
mrfree
Posted: 05/14/2003, 8:48 PM

I've spent 2 days looking testing for a AIM Authorizenet payment gateway until I ragged on authorizenet enough to give me some examples of ASP Code. Well Here it is for all to use.


<%

Dim objWinHttp
Dim strResponse
Dim PostData
Dim arrResponseValues
Dim charDelim

' These values will always remain the same unless there are
' system changes at Authorize.Net
' So these fields will be static (hard-coded)

PostData = "x_login=YOUR_LOGIN"
'PostData = PostData & "&x_password=YOUR_PASSWORD"
PostData = PostData & "&x_Delim_Data=TRUE"
PostData = PostData & "&x_Delim_Character=|"

' These will be retreived from a form that posts to this script

' This represents all the fields that can be used with Authorize.Net's
' ADC Direct Response connection method.

' Note: if 'merchant defined' fields are being used, they will need to be added.

PostData = PostData & "&x_Address=" & Trim(Request("x_Address"))
PostData = PostData & "&x_Amount=" & Trim(Request("x_Amount"))
PostData = PostData & "&x_Auth_Code=" & Trim(Request("x_Auth_Code"))
PostData = PostData & "&x_Bank_ABA_Code=" & Trim(Request("x_Bank_ABA_Code"))
PostData = PostData & "&x_Bank_Acct_Num=" & Trim(Request("x_Bank_Acct_Num"))
PostData = PostData & "&x_Bank_Acct_Type=" & Trim(Request("x_Bank_Acct_Type"))
PostData = PostData & "&x_Bank_Name=" & Trim(Request("x_Bank_Name"))
PostData = PostData & "&x_Card_Code=" & Trim(Request("x_Card_Code"))
PostData = PostData & "&x_Card_Num=" & Trim(Request("x_Card_Num"))
PostData = PostData & "&x_City=" & Trim(Request("x_City"))
PostData = PostData & "&x_Company=" & Trim(Request("x_Company"))
PostData = PostData & "&x_Country=" & Trim(Request("x_Country"))
PostData = PostData & "&x_Currency_Code=" & Trim(Request("x_Currency_Code"))
PostData = PostData & "&x_Cust_ID=" & Trim(Request("x_Cust_ID"))
PostData = PostData & "&x_Customer_IP=" & Trim(Request("x_Customer_IP"))
PostData = PostData & "&x_Customer_Tax_ID=" & Trim(Request("x_Customer_Tax_ID"))
PostData = PostData & "&x_Customer_Organization_Type=" & Trim(Request("x_Customer_Organization_Type"))
PostData = PostData & "&x_Description=" & Trim(Request("x_Description"))
PostData = PostData & "&x_Drivers_License_Num=" & Trim(Request("x_Drivers_License_Num"))
PostData = PostData & "&x_Drivers_License_State=" & Trim(Request("x_Drivers_License_State"))
PostData = PostData & "&x_Drivers_License_DOB=" & Trim(Request("x_Drivers_License_DOB"))
PostData = PostData & "&x_Duty=" & Trim(Request("x_Duty"))
PostData = PostData & "&x_Email=" & Trim(Request("x_Email"))
PostData = PostData & "&x_Email_Customer=" & Trim(Request("x_Email_Customer"))
PostData = PostData & "&x_Email_Merchant=" & Trim(Request("x_Email_Merchant"))
PostData = PostData & "&x_Exp_Date=" & Trim(Request("x_Exp_Date"))
PostData = PostData & "&x_Fax=" & Trim(Request("x_Fax"))
PostData = PostData & "&x_First_Name=" & Trim(Request("x_First_Name"))
PostData = PostData & "&x_Footer_Email_Receipt=" & Trim(Request("x_Footer_Email_Receipt"))
PostData = PostData & "&x_Freight=" & Trim(Request("x_Freight"))
PostData = PostData & "&x_Header_Email_Receipt=" & Trim(Request("x_Header_Email_Receipt"))
PostData = PostData & "&x_Invoice_Num=" & Trim(Request("x_Invoice_Num"))
PostData = PostData & "&x_Last_Name=" & Trim(Request("x_Last_Name"))
PostData = PostData & "&x_Merchant_Email=" & Trim(Request("x_Merchant_Email"))
PostData = PostData & "&x_Method=" & Trim(Request("x_Method"))
PostData = PostData & "&x_Phone=" & Trim(Request("x_Phone"))
PostData = PostData & "&x_PO_Num=" & Trim(Request("x_PO_Num"))
PostData = PostData & "&x_Recurring_Billing=" & Trim(Request("x_Recurring_Billing"))
PostData = PostData & "&x_Ship_To_Address=" & Trim(Request("x_Ship_To_Address"))
PostData = PostData & "&x_Ship_To_City=" & Trim(Request("x_Ship_To_City"))
PostData = PostData & "&x_Ship_To_Company=" & Trim(Request("x_Ship_To_Company"))
PostData = PostData & "&x_Ship_To_Country=" & Trim(Request("x_Ship_To_Country"))
PostData = PostData & "&x_Ship_To_First_Name=" & Trim(Request("x_Ship_To_First_Name"))
PostData = PostData & "&x_Ship_To_Last_Name=" & Trim(Request("x_Ship_To_Last_Name"))
PostData = PostData & "&x_Ship_To_State=" & Trim(Request("x_Ship_To_State"))
PostData = PostData & "&x_Ship_To_Zip=" & Trim(Request("x_Ship_To_Zip"))
PostData = PostData & "&x_State=" & Trim(Request("x_State"))
PostData = PostData & "&x_Tax=" & Trim(Request("x_Tax"))
PostData = PostData & "&x_Tax_Exempt=" & Trim(Request("x_Tax_Exempt"))
PostData = PostData & "&x_Test_Request=" & Trim(Request("x_Test_Request"))
PostData = PostData & "&x_Trans_ID=" & Trim(Request("x_Trans_ID"))
PostData = PostData & "&x_Type=" & Trim(Request("x_Type"))
PostData = PostData & "&x_Version=" & Trim(Request("x_Version"))
PostData = PostData & "&x_Zip=" & Trim(Request("x_Zip"))

' Create the object.
Set objWinHttp = Server.CreateObject("WinHttp.WinHttpRequest.5")

' Set the parameters.
objWinHttp.Open "POST", "https://secure.authorize.net/gateway/transact.dll?" & PostData


' Send it.
objWinHttp.Send

'Authorize.Net does its thing to the transaction request, and then
'returns the response string back to our object.

' Get the response string from the object.
strResponse = objWinHttp.ResponseText

'Put response string into an array.
arrResponseValues = Split(strResponse, "|", -1, 1)

'retrieve variables to send to a form
Dim get_url

'add your http path to recipt form
get_url = "http://www.yourdomain.com/paymentrec.asp ?"
get_url = get_url & "approval=" & arrResponseValues(3) & "&"
get_url = get_url & "first_name=" & arrResponseValues(13) & "&"
get_url = get_url & "last_name=" & arrResponseValues(14) & "&"
get_url = get_url & "auth_code=" & arrResponseValues(4) & "&"
get_url = get_url & "invoice_num=" & arrResponseValues(7) & "&"
get_url = get_url & "amount=" & arrResponseValues(9)


response.redirect get_url

%>
'<HTML>
'<HEAD>
' <TITLE>MS SDK Test</TITLE>
'</HEAD>

'<BODY BGCOLOR="#E0E3E5">
'<TABLE WIDTH="60%" ALIGN="CENTER" CELLSPACING="1" CELLPADDING="1" BORDER="1">
' <TR>
' <TH COLSPAN=2>
' Response From Authorize.Net
' </TH>
' </TR>
'<%

' Loop through the array showing one table row for each item in
' the response string.

' intValue = 1

' FOR EACH Item IN arrResponseValues
' %>
' <TR>
' <TD><B>Position# <%= intValue %></B></TD>
' <TD><%= Item %></TD>
' </TR>
' <%
' intValue = intValue + 1
' NEXT

' 'Get rid of object
' Set objWinHttp = Nothing
'%>
'</TABLE>
'</BODY>
'</HTML>
jbressan
Posted: 05/15/2003, 8:23 AM

THANKS for sharing your code
Desdemona
Posted: 05/15/2003, 9:25 AM

your the bees knees
JeffSpicoli
Posted: 05/18/2003, 12:25 PM

YOU ARE A LIFE SAVER. I deem you ST.MrFree!
I think I pounded my head a gainst the monitor... well I kind of lost count...
Until I found your post. Seems like nobody is discussing this at all.

Additionally, The server my site resides on (WIN2K SP3) gave me the nasty "could not create object" Invalid ProgID error. WinHTTP comes included with SP3 last I looked, so I was pretty stumped. I found a sweet alternative when in dire straits looking through asp101...

I replaced the instantiation of the WinHTTP Object;
**
Server.CreateObject("WinHttp.WinHttpRequest.5")
**
With an XML flavor substitute;
**
Server.CreateObject("Msxml2.ServerXMLHTTP")
**

And that's it! worked like a champ! Objects? Objects? We got your Objects!!!

Thanks Again!!!
Andrew
Posted: 08/21/2003, 10:26 PM

Thanks bunches...you the man

   


These are Community Forums for users to exchange information.
If you would like to obtain technical product help please visit http://support.yessoftware.com.

PHP Reports

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

Home   |    Search   |    Members   |    Register   |    Login


Powered by UltraApps Forum created with CodeCharge Studio
Copyright © 2003-2004 by UltraApps.com  and YesSoftware, Inc.