LostChurn Docs
Integrations

Authorize.net Integration

Connect Authorize.net to LostChurn for automatic failed payment recovery.

The Authorize.net integration is live. Connect your Authorize.net account in your LostChurn dashboard under Settings > Integrations.

Authorize.net is one of the longest-established payment gateways, widely used by businesses of all sizes for credit card and e-check processing. LostChurn connects to Authorize.net using your API Login ID and Transaction Key, and uses Authorize.net's Webhooks API to receive real-time payment notifications.

Prerequisites

  • An active Authorize.net account (any plan)
  • Access to the Authorize.net Merchant Interface with admin permissions
  • Your Authorize.net API Login ID and Transaction Key (found under Account > Settings > API Credentials & Keys)
  • A LostChurn account with at least one workspace created

Connection Steps

  1. Log in to the Authorize.net Merchant Interface.
  2. Navigate to Account > Settings > API Credentials & Keys.
  3. Copy your API Login ID (a unique alphanumeric string).
  4. Under Create New Key(s), select New Transaction Key and click Submit. Copy the generated Transaction Key immediately (it cannot be viewed again after you leave the page).
  5. In your LostChurn dashboard, go to Settings > Integrations and click Connect Authorize.net.
  6. Enter your API Login ID and Transaction Key.
  7. Click Save and Verify. LostChurn makes a test API call (getTransactionListRequest) to confirm the credentials are valid.

Webhook Configuration

Authorize.net supports webhooks through the Merchant Interface or the REST API. LostChurn can register webhooks automatically once your credentials are configured.

Automatic Setup

After saving your credentials, click Auto-Configure Webhooks in the LostChurn Authorize.net integration page. LostChurn uses the Authorize.net Webhooks API to register the endpoint and subscribe to the required events.

Manual Setup

If you prefer manual configuration:

  1. In the Authorize.net Merchant Interface, go to Account > Settings > Webhooks.
  2. Click Add Endpoint.
  3. Set the Endpoint URL to:
    https://webhooks.lostchurn.com/v1/authorizenet
  4. Set the Status to Active.
  5. Select the following event types:
    • net.authorize.payment.authcapture.created
    • net.authorize.payment.capture.created
    • net.authorize.payment.refund.created
    • net.authorize.payment.void.created
    • net.authorize.payment.fraud.declined
    • net.authorize.payment.fraud.held
    • net.authorize.customer.subscription.cancelled
    • net.authorize.customer.subscription.created
    • net.authorize.customer.subscription.updated
    • net.authorize.customer.subscription.expiring
    • net.authorize.customer.subscription.suspended
  6. Click Save.
  7. Copy the Signature Key from Account > Settings > API Credentials & Keys > Signature Key. Click Generate if no key exists.
  8. In your LostChurn dashboard, paste the Signature Key into the Webhook Signature Key field.

Webhook Signature Verification

Authorize.net signs webhook payloads using HMAC-SHA512 with your Signature Key. The signature is sent in the X-ANET-Signature HTTP header in the format sha512=<hex_digest>. LostChurn computes HMAC-SHA512 of the raw request body using your Signature Key and compares the hex digest against the provided value using a timing-safe comparison. Requests with missing or invalid signatures are rejected with a 401 response.

Verify Connection

  1. After configuring the webhook, Authorize.net does not provide a built-in test button for webhooks.
  2. To verify the connection, process a test transaction in your Authorize.net sandbox:
    • Log in to the Authorize.net Sandbox.
    • Navigate to Tools > Virtual Terminal.
    • Process a transaction using test card number 4222222222222 (which triggers a decline).
  3. In your LostChurn dashboard, navigate to Events and confirm the declined transaction event appears.

A successful connection shows a green Connected badge on the Authorize.net card in Settings > Integrations.

Supported Events

Authorize.net EventLostChurn Action
payment.authcapture.createdRecords authorization and capture result
payment.capture.createdConfirms payment capture
payment.refund.createdRecords refund for revenue reporting
payment.void.createdRecords voided transaction
payment.fraud.declinedCreates fraud-declined record, skips retry
payment.fraud.heldFlags transaction for merchant review
customer.subscription.cancelledRecords churn event, triggers reactivation campaign if configured
customer.subscription.createdRegisters new ARB subscription for monitoring
customer.subscription.updatedUpdates subscription metadata
customer.subscription.expiringTriggers pre-emptive renewal reminder
customer.subscription.suspendedRecords suspension, triggers dunning sequence

Provider-Specific Notes

Automated Recurring Billing (ARB)

Authorize.net handles recurring payments through its Automated Recurring Billing (ARB) system. LostChurn monitors ARB subscription events to detect failed recurring charges. Key considerations:

  • ARB subscriptions have limited metadata compared to other platforms. LostChurn enriches ARB events with customer profile data from Authorize.net's Customer Information Manager (CIM) when available.
  • ARB does not provide detailed decline codes in webhook payloads. LostChurn retrieves the full transaction details via the Transaction Reporting API to obtain decline reason codes for retry optimization.

Sandbox Environment

Authorize.net provides a sandbox environment at sandbox.authorize.net with separate credentials. To connect your sandbox:

  1. Create a sandbox account at developer.authorize.net.
  2. Use the sandbox API Login ID and Transaction Key when connecting in LostChurn.
  3. Mark the connection as Sandbox in the LostChurn integration settings.

Sandbox events are labeled with a sandbox badge in the Events feed.

Response Codes

Authorize.net uses numeric response codes to indicate transaction results. LostChurn maps these to its internal decline taxonomy:

  • 2 — Declined: Generic decline, retry eligible.
  • 3 — Error: Transaction error, retry after delay.
  • 4 — Hold for Review: Awaiting merchant review, no automatic retry.
  • 27 — Address Verification Mismatch: May retry with corrected billing address.
  • 44 — CVV Mismatch: Requires customer to re-enter payment details.
  • 252 — Card Expired: Triggers dunning email for payment method update.

The full mapping is available in Settings > Integrations > Authorize.net > Decline Code Mapping.

Customer Information Manager (CIM)

If you use Authorize.net's CIM to store customer payment profiles, LostChurn can reference stored profiles when executing retries. This allows retrying with updated payment information without requiring the customer to re-enter their card details.

Rate Limits

Authorize.net does not publish explicit API rate limits but recommends keeping requests under 10 per second. LostChurn throttles retry attempts to 5 per second to ensure reliable operation. If you process high volumes, contact both Authorize.net and LostChurn support to discuss higher throughput options.

Legacy XML API

LostChurn uses Authorize.net's newer JSON-based REST API for webhook registration and the XML-based ANet API for transaction operations. Both API formats are handled internally by LostChurn. No additional configuration is required.

On this page