Contributions
Authorize Net AIM module (GPL)
This is a new module for the Authorize Net AIM (Advanced Integration Method) service. The support thread for it is located here:
http://forums.oscommerce.com/index.php?showtopic=199381
Vger
Expand All / Collapse All
This is the fix for your credit card cannot be processed for this reason error . Just a single file need to placed in include/modules/payment directory. Get rid of the error. Great contribution
For sites I work with using this module, clicking the CVV Help link results in a 404 Error. The problem is an extra slash in the englishauthorizenet_aim.php which this release fixes.
I should point out that putting URLs inside of the english files does not seem to be good practice for the OSC coding standard although I am not an expert by any means.
This includes a workaround described in the upload below. For some reason Authorize.net's responses won't always be formatted as expected, and this version will try parsing the data in two different methods.
If you're having a problem with the transaction not going through and receiving the
following message without an error code:
"Your credit card could not be authorized for this reason.
Please correct any information and try again or contact us for further assistance."
This fix worked for me...
This version records the credit card information as well as the transaction details (AVS response, card code response, and transaction ID) and stores them in the database so that they are visible from the admin. Only the last four digits of the credit card number are stored in the database and the CVV2 code is not stored at all to comply with PCI regulations.
While I was at it, I also cleaned up the code a little, got rid of some duplicate code, and fixed it so that test mode works correctly again (someone had changed it so that tests were run through the live URL).
If you have a previous version installed, you need to follow the instructions to apply the two new changes -- one to the database and one to the /admin/orders.php file.
This is a full package.
A customer was having a problem with this module because the POST variables get renamed in the process_button() function. I've simply renamed those variables so that they are standard throughout the module.
This is a full package based on the 29 Jul 2008 release.
For PCI compliance, you'll likely need to eliminate the entry of all CC information into the database. If you're on a live site (ie no longer debugging/testing) and do not have any other uses for CC information in the database/admin, make the following changes and your DB and admin will never see/get that information in the first place.
-----------------------------------
Only one file and four lines to modify.
catalog/checkout_process.php
1. Find
'cc_type' => $order->info['cc_type'],
change to:
'cc_type' => '',
2. Find (right below on unmodded osc)
'cc_owner' => $order->info['cc_owner'],
change to
'cc_owner' => '',
3. Find (right below on unmodded osc)
'cc_number' => $order->info['cc_number'],
change to
'cc_number' => '',
4. Find (right below on unmodded osc)
'cc_expires' => $order->info['cc_expires'],
change to
'cc_expires' => '',
----------------
That's it. This will ensure that your OSC system never sees the sensitive CC information. Authorize.net will still function properly.
Zip file attached contains .txt with this same information.
OK here's a fix. It's extremely simple but it causes a lot of headaches!
The LIVE url for the connection to authorize.net was commented out when it shouldn't have been, and in its place was the TEST url, which will obviously not work in LIVE mode.
This is a complete package, plug & play. :)
Sorry, I think I missed a file. Here u go!
Sorry, I think I missed a file in the last upload, pls try this.
DID NOT use Umartoru’s file/module!!
Reason:
1.) Not sure what’s “viger module”
2.) I don’t need the flag function
3.) I have added code on my orders.php, so I can’t use his and I don’t have time to incorporate his module
Description:
This is a complete package started with qurumsd’s package and added ikishk’s patch. I tried to add jasonabc & qwkfsbo’s patch, but the documentation isn’t…. their functions don’t seem to be working.
Therefore, this is qurumsd’s version + the popup fixed.
What’s new?
I fixed the Test server URL & omitted qurumsad’s install instructions (to make the pop up work) to make it easier for others to install.
Need to know:
I have attached qurumsd’s modified version and a tip page that I’ve created regarding error messages:
a.) “(TESTMODE) The merchant login ID or password is invalid or the account is inactive…”
b.) “(TESTMODE) This account has not been given the permission(s) required for this request…”
these files implement prior_auth_capture funcationality in admin means that when status is updated to shipped it capture the transaction. but you need to install the viger module first. and also flag suspicious transactions. like if they are above $50 and are shipped outside usa.
When the transaction is declined the error is displayed on the address bar. So this is a minor fix to show the customer what a message if the card is declined.
<?php $ccnotif = $_GET["error_message"]; ?>
<div style="color:#FF0000; font-weight:bold; font-style:italic "> <?php echo $ccnotif; ?></div>
Popups dont seem to work properly with STS installed. heres a quick hack to get them to work.
includes/languages/english/modules/payment/authorizenet_aim.php:
//define('MODULE_PAYMENT_AUTHORIZENET_AIM_TEXT_CVV', 'CVV Number <a href="javascript:newwindow()"><u>More Info</u></a>');
define('MODULE_PAYMENT_AUTHORIZENET_AIM_TEXT_CVV', 'CVV Number <a onClick="javascript:window.open('/catalog/cvv_help.php','jav','width=500,height=550,resizable=no,toolbar=no,menubar=no,status=no');"><u>More Info</u></a>');
checkout_payment.php:
remove the newwindow JS.
cvv_help.php:
comment out all the lines, add one line:
require('catalog/includes/languages/english/cvv_help.php');
The AIM module sends full credit card numbers in unencrypted, plain-text format straight into the ORDERS database table.
This very quick edit replaces the middle digits with XXXX's before it is inserted into the database.
This is a patch, NOT the full package.
This fix ensures that the order totals are calculated before sending them to the authorize module. Previously, the total was being sent to the authorize module before additional charges were added (such as taxes or handling fees). This caused the total to show up correctly in the database, but the wrong amount sent to authorize.
This is a FULL INSTALL, but the fix is outlined below as well:
In catalog/checkout_process.php (line 49):
CUT OUT the two lines
---------------------------
// load the before_process function from the payment modules
$payment_modules->before_process();
-------------------------------
and paste them BELOW (line 55)
--------------------------------
$order_totals = $order_total_modules->process();
---------------------------------
so it should look like:
---------------------------
require(DIR_WS_CLASSES . 'order_total.php');
$order_total_modules = new order_total;
$order_totals = $order_total_modules->process();
// load the before_process function from the payment modules
$payment_modules->before_process();
-----------------------------
I added the ability to easily define a CURL Proxy if necessary. I found this to be true with my provider, when this module kept hanging without returning any errors.
I updated all files and the installation instructionsas well.
Updated the Install file, and made text changes to one file, and modified the 'test' url within the module in light of users experiences. Full file set.
I have updated the Install file with some extra information which you should find useful. Full file set.
Vger
This is a new module for the Authorize Net AIM (Advanced Integration Method) service. The support thread for it is located here:
http://forums.oscommerce.com/index.php?showtopic=199381
Vger
Note: Contributions are used at own risk.