Skip to main content

Authorize.Net configuration guide

This guide walks you through collecting the required Authorize.Net credentials, configuring Authorize.Net Webhooks, and saving the connection in the EFundPay Dashboard.

You need three values from the same Authorize.Net account and environment:

EFundPay fieldAuthorize.Net valuePurpose
API Login IDAPI Login IDIdentifies your Authorize.Net merchant account for API requests.
Transaction KeyTransaction KeyAuthenticates payment, query, refund, and void API requests.
Webhook Signature KeySignature KeyVerifies the X-ANET-Signature header on Authorize.Net webhook notifications.
Keep credentials private

API Login ID, Transaction Key, and Signature Key are credentials. Do not include them in screenshots, tickets, chat messages, client-side code, or source control.

1. Select the correct environment

Use the Authorize.Net Merchant Interface that matches the environment you will select in EFundPay:

Sandbox and production accounts use different credentials. A sandbox credential will not work when the EFundPay connection environment is PRODUCTION, and a production credential will not work when it is SANDBOX.

2. Open API Credentials and Keys

In the Authorize.Net Merchant Interface:

  1. Open Account in the left navigation.
  2. Select Account and API Settings.
  3. Select API Credentials and Keys.

Open Account and API Settings, then API Credentials and Keys

3. Copy the API Login ID and generate a Transaction Key

On the API Credentials and Keys page:

  1. Copy the displayed API Login ID.
  2. Under Transaction Key, select Generate New Transaction Key.
  3. Complete Authorize.Net's identity verification if prompted.
  4. Copy the complete Transaction Key when it is displayed.

Locate the API Login ID and generate a Transaction Key

Key rotation

Generating a new Transaction Key can invalidate the key used by an existing integration. Update the EFundPay connection immediately and coordinate the rotation before changing a production key.

4. Generate the Webhook Signature Key

On the same page, scroll to Signature Key and select Generate New Signature Key. Complete identity verification if requested, then copy the entire key.

Generate a new Signature Key

Enter the key itself in EFundPay. Do not add the sha512= prefix used by Authorize.Net's X-ANET-Signature HTTP header. The expected Signature Key is a 128-character hexadecimal value.

5. Configure the required EFundPay webhook URL

EFundPay relies on Authorize.Net webhooks to verify and apply asynchronous payment, refund, and void results. This step is required even when API credentials have already been saved.

In the Authorize.Net Merchant Interface:

  1. Go back to AccountAccount and API Settings.
  2. Scroll to Webhook Notifications and select Webhooks.

Open Webhooks under Account and API Settings

  1. Select Create a webhook notification.
  2. Set the endpoint URL exactly to:
https://notify.efundpay.com/authorize/webhooks
  1. Set the notification status to Active.
  2. Subscribe to these event types:
Authorize.Net event typeEFundPay use
net.authorize.payment.authcapture.createdConfirms an authorization-and-capture payment.
net.authorize.payment.refund.createdConfirms a refund for a settled transaction.
net.authorize.payment.void.createdConfirms that an unsettled transaction was voided.

Select all three events in one notification when the interface supports multiple selections. If it allows only one event per notification, create three active notifications using the same EFundPay endpoint URL.

Required EFundPay endpoint

Use https://notify.efundpay.com/authorize/webhooks exactly.

After saving, verify that the notification is Active and that Endpoint URL shows the EFundPay address.

Verify the active Authorize.Net webhook and EFundPay endpoint URL

6. Save the connection in EFundPay Dashboard

In EFundPay Dashboard, open ConnectionsYour connections, locate Authorize.Net, and select Configure. Complete the form as follows:

Dashboard fieldWhat to enter
Reference nameA name that helps your team identify this account, such as US sandbox - Authorize.Net.
EnvironmentSANDBOX or PRODUCTION; it must match the Authorize.Net Merchant Interface used in step 1.
Payment methodsSelect Card.
Card brandsSelect only the brands enabled for your Authorize.Net merchant account.
API Login IDThe value copied in step 3.
Transaction KeyThe value generated in step 3.
Webhook Signature KeyThe Signature Key generated in step 4.

Select Save. When editing an existing connection, leave a masked secret field unchanged to keep the saved value. Use Clear saved value only when you intentionally want to remove and replace that credential.

7. Verify the setup

Before going live:

  1. Confirm the EFundPay connection is saved for the intended merchant account and environment.
  2. Confirm every required Authorize.Net webhook notification is Active and points to the EFundPay endpoint.
  3. Create a sandbox transaction and verify that its status is updated in EFundPay after Authorize.Net sends the webhook.
  4. Test a void. Test a refund after the sandbox transaction becomes eligible for refund.
  5. Repeat the credential and webhook setup in the production Authorize.Net account before changing the EFundPay connection to PRODUCTION.

Troubleshooting

SymptomWhat to check
Authentication failedEnvironment, API Login ID, and Transaction Key must all belong to the same Authorize.Net account.
Webhook is not receivedNotification status must be Active, the required event must be selected, and the endpoint must be https://notify.efundpay.com/authorize/webhooks.
Webhook signature verification failedRegenerate or recopy the Signature Key, remove whitespace, and do not include sha512=. Then update the EFundPay Webhook Signature Key.
Payment updates but refund or void does notAdd and activate the refund.created and void.created event subscriptions listed above.
Duplicate callbacks appearCheck for duplicate active Authorize.Net notifications using the same event and endpoint. Authorize.Net may also retry a notification until it receives a successful response.

For an overview of the connector, see Authorize.Net overview.

Powered by Docusaurus