How to setup Authorize.Net on WooCommerce?
In this guide, learn how to setup Authorize.Net on your WooCommerce store.
If you have not created an Authorize.Net account yet, create a business account before proceeding.
You also need to get the Authorize.Net plugin from the WooCommerce marketplace.
Ensure this plugin is installed, active, and setup correctly!
If you are more of a visual learner, you can check out the video tutorials below!
Let’s jump into it!
Table of Contents
Authorize.Net WooCommerce setup
- Enable Authorize.Net in WooCommerce
- Get Authorize.Net account keys
- Test that Authorize.Net is working
Step 1. Enable Authorize.Net in WooCommerce
Go to WooCommerce > Settings and click the Payments tab.
Next, click the checkbox to enable Authorize.Net Credit Card and click Manage.
Then, click the checkbox to enable the gateway, click the checkbox to enable Card Verification (CSC), select ‘Charge’ from the Transaction type dropdown, click the checkbox to enable tokenization, and select ‘Production’ from the Environment dropdown.
Step 2. Get Authorize.Net account keys
Next, add in your Authorize.Net account keys.
To get your Authorize.Net account keys, you will need to login to your Authorize.Net dashboard.
From the Authorize.Net dashboard, click Account > API credentials & Keys.
Then, you will be able to view your publishable and secret keys. Copy these values and paste these values in the API credentials section.
API Login ID
First, copy the API Login ID in Authorize.Net and paste this value in WooCommerce.
API Transaction Key
Next, copy the API Transaction key in Authorize.Net and paste this value in WooCommerce.
API Signature Key
Finally, copy the API Signature key in Authorize.Net and paste this value in WooCommerce.
Just a heads up that if you have not used your Authorize.Net Transaction key for an extended period of time, Authorize.Net may require you to regenerate a new key.
Lastly, don’t forget to scroll to the bottom of the page and save your changes in WooCommerce.
Step 3. Test that Authorize.Net is working
Finally, do a live transaction on your site using Authorize.Net or setup a sandbox account.
Open up an incognito window and go to the frontend of your site.
Add a product to your Cart and go through the Checkout process.
You should see the option to pay with a credit card.
If you do not see this option, you may also have to clear your cache.
Pro tip: Update 1 product in your store to be $1 and do a real transaction using Authorize.Net to make sure everything is working!
Authorize.Net Sandbox Account
- Enable test mode in WooCommerce
- Create your sandbox account
- Paste your Sandbox API credentials in WooCommerce
- Do a test transaction on your site
Creating a sandbox account with Authorize.Net allows you to do test orders on your WooCommerce store. I would recommend using a staging site to do test transactions.
The sandbox functions like the production environment but no actual card payments are processed.
Step 1: Enable test mode in WooCommerce
Go to WooCommerce > Settings > Payments > Authorize.Net and make sure the gateway is enabled.
Switch the environment to “Test”.
Step 2: Create your sandbox account
Go to https://developer.authorize.net/hello_world.html and click ‘CREATE A SANDBOX ACCOUNT’.
Pro tip: if you end up forgetting your API credentials or the email address you used, do not worry. You can always create another sandbox account if need be.
Step 3: Paste your Sandbox API credentials in WooCommerce
Copy your Sandbox API credentials to your WooCommerce site. Save changes.
The easiest way to do this is to split your screen like in the screenshot below.
Now you will be able to do test transactions on your WooCommerce store!
Step 4: Do a test transaction on your site
Go to the frontend of your WooCommerce site or open up an incognito window to simulate how a customer would go through the purchase process on your site.
Add a product to your Cart and go through the Checkout process.
Reference the Authorize.Net testing guide for test credit card numbers that work in the sandbox. I provided examples below of test credit card numbers that work.
Visa example (3-digit CVV code)
Card number: 4007000000027 Expiration: 01/21 Card Security Code: 123
American Express example (4-digit CVV code)
Card number: 370000000000002 Expiration: 08/25 Card Security Code: 1111
If you are having trouble, follow along to the video tutorials below.
How to create an Authorize.Net Merchant Account?
To create an Authorize.Net Merchant Account account, you will need to go sign up/fill out a form and then be approved. You can register at https://www.authorize.net/sign-up/pricing.html.
In my personal experience, after filling out your application, you are most likely able to start processing credit card payments within 24 hours on your WooCommerce site. I would recommend filling out the merchant application and then call their support line right away to make sure there are not any issues.
How to setup a Authorize.Net sandbox account on WooCommerce?
Creating a sandbox account is free, and anyone can sign up for a sandbox account and take ‘test’ payments without a merchant account. I would recommend using a staging site to do test transactions.
To create an Authorize.Net sandbox account, go to their dev site and create your sandbox account.
See my tutorial for more info on how to setup Authorize.Net sandbox account to test transactions on WooCommerce:
Will Authorize.net work in my country?
Authorize.net is only available to merchants in the United States, Canada, United Kingdom, Europe, and Australia.
What credit cards are accepted with Authorize.Net?
Visa, MasterCard, Discover Discover, American Express, Diners Club, and JCB.
Does Authorize.net accept recurring payments and work on WooCommerce Subscriptions?
Yes, Authorize.net accepts recurring payments and works on WooCommerce Subscriptions.
Authorize.Net CIM for WooCommerce is free but Authorize.Net is paid. Do I really need to buy this plugin or can I still collect payments with the free plugin?
Technically you could use the free plugin and get it to work on your store. However, the free plugin does not include Accept.js from Authorize Net. The paid plugin includes Accept.js. With Accept.js, your customer’s payment information is handled directly by Authorize Net and meets the lower level PCI SAQ A-EP compliance level. In addition, the free plugin is not updated as often as the paid version.
Can I use more than one website with my Authorize.Net Payment Gateway account?
Yes. You can use the same api login and transaction key for multiple sites. However, it is not typical for the multiple sites to be on different ecommerce platforms, and this may flag “More than one type of business” to Authorize.net. Thus, I would contact your Authorize.Net Merchant Service Provider and explain your situation and whether your current setup would work for those particular needs.
Do I need to have an SSL certificate installed on my WooCommerce store for Authorize.net to work?
Yes, an SSL certificate is required for all WooCommerce live & test environments.
How long does Authorize.net take to deposit into my business checking account?
Funds are typically deposited into your business checking account within 2 business days.
How much does Authorize.Net charge per transaction?
Authorize.net charges users 2.9% plus $0.30 per transaction. For comparison, Stripe also charges users 2.9% plus $0.30 per transaction.
Why use Authorize.Net instead of Stripe for WooCommerce?
I would recommend using Authorize.net instead of Stripe if…
- You already have an Authorize.net Merchant Account setup.
- You’re in a “High-Risk” Industry such as “Firearms” or “Cannabis”. Note, Authorize.Net has far fewer restrictions regarding the types of businesses it’s willing to partner with.