UPDATED on April 12th, 2019
Magento's implementation of the Authorize.Net Direct Post payment method uses MD5 based hash. Authorize.net will stop supporting MD5 based hash usage on June 28, 2019. This will result in Magento merchants not being able to process payments using Authorize.Net Direct Post. To avoid this, merchants need to apply the patch provided by Magento and replace the existing MD5 hash with a Signature Key (SHA-512) in the Magento Admin configuration settings.
Magento released a new Authorize.Net extension to replace Direct Post in upcoming 2019 releases, starting with v2.3.1 for Commerce and Open Source.
The core Magento Authorize.Net payment integration is deprecated since 2.3.4 and will be completely removed in 2.4.0. Use the official extension from marketplace instead.
Affected versions
- Magento Commerce 1.X.X
- Magento Open Source 1.X.X
- Magento Commerce 2.X.X
- Magento Open Source 2.X.X
- Magento Commerce Cloud 2.X.X
- Authorize.Net Direct Post
Issue
Magento implements the Authorize.Net Direct Post payment method, using Authorize.Net's AIM (Advanced Integration Method) and DPM (Direct Post method) APIs, which use MD5 based hash.
Authorize.net will stop supporting MD5 based hash usage on March 14, 2019. Starting from this date, Magento Open Source, Magento Commerce and Magento Cloud merchants will not be able to process payments using Authorize.Net Direct Post payment method. To be able to continue successfully process payments using these methods, merchants need to apply the patch provided by Magento and replace the existing MD5 hash with a Signature Key in the Magento Admin configuration settings.
Solution
Further are described the three general steps you need to take be able to continue using Authorize.Net Direct Post payment method.
Alternatively, you can upgrade to version 2.2.8 or 2.3.1 and get all updates and a new Authorize.net payment method option.
1. Download the patch
Magento Cloud and Magento Commerce
Patches are attached to this article. To download a patch, scroll down to the end of the article and click the file name, or click one the following links:
- For versions 2.2.0-2.2.7 and 2.3.0 - Download Auth.net.md5-2019-02-28-05-04-05.composer-2019-03-04-07-33-26.patch
- For versions 2.0.0-2.0.18 and 2.1.0-2.1.16 - Download MDVA-17212_EE_2.1.0_v1.composer-2019-03-05-12-05-22.patch
Magento Commerce
- For versions 1.10.1.0-1.14.4.1 - Download PATCH_SUPEE-11085_EE_1.14.4.0_v1-2019-02-28-04-59-38.sh
Magento Open Source
- Click a link to download: M1 patch or M2 patch.
- For Select your format, select a format best matching your needs. For M1, there is just one option. For M2, choose between Git-based or Composer-based.
2. Apply the patch
You may require developer assistance to apply the update. To update, you can download and install packages for your Magento edition and version. Download patches also available for those who installed with Composer.
Magento Cloud
For Magento Commerce Cloud, apply the M2 patch and deploy. For details, see Apply custom patches.
Magento 2.X Commerce
For Magento Commerce 2.X and Open Source 2.X, follow these steps to install the Composer-based patch:
- Upload the patch to your Magento root directory.
- Run the following SSH command:
(If the above command does not work, try usingpatch -p1 < %patch_name%
-p2
instead of-p1
) - For the changes to be reflected, refresh the cache in the Admin under System > Cache Management.
Magento 2.X Open Source
For Magento Open Source 2.X, follow these steps to install the Composer-based patch:
- Upload the patch to your Magento root directory.
- Run the following SSH command:
patch -p0 < %patch_name%
- For the changes to be reflected, refresh the cache in the Admin under System > Cache Management.
Magento 1.X Commerce and Open Source
For Magento Commerce 1.X and Open Source 1.X, follow these steps to install the patch:
- Upload the patch to your Magento root directory.
- Run the following SSH command:
sh %patch_name%.sh
- For the changes to be reflected, refresh the cache in the Admin under System > Cache Management.
3. Get a new Signature Key
You need to get a new Signature Key and add it to your Magento Admin configuration. For more information, see What is a Signature Key?
- Log into the Merchant Interface at https://account.authorize.net.
- Click Account from the main toolbar.
- Click Settings in the main left-side menu.
- Click API Credentials & Keys.
- Select New Signature Key. Review the options available.
- Click Submit to continue.
- Request and enter PIN for verification.
- Your new Signature Key is displayed. Copy this key to add to your Magento Admin configuration.
4. Update Magento Admin configuration
Take the following steps to update the Magento Admin configuration:
- Log into the Magento Admin.
- On the Admin sidebar, click Stores. Then under Settings, click Configuration.
- In the panel, click Sales then Payment Methods.
- Expand the Authorize.net Direct Post section.
- In the Signature Key enter the SHA-512 Signature Key.
- Click Save Config.
Magento 2 Authorize.Net Direct Post configuration screen
Magento 1 Authorize.Net Direct Post configuration screen
The process is successful if the Signature Key updates and payment processing continues. If you have issues, verify the Signature Key with Authorize.Net.
More information
- Tech Resources for Magento Open Source and Commerce documentation
- Authorize.Net announcement: MD5 Hash End of Life & Signature Key Replacement