Stripe is a payment service that operates as both a Payment Gateway and Merchant Account. In practice, this means that setting up an account with Stripe is fast and easy.

The sections below cover basic Stripe information and settings. We also have a guide on troubleshooting a few common issues that can crop up at checkout when using Paid Memberships Pro with Stripe

Payment Options

Merchants can use Stripe to accept most credit and debit cards, including Visa, MasterCard, American Express, Discover, Diner’s Club, EnRoute, and JCB.

Members can also make payment using their Apple Pay, Google Pay, and Microsoft Pay accounts. Read this companion guide on setting up these payment request buttons in PMPro.

Currencies Supported

Merchants can accept payments in over 130 currencies. View the full list of currencies supported by Stripe

You have the option of letting Stripe automatically handle all conversions from USD and deposit the funds in your local currency-denominated bank account. Please note that Stripe charges a conversion fee for this service.

Stripe in Your Country

While you can accept payment in over 130 currencies, Stripe is only available for businesses in the 36 countries listed below. Visit to view the list and sign up to be notified when Stripe is available in your country.

  • Australia
  • Austria
  • Belgium
  • Brazil
  • Canada
  • Czechia
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece

  • Hong Kong
  • India
  • Ireland
  • Italy
  • Japan
  • Latvia
  • Lithuania
  • Luxembourg
  • Malaysia
  • Mexico
  • Netherlands
  • New Zealand

  • Norway
  • Poland
  • Portugal
  • Romania
  • Singapore
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • Switzerland
  • United Kingdom
  • United States

Gateway Fees

Stripe has no monthly fees and a dead simple pricing structure, charging just 2.9% + $0.30 per transaction. See

Locating your Stripe API Information

The configure Stripe in the Memberships > Payment Settings admin, you will need a Secret Key and Publishable Key from your Stripe account dashboard.

  1. Log In to your Stripe Account
  2. In the upper right, click on your account name, then click “Account Settings”
  3. Click on “API Keys”
  4. From here you can access the Test and Live API information needed for Paid Memberships Pro

Stripe issues different API information for live keys and test keys. If you change your gateway settings in Paid Memberships Pro from “Sandbox/Testing” to “Live/Production”, you must also update the Publishable and Secret API keys for the appropriate gateway environment in your Stripe account.

Click here for more information on using Stripe in Testing mode.

Keep your Stripe API Up to Date

It’s important to keep your Stripe API information up to date to ensure that all will run smoothly between Paid Memberships Pro and your Stripe account.

  1. Log In to your Stripe Account
  2. In the upper right, click on your account name, then click “Account Settings”
  3. Click on “API Keys”
  4. Click the button labeled “Upgrade available…”

Setting Your Webhook URL

To fully integrate with Stripe, you must configure a webhook URL in your Stripe account. This will ensure that your membership site can stay in communication with the gateway for recurring payment notifications, payment failures, and subscription cancellations.

After inserting your Stripe live or test API keys, you should click the “Create Webhook” button. If your API keys are correct, the webhook will be created in your Stripe account with all of the required events for Paid Memberships Pro.

Stripe Gateway Settings: Create Webhook Button
Stripe Gateway Settings: Create Webhook Button
Stripe Gateway Settings: Webhook is Enabled
Stripe Gateway Settings: Webhook is Enabled

If you do not want to automatically create the webhook via this method, the correct webhook URL is provided on the Memberships > Payment Settings page in the WordPress admin. You can use this URL to manually create your webhook in Stripe. The webhook URL will be in the format below:

When adding the webhook directly in your Stripe dashboard, you will be asked to configure specific events or actions. Here are the actions PMPro is expecting:

  • charge.failed
  • customer.subscription.deleted
  • invoice.payment_action_required
  • invoice.payment_succeeded

Enable the Payment Request Button

The Stripe gateway settings include an option to “Enable Payment Request Button”. This will allow members to pay using Apple Pay, Google Pay, or Microsoft Pay as an alternative to manually entering their credit card information. Read more about these browser payment options in our companion article here.

Video Demo

Testing/Sandbox Mode

Testing a Stripe checkout simply requires you to change some settings in your membership site’s WordPress admin and to use specific testing card numbers provided by Stripe.

  1. Navigate to Memberships > Payment Settings page.
  2. Set your “Payment Gateway” to “Stripe” and set the “Gateway Environment” to “Sandbox/Testing”.
  3. Then, enter the appropriate Stripe API test keys for your “Test Secret Key” and “Test Publishable Key”.

After saving the settings, log out or browse to your membership levels page in incognito mode to test checkout for a paid level. Stripe’s testing documentation page has test card numbers you can use for checkout. Use any valid future expiration date, any 3 digit CVV (or 4 digits for Amex) and the test card number below:

NumberCard type
American Express378282246310005

Our Stripe Gateway integration is unique in that changes to a user’s existing subscription can be queued up through our “Subscription Updates” feature.

To update a user’s subscription, edit the user through the WordPress dashboard. Find the Membership Level section and Subscription Updates section below that. If you do not see a “Subscription Update” section for a user, that means the user does not have an active subscription with Stripe or the subscription is not synched with PMPro.

Subscription Updates for Stripe

To add an update, click the “+ New Update” link. To remove an update, click the “Remove” link next to that update. Be sure to click on the Update Profile button at the bottom of the screen to save any changes.

General Information

Each Update will have a trigger, an amount, and payment period.

After an update executes, it is removed from the queue and the following update will execute next based on the trigger.

If a user cancels their subscription, a subscription is cancelled due to payment failure, or a user changes their membership level, then all updates are cleared.

If a membership level has a custom trial setup from the edit membership level page, PMPro may automatically set up an update after checkout to change the price of the subscription after the trial.

Update Triggers

The trigger determines when PMPro will update the subscription.

Now: This will trigger as soon as the user changes are saved. A $0 order is created, and a new subscription replaces the existing subscription with the amount and billing period chosen. The next recurring payment will occur 1 period from the date of the change.

After Next Payment: This will trigger after the next recurring payment is processed. At that time, the amount and billing period are updated to the new values.

On Date: This will trigger on a specific date. On that date, a “WP CRON” event will fire early in the morning to create a $0 order and add a new subscription to replace the existing subscription with the amount and billing period chosen.

Update Amount

After the update is executed, all recurring payments for the subscription will charge the new amount.

Payment Period

After the update is executed, the new subscription will recur based on the cycle number and period chosen for the new billing period.