The ultimate guide to Stripe subscriptions and paywalls - Bubble.io tutorial

Поділитися
Вставка
  • Опубліковано 1 лют 2025

КОМЕНТАРІ • 65

  • @YasunakaCho-b9k
    @YasunakaCho-b9k 10 місяців тому +1

    Thanks for creating this tutorial! Can you share the video link of deploying to live mode? I cannot find it in the description.

    • @CranfordTech
      @CranfordTech  10 місяців тому

      No problem. The relevant section is from 18:47 in this video:
      ua-cam.com/video/6F5qV9O1Akg/v-deo.html

  • @ther1565
    @ther1565 8 місяців тому

    46:51 what if subscriber will cancel a plan but still have some days of month that he paid for and he would like to keep using app for this time? Every turotial i found shows immediate cancellation, but there is no good tutorials how to end subscription keeping access to app till the subscription end time

    • @CranfordTech
      @CranfordTech  8 місяців тому +1

      Hi there, the key here is to adjust the subscription settings in your Stripe dashboard so that the plan is canceled at the end of the current billing period. That way the 'active' status in your Bubble database won't change to 'canceled' until the end of the current billing period.

    • @ther1565
      @ther1565 7 місяців тому

      @@CranfordTech Thank you! I`ll try that!

  • @MohamedMarzok-y8z
    @MohamedMarzok-y8z Рік тому +1

    thank you for helpful and easy explain strip for bubble but i ask what is the difference between lemonsqueezy and stripe ?

    • @CranfordTech
      @CranfordTech  Рік тому

      I'm not too familiar with Lemonsqueezy, but I believe the big difference is that they act as a merchant of record who will collect and remit taxes on your behalf. Stripe do not do this (although you can calculate taxes with Stripe Tax). Lemonsqueezy is more expensive than Stripe.

  • @The321shutdown
    @The321shutdown 9 місяців тому +1

    Amazing video, thank you so much! I was wondering, what happens if a user failed to complete an order by for example getting distracted and closing the window with the stripe payment portal. Wouldn't the bubble database show that they were an active subscriber (as the subscribe button workflow is triggering this first) and the stripe database show that they weren't (as they didn't complete the order)?

    • @Michael-kp4bd
      @Michael-kp4bd 9 місяців тому

      Populating the status fields *correctly* is covered at ~ 34:00. This requires the full setup shown starting at 16:54 ...
      Note that at 16:54 he mentions that it so far in his demo, he had only been using the Stripe plugin's fields (With that subscribe button workflow) to subscribe users. This WOULD cause the issue you mentioned. However, after this point in the video, he shows the way you SHOULD do it to avoid this situation. So disregard that initial "subscribe" button demo and workflow. Everything after 16:54 is necessary to set this up right, so make sure to follow all steps from there in this video.
      Instead of the 'subscribe' button workflow, do as he does:
      -Force unsubscribed users to see the Stripe Pricing page (not that 'subscribe' button)
      -Set up webhook to receive the actual payment/confirmation data that Stripe sends when a user actually pays.
      -Set up that API workflow that runs when the webhook is hit, and make bubble to populate those fields via the webhook
      -Dont forget the rest of the stripe portals to allow users to cancel/manage/upgrade etc. This video is pretty comprehensive!

  • @BT-xm7ti
    @BT-xm7ti 3 місяці тому

    What a tutorial! Amazing. I have one question that should be pretty easy for you. How do allow Bubble or Stripe to let a Logged Out user subscribe to a Plan? I have a message error on my side when someone who is not logged in, can't actually subscribe to one of the Plans. Thx in advance for your answer 😁

  • @2481328
    @2481328 Рік тому +1

    What’s the link to the other video to deploy the live app and how do you redirect the stripe table script payment page back to the app?

    • @CranfordTech
      @CranfordTech  Рік тому

      Hi there, this is the link to the video that describes deploying to live (the relevant section is from 18:47 on):
      ua-cam.com/video/6F5qV9O1Akg/v-deo.html
      Good question on redirecting users back to the app (I should have been more clear on this). When you're creating your Pricing Table, there is an option for each price under payment settings to either 'Show Confirmation Page' or 'Don't Show Confirmation Page' (see 18:26 in the video). If you want to redirect customers to your app, select the 'Don't Show Confirmation Page' option and input the URL of the page in your app you want to send them to.

  • @Robdotfer07
    @Robdotfer07 11 місяців тому +1

    Thanks a million for this tutorial. Could you tell me how to get plan name to appear. I've tried everything. Or do I have to use the plan id? The thing is i want to display to the user what plan they are currently on.

    • @CranfordTech
      @CranfordTech  11 місяців тому

      Thanks Roberto! I think the best approach is to link a plan_id to a plan name that you create yourself. Then you could display the plan name by saying 'if current users plan_id is Y, plan name is Starter"
      Hope that helps 🙂

    • @Robdotfer07
      @Robdotfer07 11 місяців тому +1

      Thanks again. I'll try that

    • @CranfordTech
      @CranfordTech  11 місяців тому

      @@Robdotfer07 no problem!

    • @morgangreenwood2636
      @morgangreenwood2636 2 місяці тому

      @@CranfordTech Assuming the product is already created; In Stripe, click the product > click the three dots > click “edit price” > scroll to “Advanced” (if creating a new product, click “more pricing options”) > Under “Advanced”, change the name of the price description. Customers can’t see this so it can be a separate name you can reference in Bubble.
      That’s it. Now you can see the name in Bubble instead of a string of characters.

  • @kingpinoftherails926
    @kingpinoftherails926 9 місяців тому

    Thanks for the tutorial, it helps me a lot.
    From the names you use for the test users, I can see that you watch a Formula 1 😉🏎

    • @CranfordTech
      @CranfordTech  9 місяців тому +1

      Haha nice spot! Hoping Carlos Sainz can put up a bit of a fight this year

    • @kingpinoftherails926
      @kingpinoftherails926 9 місяців тому

      @@CranfordTech Let's hope so. It's better without an appendix.
      What's your prediction: Audi or Red Bull?

  • @lewisd30088
    @lewisd30088 11 місяців тому +1

    Thank you.. Do you know if it’s possible to allow for a free trial where the user doesn’t have to enter their card details upfront, and just gets prompted to later when the trial period ends ?

    • @CranfordTech
      @CranfordTech  11 місяців тому

      Yes this is definitely possible. I would suggest something like:
      - Add a date field to the user data type and give it a value equal to the date they first use your app
      - Once 7 days are up, trigger a backend workflow that changes their status from "free trial" to "not active"
      - Automatically show the user the subscription screen when their status is "not active"
      May require some adjustments to fit your use case, but in principle that's how you would do it

    • @lewisd30088
      @lewisd30088 11 місяців тому

      @@CranfordTech Thanks for getting back, this video and the one a year ago has been invaluable. Ah ok, I was wondering about that approach.. so essentially they're not 'subscribed' to any plan in Stripe during that trial period it's just handled in Bubble until the period is up? Re. triggering a backend workflow after 7 days... do you know if this possible to do without running an API workflow once a day that checks every user's subscription status against their 'sign up date' (which would be relatively resource intensive)? I can't think of another way to handle that check at the moment, maybe I'm missing something

    • @LDNCallout
      @LDNCallout 10 місяців тому

      @@lewisd30088 I would love to know this also

  • @eugenenoguera
    @eugenenoguera 11 місяців тому +1

    Hey, thanks so much for the guidance! Just bought the plugin.
    Question: What's the best process for adding a one-off joining fee to subscriptions?
    i.e. User joins £10/mo subscription, pays £5 joining fee… £15 total, then £10 month recurring.
    Would really appreciate some help on this if you have a solution! Thanks :)

    • @CranfordTech
      @CranfordTech  11 місяців тому +1

      Hi there, thanks for the kind words!
      You'll need to find a way of adding multiple items to the same Stripe Checkout Session:
      1x one-off charge
      1x subscription
      Unfortunately, this is not currently possible with the native Bubble Stripe plugin (to my knowledge). You'll have to use the API Connector or potentially some other 3rd party plugin.

  • @logomoko78
    @logomoko78 Рік тому

    Hi! Thank you very much for this thorough explanation. This video is very helpful indeed. I wish I could afford your PDF plugin.

  • @davyS4v
    @davyS4v 11 місяців тому +1

    for a web platform that takes a percentage from the seller, how do you manage the payment from the buyer? that is, the buyer pays on the site. that money needs to be split 50% for the seller and 50% for my platform. How do you handle this payment?

    • @CranfordTech
      @CranfordTech  11 місяців тому

      Hi there, what you're describing is a marketplace payment. Most people building marketplace apps on Bubble will use Stripe Connect to process marketplace payments. This tutorial I recorded on Stripe Connect may be of interest 🙂
      ua-cam.com/video/Ba20wCQpHn8/v-deo.html

  • @maanibeatz
    @maanibeatz 11 місяців тому +2

    I've set our Stripe subscription to cancel at the end of the billing period, but the status stays 'active' until then. Will our webhooks automatically send the cancellation info when Stripe updates at period's end, or do I need to set up something for this?

    • @CranfordTech
      @CranfordTech  11 місяців тому +1

      Hi there, yes the webhook should automatically update the relevant field in your database to 'not active' at the end of the billing period.
      However, I would recommend testing the webhook out by immediately canceling a subscription directly from your Stripe dashboard.

  • @Mamorscy-GardenDesign
    @Mamorscy-GardenDesign 7 місяців тому

    Hello, thanks for the tutorial. How can I activate chosen features only for plan A, and other when user got plan B? I don't see the field to recognize the plan. How can I download the subscription plan name to my DB?

  • @semjacobs3885
    @semjacobs3885 11 місяців тому +1

    Amazing tutorial! Is an one time payment only also possible? And how do you show a fake discount? And last question, does stripe accept IDEAL payments or only credit card?

    • @CranfordTech
      @CranfordTech  11 місяців тому

      Thank you!
      1. You can also process one-time payments with the Bubble Stripe plugin (you can use the 'Charge the current user' action that comes with the plugin.
      2. I'm not quite sure what you mean by 'fake discount'? Could you provide more detail? 🙂
      3. Yes, you can enable iDEAL payments in your Stripe dashboard. The below link may be useful:
      docs.stripe.com/payments/ideal

    • @semjacobs3885
      @semjacobs3885 11 місяців тому

      Thanks for your fast reply! What I mean with “fake discount” is that it’s showing $4,99 with a stripe so that’s the “old price” and than the new price $2,99, so the customers think you gave them a discount.

    • @CranfordTech
      @CranfordTech  11 місяців тому

      @@semjacobs3885 Yep, you can apply discounts/coupons with Stripe!
      docs.stripe.com/payments/checkout/discounts
      I'm not completely sure how this works with the Bubble plugin though - may require some investigating.

  • @BacYawd
    @BacYawd 7 місяців тому

    is it by default for the "current user subscription status" is "active" is that the default value from bubble or stripe? also when the button on bubbles end is clicked does the workflow fully go through after the user has made the purchase?

    • @CranfordTech
      @CranfordTech  7 місяців тому

      Hi there! The subscription status is a value retrieved from Stripe. It changes to 'active' after the user has successfully subscribed to a plan.
      I'm not quite sure what you mean by your second question, but it is safe to make changes to the user AFTER the 'Subscribe the user to a plan' action and use data from the subscription action itself.

  • @Danosz
    @Danosz 10 місяців тому

    For me the stripe plan name doesn’t come up after subscribe user to a plan is clicked I have tried copying it but that also doesn’t work

    • @CranfordTech
      @CranfordTech  10 місяців тому

      Hi there, are you on Checkout v3 for the Bubble Stripe plugin?

  • @H99x2
    @H99x2 10 місяців тому

    When you cancel the subscription and the end of current billing cycle has passed, the account still says active in bubble data. how to fix this? cheers mate

    • @CranfordTech
      @CranfordTech  10 місяців тому

      Hi there, it sounds like your webhooks aren't functioning correctly. Can you go to the webhooks section of your Stripe dashboard and check the logs (by clicking on the relevant webhook URL) and see if you are getting success messages?

  • @hugow1992
    @hugow1992 10 місяців тому

    What is the small thing to change in the webhook if we go live with the site?

    • @CranfordTech
      @CranfordTech  10 місяців тому

      Hi there, if you watch this video from 18:47 it will explain everything 🙂
      ua-cam.com/video/6F5qV9O1Akg/v-deo.html

  • @thebubbledev
    @thebubbledev 11 місяців тому

    If I create a subscription, will the user be automatically billed after 30days or do they need to approve again? Will an invoice be sent to them which they need to pay or will the amount be automatically removed from their saved card?

    • @CranfordTech
      @CranfordTech  11 місяців тому

      Hi there, the user will be billed for the first month of the subscription immediately (assuming no free trial) and will then be billed for the second month after 30 days.
      The relevant amount will automatically be deducted using the card details they provided 🙂

    • @thebubbledev
      @thebubbledev 11 місяців тому

      @@CranfordTech thanks what happens if the payment fails? Say insufficent balance//how can I as a the app owner take relevant action?

    • @thebubbledev
      @thebubbledev 11 місяців тому

      Thank you@@CranfordTech . How can I create a plan dynamically? I want the user to be able to enter the amount they want to subscribe to and not have it created before. How do I go about it...I know I can create a subscription dynamically from bubble, but how do I create the plan without entering the dashboard? Thanks

  • @thebubbledev
    @thebubbledev 11 місяців тому

    How can I create a plan dynamically? I want the user to be able to enter the amount they want to subscribe to and not have it created before. How do I go about it...I know I can create a subscription dynamically from bubble, but how do I create the plan without entering the dashboard? Thanks

    • @CranfordTech
      @CranfordTech  11 місяців тому

      Hi there, I'm afraid this isn't currently possible with the Bubble Stripe plugin (to my knowledge). You'll need to use the API Connector or find a 3rd party plugin that has this functionality.

    • @thebubbledev
      @thebubbledev 11 місяців тому +1

      Thanks@@CranfordTech do you have any resources on using the stripe API?

    • @CranfordTech
      @CranfordTech  11 місяців тому

      This video might be a useful intro:
      ua-cam.com/video/9Q-DGR408N8/v-deo.html
      Apart from that, I recommend reading the relevant sections of the Stripe API documentation - it's pretty good

  • @Jacobattokaren
    @Jacobattokaren 9 місяців тому +1

    Hi, thanks for this video. In your video ua-cam.com/video/6F5qV9O1Akg/v-deo.html from around 10 months ago (at 11:28), you had checked ‘This workflow can be run without authentication’ and ‘Ignore privacy rules when running the workflow’. However, in this video, you said to leave those options unchecked. Is there a reason for that?

    • @CranfordTech
      @CranfordTech  9 місяців тому +1

      Good spot! I would recommend following the steps in this video. I didn't touch on authentication/privacy rules in the other video as it wasn't intended to be a full guide, but adding authentication to your webhooks is quite important from a security point of view

    • @Jacobattokaren
      @Jacobattokaren 9 місяців тому +1

      @@CranfordTech Thanks again!

    • @CranfordTech
      @CranfordTech  9 місяців тому

      @@Jacobattokaren No problem 🙂

  • @ArielKabongo-f1q
    @ArielKabongo-f1q 9 місяців тому

    self service portal not working

    • @CranfordTech
      @CranfordTech  9 місяців тому

      Hi there, sorry to hear you've been having problems with the Customer Portal plugin! I've tested things out on my end and everything is working correctly, which makes me think it's likely an issue with your Stripe setup.
      Can you go to the Developers section of your Stripe dashboard and take a look at the logs? If you go to the 'Failed' section and click on the most recent error, you should be able to see an error message that explains what was causing the issue.
      If you can't figure it out from that, feel free to shoot me an email (alex@cranfordtech.com) and I'll try to help you out.

  • @LDNCallout
    @LDNCallout 10 місяців тому

    I am yet to see an ultimate guide that includes users going on a free trial...

    • @CranfordTech
      @CranfordTech  10 місяців тому +1

      Hi there, the following video is a bit out of date (I recorded it 2 years ago), but it shows how to let users have a free trial at the start of their subscription:
      ua-cam.com/video/GE2fYHFWahw/v-deo.html

    • @LDNCallout
      @LDNCallout 9 місяців тому +1

      @@CranfordTech Amaaaazing! Thank you so much!

    • @CranfordTech
      @CranfordTech  9 місяців тому

      @@LDNCallout no problem! 🙂