Recurring Subscription Solution - Where to start?

Goal:

  1. Charge a user(s) a set fee on a recurring, monthly basis
  2. Allow the user to cancel their subscription, and if they do, the system won’t charge them the subsequent month

Stripe? Paypal? I haven’t been able to find tutorial on where to get started.

Thanks!

You can build it yourself or you can use the servicebot plugin to have it all ready in less than an hour.

The Stripe API (available as a plugin straight from the Bubble team) makes this simple - can instantiate subscriptions within your Stripe account and then tie your users to that subscription via your API when your user subscribes (after capturing their CC info and sending that to Stripe as well).

Every pro has a con of course, and this ties you to Stripe’s ecosystem. I’ve heard of (rare) instances where if Stripe has any intermittent outage, you’ll be unable to verify if your users have an active subscription, are all paid up, etc. SO make your app design sensitive to this potentiality.

Personally, I build subscription model internally and just call Stripe at the appropriate times to charge the user’s stored CC over at Stripe, via daily internal API’s that check everyone’s rollover dates. The con to this pro is that I’ve noticed a (rare again) potential for Bubble to errantly issue parallel calls of the same scheduled API when your app is running under a bit of high traffic at the same time it’s conducting calls. I have had to personally issue refunds to users who get a charge-the-credit-card API called on them multiple times in parallel when it was scheduled to run in advance.

Both situations are rare and capable of being mitigated with the appropriate constructs. (Graceful user-status checking against Stripe and tying CC API’s against a DB PID (like an authorization key to lock-out other parallel errant API calls), respectively.

3 Likes

I’ve been developing using Stripe and the Bubble Stripe plugin for subscription plans. I used a tutorial on https://coachingnocodeapps.com to get me started, but it’s under VIP access which requires a monthly payment to see. I’m sure there is another tutorial out there.

You need to register with Stripe, and then connect Stripe to Bubble in both development and live modes. With the Stripe plugin, a bunch of options then appear under payments workflows. You can play around with it in development mode to test various setups.

Note that Bubble’s documentation covers the v2 plugin. The v3 plugin is adapted for European regulations, and you lose some functionality such as allowing a user to update their credit card.

It’s not just the payment part you need to think about, but also the whole sign-up and sign-in process. Since you hand build it in Bubble, there are a number of ways you can set it up. I’ve gotten where I need to be with a lot of tinkering and trial and error, but the whole time I was thinking that this is an area where Bubble needs a good guide.

2 Likes

Thank you. I installed the Stripe plugin and entered both test and live API keys.

Testing a regular charge seems to work, but I am having two specific issues when testing a subscription charge:

  1. The test credit card is not being charged, and I’m not seeing the test charge submitted in the Stripe Admin under “Payments”.

Here’s the notification I’m getting on the front end from Chrome:
stripe

^ I would expect Stripe to immediately charge my test subscription transaction, then repeat on a monthly basis but it is not initially charging the card.

Here’s the workflow I have setup:

Collect Credit Card information
Collect-Credit-Card-information

Subscriber user to a plan:

  1. After I submit the test payment and click out of the Chrome notification above, the Stripe payment popup automatically re-displays without me trigging it to display.

Thank you in advance for any insight here.

This topic was automatically closed after 70 days. New replies are no longer allowed.