Authorize.net for Paid Memberships Pro v1.0.0

Need help?

Contact Support

Usage Guide

Authorize.net for Paid Memberships Pro Documentation

Checkout Flow

Once configured, Authorize.net appears automatically on all PMPro checkout pages. Levels with a $0 price bypass the gateway entirely and complete immediately.

  1. 1

    The member enters their card details on the PMPro checkout page. Accept.js tokenizes the card data in the browser before the form is submitted — your server receives only a single-use encrypted token.

  2. 2

    The initial charge is processed. For recurring levels, the plugin creates an ARB subscription in Authorize.net using PMPro's configured billing cycle, trial settings, and subscription delay date.

  3. 3

    On success, PMPro activates the membership and sends the confirmation email. The card type and last four digits are stored on the order for display on invoices.

  4. 4

    Recurring renewals are processed automatically by Authorize.net's ARB engine on the scheduled billing date. The plugin records each renewal in PMPro via webhook — no cron job or polling required.

Updating a Payment Method

Members can update their card at any time via PMPro's Billing Information page. The new Accept.js token is applied directly to the existing ARB subscription — no cancellation or re-signup required, and the billing date is unchanged.

Webhook Events

The plugin handles the following Authorize.net webhook events automatically. Every event appends a timestamped note to the PMPro order.

EventWhat happens
payment.authcapture.created Records an ARB recurring renewal payment in PMPro.
payment.refund.created Marks the order as refunded and emails the member and admin.
subscription.cancelled / terminated Cancels the membership in PMPro when the billing limit is reached or the subscription is cancelled in Authorize.net.
subscription.suspended Failed recurring payment. PMPro keeps the membership active and emails the member to update their card.
payment.fraud.held Emails the admin to review the transaction in the Authorize.net dashboard. The member sees a "payment under review" message.
payment.fraud.approved Completes the checkout and activates the membership automatically.
payment.fraud.declined Marks the order as failed.

Cancellations

When a membership is cancelled in PMPro — by the member from My Account or by an admin from the Members screen — the ARB subscription is cancelled in Authorize.net in the same request. No further charges will be made. The member retains access until the end of their current billing period per PMPro's standard behaviour.

Migrating from PMPro's Built-in Authorize.net Gateway

New checkouts after the switch work immediately. Existing ARB subscriptions continue to bill at Authorize.net as normal.

By default, incoming webhook events are matched only against subscriptions created by this plugin. To also process webhooks for subscriptions created by PMPro's built-in authorizenet gateway, add the following to your theme's functions.php or a must-use plugin:

add_filter( 'pacificp_authnet_webhook_gateway_slug', function( $gateway, $subscription_id, $env ) {
    $sub = PMPro_Subscription::get_subscription_from_subscription_transaction_id( $subscription_id, $gateway, $env );
    if ( ! $sub ) {
        $legacy = PMPro_Subscription::get_subscription_from_subscription_transaction_id( $subscription_id, 'authorizenet', $env );
        if ( $legacy ) { return 'authorizenet'; }
    }
    return $gateway;
}, 10, 3 );