The EASY way to set recurring payments (Stripe subscriptions)

Поделиться
HTML-код
  • Опубликовано: 29 янв 2025

Комментарии • 134

  • @marc-lou
    @marc-lou  8 месяцев назад +18

    All the code: github.com/marclou/stripe-sub
    Just ship it!

  • @productivecitizen71
    @productivecitizen71 8 месяцев назад +18

    The timing on this video is superb. I’ve been learning NextJS slowly so this really helps connect the dots to setting up my first product

    • @senorperez
      @senorperez 22 дня назад

      did you make something then ?

  • @deathdefier45
    @deathdefier45 4 месяца назад +4

    This is absolutely the gold standard of modern MERN stack SaaS, thank you so much brother you're a legend

  • @kasper369
    @kasper369 8 месяцев назад +6

    I am making my first SaaS and this video + your content are helping me a lot, God bless your heart, Thanks man.

  • @reidevanson181
    @reidevanson181 8 месяцев назад +7

    GOLDEN information, wow - I moved to asia 3 months ago and started learning web development for the first time. I'm three months into learning so far and I've learned things like, HTML CSS JS - NodeJS Express EJS and SQLite. I am working on building my first saas product which I know for sure has a lot of untapped potential but my technical skills aren't there yet to achieve this. I am having trouble with Authenticating and managing databases and handling subscriptions like this video! I am aiming for 1 year or under to have the technical skills to ship my first app. Your videos inspire and help so much. Thanks

    • @JeannetteMedja
      @JeannetteMedja 8 месяцев назад +1

      Bro the same for me 3 months tol and managed to learn html css js svelte created a website and an interective card with svelte and now learning sveltekit while creating my first App. My little advive is to build through the learning process don't try to read the entire course on a technologie before coding you will found yourself stuck in the tutorial infernal loop hope this might be helpfull

    • @Skye-Games
      @Skye-Games 8 месяцев назад

      ​@@JeannetteMedja tutorial hell... they call it

    • @Superuser-r1y
      @Superuser-r1y 6 месяцев назад +1

      I am a full stack developer. What is the problem you are facing? And on which saas you are working on?

  • @tarasdarchuk1875
    @tarasdarchuk1875 8 месяцев назад +26

    Great content!
    Would love to watch a video about legal side of a startup. How and where you register a company, pay taxes etc?

    • @giusepperavida3533
      @giusepperavida3533 8 месяцев назад

      That’s would be great!

    • @szachgr43
      @szachgr43 5 месяцев назад +1

      go to your local accountant or lawyer and that's all what you need

  • @rubenlara3386
    @rubenlara3386 7 месяцев назад +2

    You are right. This is a video that anyone trying to configure and use Stripe quickly should see. Thank you!

  • @ElLevidente
    @ElLevidente 8 месяцев назад +22

    Would be great to see a video on the logic behind why customers are more likely to convert on a large one time payment rather than small monthly

    • @Jeannen
      @Jeannen 8 месяцев назад +8

      Because a subscription add a mental charge, you have to remember you have it and to cancel it when you don’t need it anymore
      A one-time payment don’t have this issue, and give a feeling of ownership. Many people buy stuff “just in case” if it’s a one time payment

    • @tonnoztech
      @tonnoztech 8 месяцев назад +1

      true but sometimes you need a service just for a month. My best approach is to give both options, but trying to push for the 1 time payment in your SaaS.

    • @derHerrBoehm
      @derHerrBoehm 8 месяцев назад

      Also 95% of your customers don't come back after 3 months. So having a larger one time payment might be better for you than three small payments. Of course this is only possible if your app doesn't incure (large) cost to run it, e.g. AI apps.

    • @frkysience
      @frkysience 7 месяцев назад

      Value proposition for example: 1 month 10 dollar 3 months 25 dollar

    • @whoisolivr
      @whoisolivr 3 месяца назад

      @@derHerrBoehmsource?

  • @terry_swd
    @terry_swd 8 месяцев назад

    Great video, Marc. I'm currently working on a SaaS and plan to integrate Stripe just as you described. So far I've only used it for single product purchases on my other web app, but never for a subscription yet. Keep up the great content!

  • @neutr1no
    @neutr1no 8 месяцев назад +3

    i'm amazed you did not event plug shipfast or zenvoice - they fit perfectly into this video!

  • @ashherafzal
    @ashherafzal Месяц назад +3

    How to handle a situation of the user has signed up to my app using "email1" and I prefill the stripe checkut email with the same email i.e. "email1" but the user changes it to "email2"? How would I know which user had made a payment?

    • @ayla8320
      @ayla8320 13 дней назад

      you can pass a client_reference_id which you set to your users database id as query parameter. when you listen to checkout.session.completed the client_reference_id is propagated (;

  • @adomicarts
    @adomicarts 8 месяцев назад

    This is very good Marc. Continue to sharing these type of contents.

  • @dan_rad
    @dan_rad 3 месяца назад +1

    No way it's that dude from Indie Page and Twitter. I just wanted to setup stripe subs for my latest project :D

  • @anothernumber9753
    @anothernumber9753 3 месяца назад +1

    This is very helpful! I spent the whole day messing around with webhooks and this simplifies things a lot!! thank you Marc.

  • @amznpublishing
    @amznpublishing 8 месяцев назад

    wow the first step by step tutorial. we need more :)

  • @tillcarlos664
    @tillcarlos664 2 месяца назад

    Very easy to get this set up. thanks!

  • @gavinwiener
    @gavinwiener 8 месяцев назад

    15:17 does updating their plan from monthly to yearly not trigger a new subscription as well? Sounds like you don't track stripe subscription ids or anything on your side

  • @AlexHarmsworth
    @AlexHarmsworth 8 месяцев назад +1

    Hi Marc, would be interested to know how you're handling international sales with regard to tax (VAT, GST). Are you using Stripe's tax features/filing partners?

  • @i_am.leslie
    @i_am.leslie 8 месяцев назад +1

    great video man, where you been all my life. Thanks for the inspo. Hmmm this SaaS stuff is slowly calling my name

  • @timo1887
    @timo1887 7 месяцев назад

    Exactly what I was looking for. Thanks, Marc!

  • @nark4837
    @nark4837 4 месяца назад +3

    What happens if a user gives a different email to the one they are authenticated as?

    • @raw8319
      @raw8319 4 месяца назад

      x2

    • @josephlarsen
      @josephlarsen 3 месяца назад

      then this solution totally breaks :). I was watching this one to find a solution to the problem :( but he did the same thing as I did

    • @raw8319
      @raw8319 3 месяца назад

      @@josephlarsen I got the solution, in stripe or lemonsqueezy, you have a post checkout with all the data you will need afterwards, then if the payment success, you will receive this data that you send previously through the webhook.
      But for that the user must be registered first, otherwise you dont have any email

    • @ayla8320
      @ayla8320 13 дней назад

      you can pass a client_reference_id which you set to your users database id as query parameter. when you listen to checkout.session.completed the client_reference_id is propagated (;

  • @gavinwiener
    @gavinwiener 8 месяцев назад

    Any specific reason you use the payment links instead of a Stripe checkout session? Just simplicity?

  • @xdestino
    @xdestino 8 месяцев назад +2

    found your channel recently and just wanted to lyk entertaining it is for me

  • @ambitious1z
    @ambitious1z 8 месяцев назад

    Why not just use stripe payment table?

  • @PowerProd
    @PowerProd 8 месяцев назад +2

    interesting, why dont you return a checkout session url based on a price id ? I m always reluctant to handle payment stuff on the front end

    • @marc-lou
      @marc-lou  8 месяцев назад

      This tutorial was meant to show how easy it can be done so you ship fast. But you can use an API, definitely!

    • @PowerProd
      @PowerProd 8 месяцев назад

      @@marc-lou Perfect ! Keep up the good work :)

    • @cheeky1699
      @cheeky1699 18 дней назад

      @@marc-lou ship fast doesnt mean ship well :\

  • @_jogicodes
    @_jogicodes 6 месяцев назад

    Mark, what is this video capture software you are using?

  • @OskarArvidsson
    @OskarArvidsson 2 месяца назад

    Hey Marc, great video, question for you. I know nothing about coding etc. I want to implement what you did with someone cancels their subscriptions and then down the line they want to subscribe again. Is there a way to do this without using the full coding system? That is if a previous customer buy a new product, is it possible for them not to create a new customer in Stripe?

  • @petezzza
    @petezzza 5 месяцев назад

    Hey. What clipboard history program do you use?

  • @cybercowboy9214
    @cybercowboy9214 8 месяцев назад +1

    Nice, glad to know I do something similar. I just configured my first stripe payments.
    Interesting to know about legal and bookkeeping.
    Since stripe not available in my country I used stripe atlas and have a company in Delaware
    What about Indonesia. Is stripe support this country.?
    Also curious about how you pay a taxes and stuff relative to this
    Thanks bro for nice videos

  • @DiarSmakolli
    @DiarSmakolli 8 месяцев назад

    should we create createSession in node or just webhook?

  • @eyalgoren
    @eyalgoren 8 месяцев назад

    Hi Marc, thanks! this is really great content. You're a natural.. I was wondering - how long does it take to record such a video? thinking of starting a YT channel but not sure if I have the time.

  • @synthetic-dev
    @synthetic-dev 8 месяцев назад

    Hey Marc, really nice video! Just a heads up on that repo though: it contains all of the ShipFast repo code in the commit history, is this intentional?

  • @scary8619
    @scary8619 8 месяцев назад

    Great video! Do you know how to do a pay per use subscription with stripe?

  • @rushabhajain3977
    @rushabhajain3977 4 месяца назад

    Would be great if you create more videos like this 🤩

  • @lightmaaaster8087
    @lightmaaaster8087 7 месяцев назад

    Cool tutorial! One tip tho, instead of zooming in and moving the camera around, just show where to click with your cursor, it would be easier to follow.

  • @breno12321
    @breno12321 8 месяцев назад

    What is this video editing app? How to you create this motion blur effect?

  • @lennoxbeats8335
    @lennoxbeats8335 8 месяцев назад

    What should i use if stripe is not supported in my country?😢

  • @shubhamtarade
    @shubhamtarade 8 месяцев назад

    Thanks for this valuable information, @marc-lou!! Just a small question - do yo design your pages on Figma by yourself?

    • @marc-lou
      @marc-lou  8 месяцев назад

      All by myself, yes. But straight to VSCode :)

  • @MinatoStealth0wnz
    @MinatoStealth0wnz 8 месяцев назад

    Nice tutorial, thanks Marc..
    I have a question what about if the user Cancel the subscription and chooses End of the current period (he will still need access until the end of the month) how can we handle that and remove the access next month ?

  • @healthbarsarchive
    @healthbarsarchive 8 месяцев назад

    Great one Marc, please can you do for Lemon Squeezy subscriptions. Stripe isn't allowed in my country.

  • @neutr1no
    @neutr1no 8 месяцев назад

    2:14 - do you usually show this custom message after payment? why not redirect directly back to website (the 2nd radio button)?

    • @marc-lou
      @marc-lou  8 месяцев назад

      That works too. It's actually even better, didn't notice until now 😅

  • @huntervargo4237
    @huntervargo4237 7 месяцев назад

    I wonder if there is a way to create a payment link based on an existing customer stripe id.

  • @andtif
    @andtif 8 месяцев назад

    Fantastic video, thanks Marc! ♥

  • @jasonkwilliamson
    @jasonkwilliamson 8 месяцев назад

    do you do consulting?

  • @hugo123la
    @hugo123la 8 месяцев назад +1

    Fun fact, I'm exactly at this step today. It helped me a bit
    About the pricing table, I've decided to build it from the API, retrieving the list of products from the API.
    But I didn't found how to get the payment links for the moment

  • @bradmca2022
    @bradmca2022 8 месяцев назад

    How do you reconcile monthly subscription payments from stripe at your accountant software?

  • @wrapper7683
    @wrapper7683 7 месяцев назад

    How does it work with taxes? Aren’t tax rules different for every country you ship to and you always have to make sure the invoice is fitting these regulations?

  • @aricwilliamsdeveloper
    @aricwilliamsdeveloper 6 месяцев назад

    I was up till 3 am trying to get this to work... failure.... I wake up to youtube recommending this video!!!!!!!!🎉🎉🎉🎉🎉❤❤❤❤❤❤

  • @AlexanderKulibaba
    @AlexanderKulibaba 8 месяцев назад

    Great video! what program do you use to record your UI and cursor movement? i'd love to replicate it!

  • @rohitdasu
    @rohitdasu 8 месяцев назад

    I have a doubt @MarcLou. If a user signs up for our SaaS without being subscribed initially, and later creates an account, how do we determine if they're subscribed?

  • @Cris022
    @Cris022 6 месяцев назад

    1:43 Is anyone else having trouble finding the ‘create link’ button?

    • @subhajitadhikary-99
      @subhajitadhikary-99 5 месяцев назад

      you should see that after clicking three dots on the right of each price row

  • @JohnnyUtah269
    @JohnnyUtah269 8 месяцев назад

    What is he using for screen capture

  • @Mikelovestocode
    @Mikelovestocode 8 месяцев назад

    Bonjour marc!!! J' ai un diplôme en MBA mais il ne me sert presqu' à rien. J' aimerais vous demander si les SAAS rapportent beaucoup d'argent pour que je puisse m'y lancer.

  • @uzaisindiko6589
    @uzaisindiko6589 3 месяца назад

    Hi Marc, I live in Indonesia and can’t create a Stripe account because it requires a specific type of citizen ID, and my country isn’t on the supported list. Do you know of any workarounds, or can you recommend other payment gateways that support Indonesia?

  • @hugoibanez
    @hugoibanez 4 месяца назад

    This is gold, thanks!

  • @CREATE-oo8xg
    @CREATE-oo8xg 3 месяца назад

    This was really helpful. Thanks

  • @master893
    @master893 19 дней назад

    Hey everyone, quick question! 😊 I have user addresses stored in my database, and I want to pre-fill the address fields on the checkout page automatically when a user goes there. Anyone know how to implement this? It's kinda urgent, so any help would be super appreciated! 🙏 Thanks in advance!

    • @cheeky1699
      @cheeky1699 18 дней назад

      yeah dont follow how its done in this video. its best to use the stripe node.js package and create a server action that can create a stripe checkout session where you can pass the customers email and even address to be pre-filled.

  • @wdevon99
    @wdevon99 5 месяцев назад

    Thank you so much, this helped me a lot :)

  • @SamJenkins-Satal
    @SamJenkins-Satal 8 месяцев назад

    Really like this type of video it's really helpful!

  • @view
    @view 8 месяцев назад +1

    Nice tutorial 🔥

  • @benramosstudio
    @benramosstudio 8 месяцев назад

    This video is super helpful!

  • @louis.s1337
    @louis.s1337 8 месяцев назад

    Hi which screen recorder do you use for mac?

  • @ilias7941
    @ilias7941 5 месяцев назад

    Why don't you expand the customer from the session instead of retrieving.

  • @broskisnajdy
    @broskisnajdy 8 месяцев назад

    Hey! I have a question tho, for the one time payment model, what happens if that SaaS is just bought by a very few people, and after a few months you decide to kill it. They cant do nothing, because there was only like 30 days money back guarantee, right? Its the only problem I have using subscription/one time, for subscriptions - if project is dead, people just stop paying for it. :D Thanks to anyone that clarifies this to me

  • @Suresh-br2zz
    @Suresh-br2zz 8 месяцев назад

    bro stripe isn't available in my country, what should I use?

    • @starlord7526
      @starlord7526 8 месяцев назад +1

      you from nepal?

    • @prakritojha
      @prakritojha 8 месяцев назад

      @@starlord7526 I am bro😢

    • @ExiBandito
      @ExiBandito 8 месяцев назад

      Register a US company with northwest for an EIN and then connect stripe to transferwise or payoneer for a routing number

  • @yuhan-ft6lt
    @yuhan-ft6lt 7 месяцев назад

    I have purchased Shipfast and built my own AI drawing website. I also connected to Stripe payment according to Shipfast's tutorial, but I don't know how to make a user credit system. That is, the user package can only generate 100 times a month, but I can't implement such credit deduction. Can you give us a tutorial on credits?

    • @marc-lou
      @marc-lou  7 месяцев назад

      Are you doing a pricing similar to byedispute.com ?
      If so, it's just an integer in the database (credit: { type: Number })
      I created 4 prices in Stripe and mapped them to a number of credits.
      In the Stripe webhook
      > Get the priceId
      > Update user credits
      Then whenever customers use the service, I remove -1 credit
      Hope it helps!

  • @PanggilajaRara1928
    @PanggilajaRara1928 8 месяцев назад

    How to make company on another country. I'm from Indonesia, you can't receive payment from another country with Indonesian company.

  • @senthilkumarm929
    @senthilkumarm929 8 месяцев назад

    Useful information. 👍

  • @ilunarivan
    @ilunarivan 8 месяцев назад +1

    pls create a detail video on marketing i had created many products but get failed in marketing got 0 visitors all the time pls tell me how can i market my site for free plsssssss :/

  • @loganyt8818
    @loganyt8818 8 месяцев назад

    why did you move to japan?

  • @huntervargo4237
    @huntervargo4237 7 месяцев назад

    Great video!!

  • @fabiojonathanarifin1
    @fabiojonathanarifin1 8 месяцев назад

    sir... this is dope 🔥

  • @kolberdominik
    @kolberdominik 8 месяцев назад

    Hey, Marc. Great video!!! By the way, is there any chance i could reach out to you? I might have an interesting offer

  • @SheeceGardazi
    @SheeceGardazi 8 месяцев назад

    awesome more videos like this!

  • @athreefu9151
    @athreefu9151 8 месяцев назад

    How much did they paid you?)

  • @androidtechsayed201
    @androidtechsayed201 Месяц назад

    Very good video

  • @Eamo-21
    @Eamo-21 8 месяцев назад

    Extremely useful

  • @ayyubs_mind
    @ayyubs_mind 8 месяцев назад

    Thank you!

  • @proofit404
    @proofit404 8 месяцев назад

    Лучший. Этот канал просто находка.

  • @josippardon8933
    @josippardon8933 5 месяцев назад +1

    WARNING WARNING WARNING! Marc wrote some very bad code.
    In his code, same response is always sent to stripe, even if error happened while processing stripe request. Stripe tracks and collects all responses from your server, and notifies you if many errors occured. Because of that, you should always return response with status 4xx if request processing was unsuccessful, which mark does not have in code.
    Marc please dont take this as insult! I really apprecieate your work, and your videos are among the ones I am most excited about 😃

  • @i_am.leslie
    @i_am.leslie 8 месяцев назад

    What's your education. Any college degrees

  • @hapaise2924
    @hapaise2924 8 месяцев назад

    This was suck a good video!

  • @mirjalol49
    @mirjalol49 8 месяцев назад

    Well as i asked you made it now. Make more tech videos

  • @aliencommander
    @aliencommander 8 месяцев назад

    good video

  • @remyirconnor5074
    @remyirconnor5074 Месяц назад

    Salut incroyablement claire !

  • @LNumerisLotteryStrategies
    @LNumerisLotteryStrategies 3 месяца назад +1

    So, the information is okay, but your going to fast and it seems like your leaving out steps. Slow down and give more details. I seems like you were just trying to get the video out as fast as possible.

  • @weeb3277
    @weeb3277 8 месяцев назад

    7:58 Why wrap it in a switch statement?
    if you just use if statements then you won't need to remember to `break` out.

  • @frozen_tortus
    @frozen_tortus 22 дня назад

    perfect

  • @sujayxaradhya
    @sujayxaradhya 4 месяца назад

    Why everybody or very second grade developer is creating video only using Stripe? Does Stripe pay you? And if not then please look into small businesses, startups, or individuals who are facing problems like getting blocked with existing multi-thousands of dollars in the account with no legit reason by the worst Stripe.
    Why you guys don't make video on any other payment gateway integration? I understand that Stripe has best docs experience but this is not the legit reason to not make video on using any other payment gateway.
    Please do favour and help those business, startups that are getting shutdown only because of Stripe.
    This is really sad.😢

  • @Inder_pal_singh
    @Inder_pal_singh 8 месяцев назад +3

    Brother, create a video on "How to try/create micro saas ideas ". love from india ❤🫡

  • @JoaBarron-gm2lv
    @JoaBarron-gm2lv 5 месяцев назад

    Can we get a video that isn't zooming all across the screen. I would hope everyone trying to work with stripe has more of an attention span than a gold fish, We don't need the attrition hook every 14 seconds.

  • @Frexuz
    @Frexuz 8 месяцев назад

    "ehvents", not "eevents" :)

  • @naoladugna4667
    @naoladugna4667 8 месяцев назад

    first comment 😃😃

  • @gauravvan
    @gauravvan 8 месяцев назад

    I've read the full Lord of the rings book, so?

  • @MG5350
    @MG5350 8 месяцев назад

    this guy deceived himself into thinking that is sustainable to make money by deceiving others. he's just one conscious step above of his low-consciousness audience

  • @bekampfemittelmaigkeit4569
    @bekampfemittelmaigkeit4569 8 месяцев назад +1

    Only 8 clicks after one minute. Bro fell off.

    • @patricklepamplemousse884
      @patricklepamplemousse884 8 месяцев назад +2

      Tf are u talking about

    • @ballinlikebill8334
      @ballinlikebill8334 8 месяцев назад

      @@patricklepamplemousse884 that he fell off.... 8 clicks after one minute is not that much -> fell off