Jump to content
Sign in to follow this  
beverly hills bed

autorize.net wont show product description?

Recommended Posts

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 by beverly hills bed

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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);

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×