A healthy membership site means that your gateway and your membership site orders are in perfect sync. Every payment received through the gateway is communicated to the membership site, and all members have accounts in good standing.
This guide will explain how a properly configured PMPro site will retry payments, then automatically cancel membership after failed payment.

What is “Dunning”?
Wikipedia explains dunning as the process of methodically communicating with customers who have an outstanding payment. When you evaluate metrics like member churn and retention rates, you must also understand how an outstanding or failed payment is technically handled in the context of your PMPro membership site.

Making sure your membership site handles failed payments properly is key to keeping your records accurate and ensuring a smooth experience for both admins and members.
—Ansie Lima, Sales Consultant at Paid Memberships Pro
How PMPro Handles Failed Payments
Before we explain the process of payment failures in PMPro, it is important to note that the cancellation process varies by payment gateway. Additionally, some sites put custom code in place to modify default cancellation behavior. With that housekeeping out of the way, we can move on to explains the baseline process in PMPro.
For most gateways connected to PMPro, a failed payment will retry several times before the gateway finally terminates the subscription. When a payment fails, the user and the admin receive the email. Users can then take action to update their payment method directly on your site through the Billing Information page.
If the user does not resolve the payment failure, the payment gateway will terminate the subscription according to the retry rules set up in your gateway account. PMPro processes the subscription cancellation received from the gateway and cancels the user’s membership. The user and the admin receive a final cancellation email.
Cancel Membership After Failed Payment: Gateway-Specific Retry Schedules
- Stripe: In your Stripe dashboard, navigate to Settings > Billing > Subscriptions and emails. Locate the “Manage failed payments” section and configure the steps you’d like to take when charging a customer’s payment method fails.
- PayPal: For all PayPal integrations, we set a
MAXFAILEDPAYMENTS
value to “1” (see the PayPal documentation on this request value).
Cancel Membership After First Failed Payment
If you are not using one of the gateways highlighted above, we recommend using the custom recipe below to cancel membership immediately after the first failed payment. This is particularly important if you are using Authorize.net as your payment gateway as they do not currently offer any settings to trigger cancellation after payment failure.
What if your gateway and membership data gets out of sync?
If you have had an issue with your Stripe webhooks or PayPal IPN, your membership site may include members that no longer hold an active subscription at the gateway. For each member that is out of sync navigate to Memberships > Subscriptions in the WordPress admin and locate the member. On the Edit Member page, locate the “Memberships” section and cancel the level that is associated with the inactive subscription. This will terminate the user’s active membership.
You can optionally send the default email to this user and communicate the change, or email them manually and include a link to your membership checkout page so they set up a new recurring subscription.
Frequently Asked Questions
Dunning is the process of communicating with customers about failed payments to ensure resolution or cancellation.
Users and admins receive an email upon payment failure. The gateway will retry the payment. If all payment retries fail, the subscription is canceled. PMPro will then process the cancellation and notify both parties.
Stripe allows you to configure the retry schedule under Settings > Billing > Subscriptions and emails.
For PayPal, PMPro sets MAXFAILEDPAYMENTS to “1,” canceling after one failed attempt.
Yes, by adding a custom code snippet. The code recipe is particularly useful for payment gateways that lack automatic cancellation settings.
For each member that is out of sync navigate to Memberships > Subscriptions in the WordPress admin and locate the member. On the Edit Member page, locate the “Memberships” section and cancel the level that is associated with the inactive subscription.