Authorize.net’s Direct Post Method of payment gateway integration is a great option for Magento sites because it allows for a seamless customer experience while simplifying PCI compliance by keeping all sensitive credit card information off of the Magento server. Configuring Magento for use with Direct Post Method (DPM) is supposed to be quick and easy and it can be as long as you aware of a few less than obvious steps.
-
Make sure that your Authorize.net account is a “Card Not Present” (CNP) account. You can confirm whether or not your Authorize.net account is setup for CNP transactions by logging in to the Merchant Account Admin and verifying that you have CNP features like Recurring Billing and Fraud Detection Suite listed in the Tools section. If you do not see these options or you get errors like “Transactions of this market type cannot be processed on this system” when attempting to authorize payments, the issue is most likely that the account is setup for card present transactions only. If you are using a test account the easiest solution is to just create a new account and make sure to select Card Not Present.
-
Make sure to set an MD5-Hash. DPM uses an MD5-Hash as a sort of secret key that is set in in the auth.net merchant admin and the Magento admin to help secure comminication between your magento store and auth.net. If during checkout, after entering credit card information and clicking “Place Order”, you get a pop-up alert saying “Response hash validation failed. Transaction declined.” the problem is most likely that this is not set. Set an MD5-Hash in the Authorize.net merchant admin under Settings > Security Settings > General Security Settings > MD5-Hash. Then enter that same value in the Magento Admin under System > Configuration > Payment Methods > Authorize.net Direct Post > Merchant MD5.
- Make sure that your server’s time is set correctly. DPM makes use of a timestamp as a security measure and to help synchronize requests. If the server’s time is incorrect you may receive a pop up stating “Gateway error: This transaction cannot be accepted.” This is a generic error message. To get more specific error information you can go into app/code/core/Mage/Authorizenet/Model/Directpost.php and either log or dump
$response
infunction process()
by doing something likevar_dump($reponse); die();
to output the response from auth.net. If you get a response code 3 with a response reason code of 97 the timestamp value submitted inx_fp_timestamp
is either 15 minutes ahead, or 15 minutes behind in Greenwich Mean Time (GMT) (this is the equivalent of 900 seconds ahead or 900 seconds behind in Coordinated Universal Time, or UTC). You can test your timestamps accuracy using this tool http://developer.authorize.net/tools/responsecode97/ . On linux you can get the server time using the date command. If it is incorrect consider setting up Network Protocol Time by doing soething like this: http://alienlayer.com/install-and-configure-ntp-to-synchronize-the-system-clock-on-centos/ -
Make sure to set the Gateway URL correctly. For test accounts Test Mode should be set to NO and the Gateway URL should be set to https://test.authorize.net/gateway/transact.dll. For Live accounts this should be chagned to https://secure.authorize.net/gateway/transact.dll
Other than that the configuration is pretty straightforward. In the Magento Admin the Authoize.net Direct Post configuration should look something like this:
I hope this helps get you up and running with this very simple and secure payment method. Please feel free to drop any questions in the comments.
Originally published on magebase.com. Copyright © 2013 Magebase - All Rights Reserved.
[…] Magebase VN:F [1.9.22_1171]please wait…Rating: 0.0/10 (0 votes cast)VN:F [1.9.22_1171]Rating: 0 (from 0 votes)Google+ Filed Under: Magento plugins · Tagged With: Authorize.net, Direct, Magento, Method, Post, setup […]
I’m receiving the orders through Direct Post but they aren’t processing to Authorize.net. Everything appears the same as above… I’m miffed.
However, I have it set to Authorize and Capture. Should it be set to Authorize only? How then would the payment be finalized?
[I’m currently using the Virtual Teller for all transactions until I work this out.]
Need help!
Anthony, You should be able to auth and capture.
If you just authorize when the order is placed, you can capture when the order is invoiced and shipped.
Did you try putting auth.net info debug or test mode?
Yes, we tested and it worked. When we flipped the switch, only one of three orders reached transaction status with Authorize.net. Thanks for responding… I’ll keep digging.
Did you ever get the Authorize.net Direct Post method to work? I’m on Magento 1.8.1 and it has never worked, though the normal method does work. What gives?
Yes, we did get it to work. I think the issue was Test Mode. When flipping the switch, it went into Test Mode and we had to turn it to live? Shoot, this was so long ago (I have a terrible memory), I don’t remember if that was it.
With AresourcePool, hire virtual resources in India and save your business costs.Hire dedicated professionals in HTML, PHP, Sharepoint, Mobile, DotNet, Server Admin, back office, finance, HR processes etc. AResourcePool provides Magento Development also with a jQuery and JavaScript and Magento programmers provide resource hiring facility to complete your Magento Integration
I had a few problems myself. The plugin didn’t work. Since a few months I’ve been using this plugin: http://www.sellxed.com/shop/en/magento-authorize-net-zahlungs-extension.html
This plugin is also able to process tokenization and so on. I’ve had no problems so far.
I hope this will help.
Hi
I have problems with AUTHORIZE.NET. I’ve tried on 2 sites but still same problem.
Direct Post isn’t working. Not loading fields for payment information. When hit “PLACE ORDER” button, magento shows that the order was complete, but no payment.
I’ve contacted Authorize.net support and they told me that they are not seeing any connection to their system.
Any suggestions how can solve this problem ???
The CCV Code is not being transmitted to Authorize.net.
We require it on the Magento Community Shopping cart.
I’ve spoken with Authorize.net and they say the code does not arrive.
Where can the problem lie?
Thanks for your help.
if a customer pays with their card we swipe it through our machine and we end up having to do a refund/credit…..I do not do it through Auth.net but through the machine correct?
I am using TEST account of Authorize.net. Also set up in Magento admin as per above instructions except server time settings (as I am not getting error related to server time mentioned above). But I am getting following error for Authorize.net DPM after clicking on Place order.
SORRY for not adding comment properly..
I am using TEST account of Authorize.net. Also set up in Magento admin as per above instructions except server time settings (as I am not getting error related to server time mentioned above). But I am getting following error for Authorize.net DPM after clicking on Place order.
But transaction is recorded in Authorize.net as “Authorized/Pending Capture”. But on Magento side Orders are getting added with “Pending Payment” status (with no success page for customer). Can you please suggest, am I doing anything wrong here?
Thank you for sharing!
If you want to set shipping or payment methods for certain customer groups, for example only show free shipping method for wholesalers so that other customer groups cannot see this shipping method, we have developed an extension called Shipping and Payment per Customer Group. https://goo.gl/A6dLLy
It allows to assign shipping and payment methods to specific customer group. This feature promotes better management for admin, reduces confusion for customers during checkout process and help admin develop better strategy to prioritize potential customer groups.
Hi there,
We activated a new function on our fraud detection suite that held “suspicious” transactions for review. I have submitted the transactions that were obviously not fraud as “authorized/pending capture” but don’t see these invoices when I search for them in Magento.
What could be the reason ?
Thanks
Hello,
I also have problem with “suspicious” transactions for review.
Order is being marked as canceled in Magento.
What is the problem?
Thanks
If you are using third Party Payment Extension, then it should be the issue.
Thanks