WooCommerceAccept.js

Authorize.net Payment Gateway for WooCommerce

Accept credit and debit cards in WooCommerce with your Authorize.net merchant account.

Free version coming soon to WordPress.org

Take credit and debit card payments in WooCommerce with your Authorize.net account.

Card details are sent from the customer’s browser straight to Authorize.net with Accept.js and come back as a one-time token, so the card number never reaches your server. That keeps you in the simplest PCI category (SAQ A-EP) instead of SAQ D.

It uses the current Authorize.net API, and works with both the block checkout and the classic shortcode checkout.

Free and Pro

FeatureFreePro
Works with the block checkout and the classic checkout✓✓
Card numbers go from the customer's browser straight to Authorize.net, never through your server✓✓
Charge when the order is placed, or authorize and capture later. Capture can happen automatically when you mark the order Processing or Completed, and the hold is released if you cancel it✓✓
Full and partial refunds from the order screen. A charge that hasn't settled yet is voided instead✓✓
Choose which card brands you accept✓✓
Address and security code check results saved in the order notes✓✓
Sends line items, the shipping address and your statement descriptor with each charge✓✓
Optional Authorize.net email receipts✓✓
Debug log with keys and card data removed✓✓
Saved cards: returning customers pay with a card stored in your Authorize.net account, not on your site–✓
WooCommerce Subscriptions: automatic renewals, free trials and card updates–✓
Customers can add a card from My Account–✓
Priority email support–✓

Pro uses the same settings as the free version, so upgrading keeps your setup.

Pro pricing

Pro licenses renew yearly and you can cancel any time. If a license lapses, payments keep working; you just stop getting updates and support.

5 sites

$179 / year

Use on up to 5 sites

Available soon

25 sites

$349 / year

Use on up to 25 sites

Available soon

What you need

  • A merchant account with Authorize.net. A free sandbox account works for testing.
  • Your API Login ID, Transaction Key and Public Client Key.
  • WooCommerce 10.9 or newer and PHP 8.1 or newer.

Setup

  1. Install and activate the plugin.
  2. Go to WooCommerce > Settings > Payments and open Authorize.net.
  3. Enter your API Login ID, Transaction Key and Public Client Key.
  4. Choose whether to charge right away or authorize and capture later, then save.
  5. Place a test order. A sandbox account is the easiest way to test: sign up free at developer.authorize.net and check “Sandbox account”.

Questions

Where do I find my API Login ID and keys?

In the Authorize.net Merchant Interface, go to Account > Settings > Security Settings. “API Credentials & Keys” has the API Login ID and lets you create a Transaction Key. “Manage Public Client Key” has the Public Client Key.

Does this support the old AIM integration?

No. AIM sends the full card number through your server, which puts your store in the strictest PCI category. This plugin uses Accept.js and the current Authorize.net API instead.

Do card numbers touch my server?

No. Your site only receives a one-time token, the card brand and the last four digits.

Why does a refund need the last four digits?

Authorize.net requires them for refunds. The plugin stores the last four digits with each order, so refunds from the order screen just work.

How do refunds work before a charge settles?

Authorize.net settles charges once a day. Before that, a charge can only be voided, so a full refund of an unsettled charge is sent as a void automatically.