Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[CONTRIBUTION] Authorize Net AIM module


Vger

Recommended Posts

If I go to http://www.subcitizen.com/index.php there is no osCommerce website there - so it must be in a folder e.g. /shop or /catalog etc.

 

So these settings would be something like:

 

define('HTTP_COOKIE_PATH', '/shop/');

define('HTTPS_COOKIE_PATH', '/shop/');

define('DIR_WS_HTTP_CATALOG', '/shop/');

define('DIR_WS_HTTPS_CATALOG', '/shop/');

 

Vger

 

 

For the time, I changed it to index2, while I set it up. I"ll change the config to '/catalog/'. Let's see if that works!!

 

Thanks Vger!!

Link to comment
Share on other sites

No. Don't change it to '/catalog/' if it's not in a folder. I only thought that because index.php didn't come up on screen.

 

Vger

 

Yes, thanks. That didn't work either. My last chance is to just check my webhost and rapidSSL to make sure they have the same info.

 

Thanks Again,

Jason

Link to comment
Share on other sites

Hi,

 

Am at wits end. We upgraded to PHP5 and I have all coding issues solved and OSC runs fine.

 

The autorize.net is now not working. The original moudle ADC Direct Connect was fine. So, I installed Vger's module in hopes that the updated code would work.

 

I get the dreaded error "- Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance.". The site has its own SSL Cert, Curl compiled and nothing has changed except for the upgrade to PHP5. In the error above, there 'should' be the error message returned from authorizenet. I cannot get it to work in test mode with the setting in the module or at anet.

 

I hope someone has encountered this before. Nothing is new to the server, just PHP5 (and spent an entire day and a half fixing all those code issues and now to this last one) :D

 

I scoured this thread and tried all fixes mentioned, including the ones about delimted response and such in the anet settings. I did not generate a new key but don't think that should or would be an issue....

 

Any ideas? Thank you very much.

Link to comment
Share on other sites

Can anyone tell me if this code is correct? I'm having problems connecting with authorize.net and I recently added this contribution to my site. This is from my catalog/checkout_payment.php page.

 

<link rel="stylesheet" type="text/css" href="stylesheet.css">

<script language="JavaScript" type="text/javascript">

<!--hide

 

function newwindow()

{

window.open('cvv_help.php','jav','width=500,height=550,resizable=no,toolbar=no,menubar=no,status=no');

}

//-->

</SCRIPT>

<script languge="javascript"><!--

var selected;

 

More specifically, is "<script languge="javascript"><!--" above the "var selected" suppose to be there?

 

Thank you so much. I've been trying to get this thing to work!

 

Jason

Link to comment
Share on other sites

Hi,

 

Am at wits end. We upgraded to PHP5 and I have all coding issues solved and OSC runs fine.

 

The autorize.net is now not working. The original moudle ADC Direct Connect was fine. So, I installed Vger's module in hopes that the updated code would work.

 

I get the dreaded error "- Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance.". The site has its own SSL Cert, Curl compiled and nothing has changed except for the upgrade to PHP5. In the error above, there 'should' be the error message returned from authorizenet. I cannot get it to work in test mode with the setting in the module or at anet.

 

I hope someone has encountered this before. Nothing is new to the server, just PHP5 (and spent an entire day and a half fixing all those code issues and now to this last one) :D

 

I scoured this thread and tried all fixes mentioned, including the ones about delimted response and such in the anet settings. I did not generate a new key but don't think that should or would be an issue....

 

Any ideas? Thank you very much.

 

I fixed it by adding this line to /mycatalogdir/modules/payment/authorizenet_aim.php

 

$ch = curl_init();

 

curl_setopt($ch, CURLOPT_URL,$url);

 

curl_setopt($ch, CURLOPT_VERBOSE, 0);

 

curl_setopt($ch, CURLOPT_POST, 1);

 

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

 

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

// This line added

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

 

It works in test and production mode now and the error messages are also working.

Link to comment
Share on other sites

I seem to be making progress. I'm still in test mode, but now I am getting a response email from A.net.

 

After I click on Confirm Order, I am now sent to checkout_process.php and get the following message:

 

1054 - Unknown column 'comments' in 'field list'

 

insert into orders (customers_id, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_country, customers_telephone, customers_email_address, customers_address_format_id, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_country, delivery_address_format_id, billing_name, billing_company, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_country, billing_address_format_id, payment_method, cc_type, cc_owner, cc_number, cc_expires, date_purchased, orders_status, comments, currency, currency_value) values ('2', 'John Smith', '', '261 Peterson Rd', '', 'Libertyville', '60048', 'Illinois', ' United States', '847-247-8787', '[email protected]', '2', 'John Smith', '', '261 Peterson Rd', '', 'Libertyville', '60048', 'Illinois', ' United States', '2', 'John Smith', '', '261 Peterson Rd', '', 'Libertyville', '60048', 'Illinois', ' United States', '2', 'Authorize.net AIM', 'Master Card', 'John Smith', '5424000000000015', '1107', now(), '1', '', 'USD', '1.00000000')

 

[TEP STOP]

 

What does this mean, and how do I fix it? Seems like I'm getting closer!

Steve in Ellenton, FL

Link to comment
Share on other sites

I seem to be making progress. I'm still in test mode, but now I am getting a response email from A.net.

 

After I click on Confirm Order, I am now sent to checkout_process.php and get the following message:

 

1054 - Unknown column 'comments' in 'field list'

 

insert into orders (customers_id, customers_name, customers_company, customers_street_address, customers_suburb, customers_city, customers_postcode, customers_state, customers_country, customers_telephone, customers_email_address, customers_address_format_id, delivery_name, delivery_company, delivery_street_address, delivery_suburb, delivery_city, delivery_postcode, delivery_state, delivery_country, delivery_address_format_id, billing_name, billing_company, billing_street_address, billing_suburb, billing_city, billing_postcode, billing_state, billing_country, billing_address_format_id, payment_method, cc_type, cc_owner, cc_number, cc_expires, date_purchased, orders_status, comments, currency, currency_value) values ('2', 'John Smith', '', '261 Peterson Rd', '', 'Libertyville', '60048', 'Illinois', ' United States', '847-247-8787', '[email protected]', '2', 'John Smith', '', '261 Peterson Rd', '', 'Libertyville', '60048', 'Illinois', ' United States', '2', 'John Smith', '', '261 Peterson Rd', '', 'Libertyville', '60048', 'Illinois', ' United States', '2', 'Authorize.net AIM', 'Master Card', 'John Smith', '5424000000000015', '1107', now(), '1', '', 'USD', '1.00000000')

 

[TEP STOP]

 

What does this mean, and how do I fix it? Seems like I'm getting closer!

 

you may have to go in your myphpadmin and check that the field "comments" exists in the table "orders".

Weird if it's not there...

Link to comment
Share on other sites

First off, thanks to Vger and everyone who has put so much time into this contribution. I hope to get it working properly so I am not stuck with only accepting PayPal payments.

With that said, my issue is with the orders once they return from Authorize.net.

 

I've been working in testing mode and everything seems to work fine. The order goes through, I'm taken to the checkout_success.php page but none of the items that were in the shopping cart are showing up in the order.

On the invoice I have this information coming from Authorize.net

 

Credit Card Type: American Express

Credit Card Owner: customer name

Credit Card Number: 3700 xxxx xxxx 0002

Credit Card Expires: 0807

...and

 

The subtotal, handling fee, shipping and total come through correct but the following columns have zeros in them:

 

Products Model Tax Price (ex) Price (inc) Total (ex) Total (inc)

 

...and nothing is changing in the database. Is this because I'm using the testing server at authorize.net? If so, I've wasted the better part of a day trying to figure this out.

 

Thanks for any info you can supply me with.

Matthew

Link to comment
Share on other sites

A Net doesn't work too well in Test Mode - nothing to do with the module, it's down to the A Net test server.

 

Vger

 

So should I assume that it is working properly and just go Live with it?

Link to comment
Share on other sites

Instead of test.authorize.net try changing the code to certification.authorize.net and see if that works any better.

 

If not then I'd go Live and then test it.

 

Vger

 

Still no luck BUT...

 

I just realized that my SSL cert. expired a few days ago.

I'm assuming that's my issue so once I get that taken care of I'll try again.

 

Thanks for all your help.

Matthew

Link to comment
Share on other sites

includes/languages/english/modules/payment/authorizenet_aim.php

 

..........for multiple language setups you of course would have to set up a variable in place of "Click for info on CVV"

 

The popup window will not work for multiple languages. How can I get this to work? Thanks.

Link to comment
Share on other sites

Regarding encrypting credit cards: Does anyone know if this is a good way to keep cc #'s out of your database( see quote)? Or is it better to encrypt using one of a few contributions out there? This is a post that I found that dates back a couple of years, is it still valid? If it is, it offers an easy way to accomplish this aim. I also heard that one could change the name of the admin folder? Does this help? Any and all advice would be greatly appreciated as this is an extremely important topic. Thanks for helping. -Jason-

 

Encrypting credit card data in the database does not meet the legal requirements, because you're still storing cedit card data there. And if someone manages to access the osC admin panel then they can access the credit card data in its unencrypted format. This would be the easiest way of gaining access to the credit card data from the database in its unencrypted format because the admin panel is the least secure area - even with password protection..

 

The only solution is to remove these entries from both checkout_process and includes/classes/order.php:

 

CODE

'cc_type' => $order->info['cc_type'],

'cc_owner' => $order->info['cc_owner'],

'cc_number' => $order->info['cc_number'],

'cc_expires' => $order->info['cc_expires'],

Link to comment
Share on other sites

Regarding encrypting credit cards: Does anyone know if this is a good way to keep cc #'s out of your database( see quote)? Or is it better to encrypt using one of a few contributions out there? This is a post that I found that dates back a couple of years, is it still valid? If it is, it offers an easy way to accomplish this aim. I also heard that one could change the name of the admin folder? Does this help? Any and all advice would be greatly appreciated as this is an extremely important topic. Thanks for helping. -Jason-

 

I recently installed

http://www.oscommerce.com/community/contributions,4359/

 

this one used the md5 encryption method, which is strong enough for anybody not working for the NSA :-)

 

The other ones didn't work. this one is great: takes care of all the old CC numbers with a script (that I had to fix a little bit)

 

I'm now working on having the admin side displaying the encrypted CC number, and implementing a little form in it (the must would be an ajax) requiring a password to have it displayed in clear. This would meet all security requirements. (at least mine)

My admin is of course protected by htaccess with an encrypted password above the root, but a brute force attack is always possible, or even simpler, somebody at the hosting company.

 

I talked to hackersafe recently, asking if they required encrypted CC numbers in the database in order to have their seal apposed to my site. Guess what? No.

Edited by pixclinic
Link to comment
Share on other sites

What about this method? I believe Vger suggested it and it seems very easy to do.

 

The only solution is to remove these entries from both checkout_process and includes/classes/order.php:

 

CODE

'cc_type' => $order->info['cc_type'],

'cc_owner' => $order->info['cc_owner'],

'cc_number' => $order->info['cc_number'],

'cc_expires' => $order->info['cc_expires'],

 

Thanks, Jason

Link to comment
Share on other sites

Still no luck BUT...

 

I just realized that my SSL cert. expired a few days ago.

I'm assuming that's my issue so once I get that taken care of I'll try again.

 

Thanks for all your help.

Matthew

 

 

OK so my secure cert. is fine now but I'm still having trouble getting the orders to reduce the stock in my database and the items aren't showing up on the invoices in the orders.. The e-mail I get from my store doesn't have anything in the "Products" section but the e-mails I get from Authorize.net Auto Receipt has all the info but the invoice # is wrong.

 

I'm stumped.

Thanks for any more assistance.

 

Matthew

Link to comment
Share on other sites

What about this method? I believe Vger suggested it and it seems very easy to do.

Thanks, Jason

 

if you don't care about keeping CC numbers in case authnet doesn't work, that's the easiest (and I would say safest, haha) way to do it!

Link to comment
Share on other sites

Under Configuration --> Sessions - make sure that Recreate Session is set to 'false'

 

Vger

OK so my secure cert. is fine now but I'm still having trouble getting the orders to reduce the stock in my database and the items aren't showing up on the invoices in the orders.. The e-mail I get from my store doesn't have anything in the "Products" section but the e-mails I get from Authorize.net Auto Receipt has all the info but the invoice # is wrong.

 

I'm stumped.

Thanks for any more assistance.

 

Matthew

Link to comment
Share on other sites

Under Configuration --> Sessions - make sure that Recreate Session is set to 'false'

 

Vger

 

It has been set to False... could it be an issue with the "PayPal Shopping Cart IPN" contribution, or the "Quickbooks QBI" contribution causing the problems? I have a highly customized oscommerce install and everything works fine but this contribution, yet.

 

Matthew

Link to comment
Share on other sites

Hi all.

I installed the Authorize Net AIM module , which looks great.

only, i dont get the selection for CARD TYPE, which you seems to be talking about in the forum.

How do i get a select of CARD TYPES in this module?

Is it possible?

thanks so much for advicing

Expresionario.com | Pura Sub-cultura!

Link to comment
Share on other sites

You know, I just want to say, thank you for responding to my queries. I appreciate it, I'm not just saying it, it just seems sometimes it's hard to get answers on this forum.

 

Anyway, regarding what Vger said, so this way will definitely work then? I'm not too keen on keeping copies of peoples CC #'s. It seems like a huge liability! What are the benefits? I know you said that authorize.net doesn't work sometimes. Is this a common occurrence?

 

Again, thanks for the advice. I really appreciate it.

 

 

Jason

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...