Paid Memberships Pro works great with Stripe and it is our most recommended gateway when the option is available. In the Stripe dashboard, you will notice that they have a way to create “Products” and “Coupons” that can be applied to customers and customer subscriptions. These are really useful features, but PMPro doesn’t use them how you might expect.
Continue reading to understand more about how we integrate with Stripe Products, Trials, and Coupons.
First, we don’t integrate with Stripe coupons at all.
The “Discount Codes” that you can create in your PMPro site under Memberships > Settings are only managed in the WP/PMPro side of things. We do not mirror the discount codes in Stripe. Instead, when a user checks out on your site using a discount code, we adjust the pricing before sending the charge or subscription request to Stripe. Refer to this documentation for more help setting up a discount code in PMPro.
How We Integrate with Stripe Products
Every time someone checks out on your site, PMPro will create a product or reuse a similar product it has made before. There will be a separate product for every combination of initial price and recurring price that comes up. We adjust the pricing of the plan based on the price the member should pay at checkout. This includes any price adjustments for discount codes, other Add Ons, or custom code. We pass the custom product (plan) to the Stripe API to set up a subscription.
Why does PMPro create custom “Products” in Stripe?
Creating the product through the API gives us greater flexibility over the price and other settings of a subscription. This method also allows our Add Ons and custom code to adjust the subscription pricing at checkout, which many membership sites need to do.
This approach also makes the code more similar to how we handle subscriptions in other gateways, which allows us to avoid a certain amount of custom code just to support the Stripe API.
The downside to this approach is that you cannot take advantage of some of the advanced reporting Stripe has for Products and Coupons. You can’t glance in Stripe and see how many people signed up for your “Gold Level” product because to Stripe it looks like everyone gets their own plan.
Tools like ProfitWell and Baremetrics won’t generate accurate reports because of how we use trials and create separate products. We try to make up for this by having good reports ourselves, but those reporting tools are good, and there are gaps in the reporting we offer in app. We’re working to fix these things, but it takes time.
About “Trials” in Stripe
For each subscription, you may see that customer is labeled as “trialing” until their next payment date. The “trial” status in Stripe just means that their first subscription payment has not been billed yet.
When your Paid Memberships Pro checkout processes a payment through Stripe for a recurring membership, you will see a one-time payment and a new subscription. The subscription will be labeled “trialing” until the next (first) date the subscription process. This allows you to charge a specific amount at checkout and also create the recurring payment.
Generally, this “trial” wording is only shown in the Stripe dashboard. Your customers will not be told they are “trialing” or on a “trial”.
For more information about our Stripe integration, please read the gateway documentation page here.