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

Sdílet
Vložit
  • čas přidán 27. 08. 2024

Komentáře • 63

  • @logomoko78
    @logomoko78 Před 7 měsíci

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

  • @kingpinoftherails926
    @kingpinoftherails926 Před 4 měsíci

    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  Před 4 měsíci +1

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

    • @kingpinoftherails926
      @kingpinoftherails926 Před 4 měsíci

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

  • @user-xe5kd5yr5u
    @user-xe5kd5yr5u Před 5 měsíci +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  Před 5 měsíci

      No problem. The relevant section is from 18:47 in this video:
      czcams.com/video/6F5qV9O1Akg/video.html

  • @The321shutdown
    @The321shutdown Před 4 měsíci +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 Před 3 měsíci

      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!

  • @user-kt6eb5zc7x
    @user-kt6eb5zc7x Před 7 měsíci +1

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

    • @CranfordTech
      @CranfordTech  Před 7 měsíci

      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.

  • @davyS4v
    @davyS4v Před 5 měsíci +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  Před 5 měsíci

      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 🙂
      czcams.com/video/Ba20wCQpHn8/video.html

  • @Robdotfer07
    @Robdotfer07 Před 6 měsíci +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  Před 6 měsíci

      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 Před 5 měsíci +1

      Thanks again. I'll try that

    • @CranfordTech
      @CranfordTech  Před 5 měsíci

      @@Robdotfer07 no problem!

  • @Mamorscy-GardenDesign
    @Mamorscy-GardenDesign Před měsícem

    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?

  • @2481328
    @2481328 Před 6 měsíci +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  Před 6 měsíci

      Hi there, this is the link to the video that describes deploying to live (the relevant section is from 18:47 on):
      czcams.com/video/6F5qV9O1Akg/video.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.

  • @maanibeatz
    @maanibeatz Před 6 měsíci +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  Před 6 měsíci +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.

  • @semjacobs3885
    @semjacobs3885 Před 5 měsíci +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  Před 5 měsíci

      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 Před 5 měsíci

      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  Před 5 měsíci

      @@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.

  • @Danosz
    @Danosz Před 5 měsíci

    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  Před 5 měsíci

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

  • @eugenenoguera
    @eugenenoguera Před 6 měsíci +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  Před 6 měsíci +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.

  • @BacYawd
    @BacYawd Před 2 měsíci

    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  Před 2 měsíci

      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.

  • @ther1565
    @ther1565 Před 3 měsíci

    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  Před 3 měsíci +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 Před 2 měsíci

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

  • @H99x2
    @H99x2 Před 4 měsíci

    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  Před 4 měsíci

      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?

  • @lewisd30088
    @lewisd30088 Před 6 měsíci +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  Před 6 měsíci

      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 Před 6 měsíci

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

    • @RoniBliss
      @RoniBliss Před 4 měsíci

      @@lewisd30088 I would love to know this also

  • @thebubbledev
    @thebubbledev Před 6 měsíci

    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  Před 5 měsíci

      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 Před 5 měsíci +1

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

    • @CranfordTech
      @CranfordTech  Před 5 měsíci

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

  • @user-qw3rr5ze5q
    @user-qw3rr5ze5q Před 4 měsíci

    self service portal not working

    • @CranfordTech
      @CranfordTech  Před 4 měsíci

      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.

  • @hugow1992
    @hugow1992 Před 5 měsíci

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

    • @CranfordTech
      @CranfordTech  Před 5 měsíci

      Hi there, if you watch this video from 18:47 it will explain everything 🙂
      czcams.com/video/6F5qV9O1Akg/video.html

  • @thebubbledev
    @thebubbledev Před 6 měsíci

    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  Před 6 měsíci

      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 Před 6 měsíci

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

    • @thebubbledev
      @thebubbledev Před 6 měsíci

      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

  • @Jacobattokaren
    @Jacobattokaren Před 4 měsíci +1

    Hi, thanks for this video. In your video czcams.com/video/6F5qV9O1Akg/video.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  Před 4 měsíci +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 Před 4 měsíci +1

      @@CranfordTech Thanks again!

    • @CranfordTech
      @CranfordTech  Před 4 měsíci

      @@Jacobattokaren No problem 🙂

  • @RoniBliss
    @RoniBliss Před 4 měsíci

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

    • @CranfordTech
      @CranfordTech  Před 4 měsíci

      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:
      czcams.com/video/GE2fYHFWahw/video.html

    • @RoniBliss
      @RoniBliss Před 4 měsíci +1

      @@CranfordTech Amaaaazing! Thank you so much!

    • @CranfordTech
      @CranfordTech  Před 4 měsíci

      @@RoniBliss no problem! 🙂