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


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.


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 24 countries listed below. Visit https://stripe.com/global to view the list and sign up to be notified when Stripe is available in your country.

  • Australia
  • Canada
  • Denmark
  • Finland
  • Ireland
  • Norway
  • Sweden
  • United Kingdom

  • United States
  • Austria
  • Belgium
  • France
  • Germany
  • Italy
  • Japan
  • Luxembourg

  • Netherlands
  • Spain
  • Brazil
  • Mexico
  • New Zealand
  • Portugal
  • Singapore
  • Switzerland

Gateway Fees

Stripe has no monthly fees and a dead simple pricing structure, charging just 2.9% + $0.30 per transaction. Fees are reduced if your sales volume exceeds $80,000/month. See https://stripe.com/us/pricing

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

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, be sure to set your Web Hook URL to the URL specified under Memberships > Payment Settings. The URL should be in the format:

http://www.YOURDOMAIN.com/wp-admin/admin-ajax.php?action=stripe_webhook
  1. Log In to your Stripe Account
  2. In the upper right, click on your account name, then click “Account Settings”
  3. Click on “Webhooks”
  4. Enter the appropriate URL, set to “Live” and select “All Events”
  5. Click “Create endpoint”

stripe_api_webhooks-url


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 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:

Number Card type
Visa 4242424242424242
MasterCard 5555555555554444
American Express 378282246310005
Discover 6011111111111117

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.