beverly hills bed Posted August 15, 2008 Share Posted August 15, 2008 (edited) Can Anyone tell me what i need to activate in os commerce so i know what product was ordered *** everytime someone orders a product i get a confirmation from authorize.net through e mail but it does not tell me what product it is - only the amount??? I know this is a small tweak somewhere but i can't find it??? i would really appreciate it... Edited August 15, 2008 by beverly hills bed Quote Link to comment Share on other sites More sharing options...
RookuhShay Posted August 15, 2008 Share Posted August 15, 2008 Could you relay which authorize.net module you are using? RookuhShay Quote Link to comment Share on other sites More sharing options...
RookuhShay Posted August 28, 2008 Share Posted August 28, 2008 Just Posting my response to interested parties. Hello, Let me go over a little background give a more of an understanding. Authorize.net has a field name x_line_item. You can include each of the line items in the payment string you submit the Authorize.net. Here is a little more information about the field: Itemized Order Information Based on your unique business requirements, you may choose to submit itemized order, or line item, information with each transaction. Itemized order information is not submitted to the processor and is not currently returned with the transaction response. However, this information is displayed on the Transaction Detail page and in the QuickBooks® download file reports in the Merchant Interface. For more information about these features, please see the Merchant Interface Online Help Files (after logging into the Merchant Interface, click the Help link in the top right corner of the page). Unlike most other integration settings for your account, this feature is not configured in the Merchant Interface. Please contact your Web developer for more information on how to submit detailed order information with transactions to the payment gateway. Which concludes this information is not included with the email sent to the merchant. Alternative method would be to include the item sku/model number in the x_description field name. This has it’s limitations. You are restricted to only 255 characters. If the string were to go beyond the 255 character limit, the information could be truncated or even cause credit card authorization issues. Not sure though. It leaves merchants with one last alternative, merchant define fields. Here’s a little bit about the field. Merchant-Defined Fields You may also choose to submit merchant-defined fields to further customize the information that is included with a transaction. Merchant-defined fields are any fields that are not recognized by the payment gateway as standard application programming interface (API) payment form fields. For example, you may want to provide a field in your checkout process where customers may provide specific shipping instructions or product color information. Merchant-defined fields are included with the transaction response and in the merchant confirmation email for the merchant’s records. However, they are not provided on the Transaction Detail page in the Merchant Interface. Contact your Web developer for more information on how to submit merchant-defined fields with transactions to the payment gateway. I added the fields at the end of the payment string that is submitted to Authorize.net. for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { $x = $i + 1; $post_string .= '&item' . $x . '=' . urlencode($order->products[$i]['model']) . '|' . urlencode(substr($order->products[$i]['name'], 0, 255)) . '|' . urlencode($order->products[$i]['qty']); } This is a for loop that adds each of the items ordered to the payment string. ‘&item’ . $x is the defined field name. The x is incremented for each of the products ordered. A placed the above line just above these lines of code: switch (MODULE_PAYMENT_AUTHORIZENET_CC_AIM_TRANSACTION_SERVER) { case 'Live': $gateway_url = 'https://secure.authorize.net/gateway/transact.dll'; break; default: $gateway_url = 'https://secure.authorize.net/gateway/transact.dll'; break; } $transaction_response = $this->sendTransactionToGateway($gateway_url, $post_string); As you can see $post_string is the payment string varible used to send information to Authorize.net. Example of an email: (Full email not shown) ======= ADDITIONAL INFORMATION ====== Tax : Duty : Freight : 6.50 Tax Exempt : PO Number : ========== MERCHANT DEFINED ========= item1 : FC-6235|24% Lead Crystal Cow|3 item2 : FC-1905-SR|24% Lead Crystal Red Rose with Stand|1 item3 : FC-1405-K|24% Lead Crystal Cello|1 The define fields show up in the email just below the Additional Information. Item1, item2 and item3 are the define fields. If a customer ordered 10 products there would be item1 – item10. This email is the email sent to the merchant for authorize.net when an order is placed. Providing the optiion is checked. Best, RookuhShay Quote Link to comment Share on other sites More sharing options...
Guest Posted September 26, 2008 Share Posted September 26, 2008 Hello, I am having the same issue with the Authorize.net email receipt not showing the item description. Could you explain how to "include the item sku/model number in the x_description field name" as opion 1. Also, do you know which file to edit the "Merchant-Defined Fields". I've checked the checkout_process.php and the authorizenet.php files and I don't see where to insert my changes. Thanks for any help. Jeremy Quote Link to comment Share on other sites More sharing options...
patc Posted December 31, 2008 Share Posted December 31, 2008 When I added the code my shopping cart page won't even load. I am using SIM instead of AIM if that matters. Here is the exact code I used in the file authorizenet_cc_cim.php file for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { $x = $i + 1; $post_string .= '&item' . $x . '=' . urlencode($order->products[$i]['model']) . '|' . urlencode(substr($order->products[$i]['name'], 0, 255)) . '|' . urlencode($order->products[$i]['qty']); } switch (MODULE_PAYMENT_AUTHORIZENET_CC_SIM_TRANSACTION_SERVER) { case 'Live': $this->form_action_url = 'https://secure.authorize.net/gateway/transact.dll'; break; default: $this->form_action_url = 'https://test.authorize.net/gateway/transact.dll'; break; } $transaction_response = $this->sendTransactionToGateway($gateway_url, $post_string); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.