Need help?
Contact SupportAuthorize.net for Paid Memberships Pro Documentation
Once configured, Authorize.net appears automatically on all PMPro checkout pages. Levels with a $0 price bypass the gateway entirely and complete immediately.
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.
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.
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.
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.
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.
The plugin handles the following Authorize.net webhook events automatically. Every event appends a timestamped note to the PMPro order.
| Event | What 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. |
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.
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 );