Authorize.NET AIM with Multiple Items/Products using PHP
Hi I'm developing a web application and needs to Integrate it with Authorize.NET AIM. I have tested the code provided by Authorize.NET it works fine for Single product. This code has an option to use for line items and is commented by default. I uncommented it and then used it but it only shows a single product processing no line items processing.
Please see the Authorize.NET AIM Sample Code
$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" => "API_LOGIN_ID", "x_tran_key" => "TRANSACTION_KEY", "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" => "19.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: <a rel="nofollow" href="http://developer.authorize.net" target="_blank">http://developer.authorize.net</a> ); // 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 <a rel="nofollow" href="http://www.php.net/curl_setopt" target="_blank">http://www.php.net/curl_setopt</a> 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"; $i++; } echo "</OL>\n";
Please help to post mutiple items with Authorize.NET AIM.
No comments:
Post a Comment