Skip to content

Authorize.Net

Collect US card payments through your Authorize.Net merchant account, with hosted payment pages and saved customer profiles.

Authorize.Net collects card payments in US Dollars through your existing Authorize.Net merchant account. It suits US businesses already processing there who want their subscriptions billed through the same account.

The payment experience is hosted: customers pay on Authorize.Net's secure payment page and return when done. There is no embedded form for this gateway.

Connecting

Go to Settings, then Payment gateways, then Authorize.Net. Credentials live in the Authorize.Net merchant interface under Account, then Settings, then API Credentials and Keys:

  • API Login ID: identifies your account.
  • Transaction Key: generated under API Credentials and Keys, shown once.
  • Signature Key: also generated there. Required: it verifies inbound webhooks, and without it every delivery is rejected until Authorize.Net deactivates the endpoint.

Use sandbox credentials on the test connection and production credentials on live.

One account setting is required

The Transaction Details API must be enabled on your account, under Account, then Settings, then Security Settings. The integration reads transaction details to match webhook events to invoices, check payment status, and look up the card for refunds. The connection test checks this and tells you if it is off.

Webhooks

After connecting, create a webhook in the merchant interface pointing at the endpoint URL shown on the gateway page, subscribed to payment events. Webhooks are how a payment finished on the hosted page reaches the right invoice, so charging stays off until this is set up.

Saving cards and renewals

A card used to pay is stored as an Authorize.Net customer profile for renewals. Cards can also be saved without a charge from the customer's update page, through Authorize.Net's hosted profile page with a zero-dollar validation. Renewals and automatic collection charge the stored profile. Removing a card in yRecurring also removes it from the profile at Authorize.Net.

Refunds

Refunds behave in two steps because of how Authorize.Net settles overnight, and the product handles both for you: a payment that has already settled is refunded normally, and a full refund of a payment that has not settled yet is voided instead. Either way the customer gets their money back and the refund is recorded the same way. See refunds.

Disputes

Authorize.Net does not send chargeback notifications to any connected system; disputes are managed inside the Authorize.Net portal, so keep an eye on the portal's dispute queue. This is a limitation of the gateway, not a setting. When a dispute there is lost, record it in yRecurring yourself: open the invoice, refund the payment offline, and choose the reason Chargeback. It is then treated exactly like a chargeback reported by any other gateway (see refunds).

Test cards

Card Number Notes
Visa, succeeds 4111 1111 1111 1111 any future expiry, any CVV
Declined 4111 1111 1111 1111 use billing ZIP 46282; enable billing address fields on the hosted page when testing declines

Limits

  • USD only, cards only, hosted experience only.
  • No chargeback notifications (see above); record lost disputes by hand as a refund with the reason Chargeback.
  • The Transaction Details API and the Signature Key are both required for the integration to function.
  • yRecurring can read your saved cards back out of Authorize.Net. Moving here from another billing system and keeping the same merchant account? The importer fetches your customer profiles directly instead of asking you for a file. See migrating saved payment methods.