I'm new to Authorize.net. I've looked at the two AIM examples I could find (The coffee store example and the sample.php example -- which I posted below)
It seems that the sample.php works fine but it does not seem to reference the SDK AuthorizeNet.php.
Is there some reason that one would need to use AuthorizeNet.php for AIM?
I see it in the Coffee store example, but not sample.php. (Also, Are there any other examples available?)
Thanks you
sample.php . . .
<!--
This sample code is designed to connect to Authorize.net using the AIM method.
For API documentation or additional sample code, please visit:
http://developer.authorize.net
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML lang='en'>
<HEAD>
<TITLE> Sample AIM Implementation </TITLE>
</HEAD>
<BODY>
<P> This sample code is designed to generate a post using Authorize.net's
Advanced Integration Method (AIM) and display the results of this post to
the screen. </P>
<P> For details on how this is accomplished, please review the readme file,
the comments in the sample code, and the Authorize.net AIM API documentation
found at http://developer.authorize.net </P>
<HR />
<?PHP
// By default, this sample code is designed to post to our test server for
// developer accounts: https://test.authorize.net/gateway/transact.dll
// for real accounts (even in test mode), please make sure that you are
// posting to: https://secure.authorize.net/gateway/transact.dll
$post_url = "https://test.authorize.net/gateway/transact.dll";
$post_values = array(
// the API Login ID and Transaction Key must be replaced with valid values
"x_login" => "XXXXXX",
"x_tran_key" => "XXXXX",
"x_version" => "3.1",
"x_delim_data" => "TRUE",
"x_delim_char" => "|",
"x_relay_response" => "FALSE",
"x_type" => "AUTH_CAPTURE",
"x_method" => "CC",
"x_card_num" => "4111111111111111",
"x_exp_date" => "0115",
"x_amount" => "22.99",
"x_description" => "Sample Transaction",
"x_first_name" => "John",
"x_last_name" => "Doe",
"x_address" => "1234 Street",
"x_state" => "WA",
"x_zip" => "98004"
// Additional fields can be added here as outlined in the AIM integration
// guide at: http://developer.authorize.net
);
// This section takes the input fields and converts them to the proper format
// for an http post. For example: "x_login=username&x_tran_key=a1B2c3D4"
$post_string = "";
foreach( $post_values as $key => $value )
{ $post_string .= "$key=" . urlencode( $value ) . "&"; }
$post_string = rtrim( $post_string, "& " );
// The following section provides an example of how to add line item details to
// the post string. Because line items may consist of multiple values with the
// same key/name, they cannot be simply added into the above array.
//
// This section is commented out by default.
/*
$line_items = array(
"item1<|>golf balls<|><|>2<|>18.95<|>Y",
"item2<|>golf bag<|>Wilson golf carry bag, red<|>1<|>39.99<|>Y",
"item3<|>book<|>Golf for Dummies<|>1<|>21.99<|>Y");
foreach( $line_items as $value )
{ $post_string .= "&x_line_item=" . urlencode( $value ); }
*/
// This sample code uses the CURL library for php to establish a connection,
// submit the post, and record the response.
// If you receive an error, you may want to ensure that you have the curl
// library enabled in your php configuration
$request = curl_init($post_url); // initiate curl object
curl_setopt($request, CURLOPT_HEADER, 0); // set to 0 to eliminate header info from response
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1); // Returns response data instead of TRUE(1)
curl_setopt($request, CURLOPT_POSTFIELDS, $post_string); // use HTTP POST to send form data
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, FALSE); // uncomment this line if you get no gateway response.
$post_response = curl_exec($request); // execute curl post and store results in $post_response
// additional options may be required depending upon your server configuration
// you can find documentation on curl options at http://www.php.net/curl_setopt
curl_close ($request); // close curl object
// This line takes the response and breaks it into an array using the specified delimiting character
$response_array = explode($post_values["x_delim_char"],$post_response);
// The results are output to the screen in the form of an html numbered list.
echo "<OL>\n";
foreach ($response_array as $value)
{
echo "<LI>" . $value . " </LI>\n";
}
echo "</OL>\n";
// individual elements of the array could be accessed to read certain response
// fields. For example, response_array[0] would return the Response Code,
// response_array[2] would return the Response Reason Code.
// for a list of response fields, please review the AIM Implementation Guide
?>
</BODY>
</HTML>
Solved! Go to Solution.
12-28-2013 12:58 PM
Because the sample code came out long before the SDKs and it isn't using any code from it.
12-28-2013 02:28 PM
Because the sample code came out long before the SDKs and it isn't using any code from it.
12-28-2013 02:28 PM
@jthomas006 wrote:
Is there some reason that one would need to use AuthorizeNet.php for AIM?
sample.php . . .
No, you don't need to use the AuthorizeNetAIM object from AuthorizeNet.php, but you may want to so that instead of typing all of that stuff, you can type this:
<?php require_once 'anet_php_sdk/AuthorizeNet.php';// Make sure this path is correct. $transaction =new AuthorizeNetAIM('YOUR_API_LOGIN_ID','YOUR_TRANSACTION_KEY'); $transaction->amount ='9.99'; $transaction->card_num ='4007000000027'; $transaction->exp_date ='10/16'; // add other details as needed $response = $transaction->authorizeAndCapture(); if($response->approved){ echo "<h1>Success! The test credit card has been charged!</h1>"; echo "Transaction ID: ". $response->transaction_id; }else{ echo $response->error_message; } ?>
http://developer.authorize.net/integration/fifteenminutes/#custom
01-06-2014 12:24 PM