Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 948
  • Last Modified:

Authorize.net post string example for cURL

Long story short, we have to use cURL command line to send a AUTH request to Authorize.net to pre-auth credit card transactions.  Does anyone have an example of what the post string should look like?  Are there existing scripts already written?

Thanks, Jay
0
jaygraves
Asked:
jaygraves
1 Solution
 
Steve BinkCommented:
You mean something like this?  This code was written in PHP.

You'll likely want to use this manual along with the example code:

http://www.authorize.net/support/AIM_guide.pdf
http://www.authorize.net/support/CNP/helpfiles/
<?
// ... more code up here to set up order processing, etc.
 
// set a test mode?
$x_Test = "FALSE";
if (usr_GLOBALS_TESTMODE) { $x_Test='TRUE'; }
 
$hashval = "Authorize.NET Customer HASH";
$x_Login="Authorize.NET Customer Login#";
$x_Delim_Data="TRUE";
$x_Delim_Char="|";
$x_Encap_Char="";
$x_Type="AUTH_ONLY";
// customer fields
$x_Method="CC";
$x_Tran_Key = "Authorize.NET Transaction Key";
$x_Amount = sprintf("%1.2f","Amount to charge");
$x_FName = "Customer First Name";
$x_LName = "Customer Last Name";
$x_Company = "Customer Company Name";
$x_Address = "Customer Address";
$x_City = "Customer City";
$x_State = "Customer State";
$x_Zip = "Customer Zip";
$x_Phone = "Customer Phone Number";
$x_Card_Num = "Customer Card Number";
// Customer's Card Expiration Date...specific format!
$x_Exp_Date = date("m/y", mktime(0, 0, 1, $expmonth, 1, $expyear));
$x_CVV = "Customer CVV Code";
 
 
/*
Unused fields:
x_tax:#:sales tax, 0.00 formatted
x_customer_ip:15:????????????????
x_description:255:description field...hrrmmm.....
*/
 
// standard fields
$fields = "x_version=3.1&x_delim_data=$x_Delim_Data&x_delim_char=$x_Delim_Char&" .
		"x_encap_char=$x_Encap_Char&x_type=$x_Type&x_method=$x_Method&x_duplicate_window=300&" .
		"x_country=US&x_email_customer=FALSE&";
 
// customized fields
$fields .= "x_login=$x_Login&x_tran_key=$x_Tran_Key&x_test_request=$x_Test&" .
					"x_first_name=$x_FName&x_last_name=$x_LName&x_address=$x_Address&" .
					"x_city=$x_City&x_state=$x_State&x_zip=$x_Zip&x_company=$x_Company&" .
					"x_phone=$x_Phone&x_cust_id=$custid&x_invoice_num=$orderid&" .
					"x_amount=$x_Amount&x_card_num=$x_Card_Num&x_exp_date=$x_Exp_Date&" .
					"x_card_code=$x_CVV";
 
// execute CURL session to authorize.net, return in $details
$ch = curl_init("https://secure.authorize.net/gateway/transact.dll");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$buffer = curl_exec($ch);
curl_close($ch);
// get the returned array, and set up for the hash check.
$details = explode($x_Delim_Char,$buffer);
 
// details is now an array of the return
?>

Open in new window

0

Featured Post

New Tabletop Appliances Blow Competitors Away!

WatchGuard’s new T15, T35 and T55 tabletop UTMs provide the highest-performing security inspection in their class, allowing users at small offices, home offices and distributed enterprises to experience blazing-fast Internet speeds without sacrificing enterprise-grade security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now