How Subscriptions Work
Reflow Subscriptions are built on top of Reflow Auth and are powered by Stripe Billing. This gives you access to Stripe's full suite of features like monthly or annual subs, migration between plans with proration, free trials, taxes and more.
The integration with Reflow Auth gives you a complete user registration system that is easy to integrate with your React or vanilla.js project.
Subscription Flow
Here is a typical flow that your users will go through to start a subscription on your website or app:
- A visitor on your website visits your Subscription Plans page.
- You fetch the configured subscription plans for your store from Reflow's API and render them in a pricing table.
- The visitor chooses to subscribe for one of your plans and clicks a Subscribe button.
- You call the
auth.createSubscription()
method with the chosen plan's price id. This opens up a Stripe payment form where the user enters their payment information. If the visitor is not signed in they will be prompted to create an account before payment. - Upon completion, Reflow updates your user's subscription status in our backend, delivers payment emails, sends webhooks, and syncs the subscription data with our client library so you can render an updated UI immediately.
- After the initial payment, recurring charges will be performed either every month or year, depending on the selected pricing plan. These payments will continue until the subscription is canceled or a payment fails.
Note that this is only an example flow and you can structure it differently. The key moment is the call to auth.createSubscription()
with a price ID. You can call this method at any point. See an example integration here.
Subscription Objects
Here is an overview of the main objects that are used in Reflow Subscriptions and how they are connected to each other.
Store | Your Reflow shop. It can sell subscriptions, physical products, digital products, and more |
User | Your customers can create accounts for accessing your store by registering using their Google, Apple, or other login. |
Plan | The plan represents a subscription tier that your users can subscribe to. Stores can offer as many plans as needed. |
Price | The price object describes the cost for subscribing to a certain plan, as well as how often this payment will occur (monthly or yearly). |
Subscription | When a user's account is connected to a one of the available plans and their first payment is completed successfully, a subscription starts. The subscription will remain active and collect recurring payments as long as it's not canceled and payments don't fail. |
Payment | Every time your store receives money for a subscription billing, a payment object is created to help you track active subscribers and collected revenue. |
FAQ
Can I manage subscriptions on Reflow?
Yes, you can see a full list of all active subscribers in your users dashboard. You can lookup users and manage every aspect of their subscription.
How are failed payments handled?
If a scheduled payment fails because of insufficient funds, expired card, or other reasons, we will immediately contact the customer via email and prompt them to fix the issue.
In the next few days after the failed payment, we will make several more attempts to charge the customer. If all attempts fail, the subscription will be canceled.
Are subscriptions available in the Free Reflow plan?
No, only Reflow PRO has access to subscriptions.
Are any fees charged?
User subscriptions are created directly within your Stripe account. Apart from your flat monthly fee for Reflow PRO, we don't charge anything extra, so there are no transaction fees on our end. Keep in mind that Stripe will charge their usual transaction fees.
Is PayPal supported as a payment method?
No, subscriptions only work with Stripe at this time.
Do all currencies support subscriptions?
Nearly all currencies available in Reflow support subscriptions. However, due to some countries' regulations, Stripe is not available everywhere, and by extension Reflow Subscriptions are not as well. Visit the Currency Support Page for a full list of available currencies.