Si të shtosh abonime me Stripe: planet, periudhat provë, webhook-et dhe pagesat e dështuara
Për të shtuar abonime me Stripe, krijo një produkt me një çmim të përsëritur në Stripe Dashboard, dërgo klientët te Stripe Checkout në modalitetin e abonimit nga serveri yt, dhe lëre një webhook t'i tregojë aplikacionit tënd kur çdo pagesë përfundon me sukses, dështon, ndryshon ose mbaron. Ruaj statusin e abonimit te përdoruesi dhe jep akses nga ai, jo nga faqja e suksesit. Shto një buton Menaxho faturimin që hap portalin e klientit të hostuar nga Stripe, ku njerëzit mund të ndryshojnë kartat, të kalojnë në plane të tjera dhe të anulojnë pa që ti të ndërtosh ato ekrane.
Ky udhëzues mbështetet te si të shtosh pagesa në aplikacionin tënd, i cili mbulon Checkout për një pagesë të vetme, modalitetin test dhe hyrjen në publik. Këtu fokusohemi në atë që ndryshon me faturimin e përsëritur. Detajet e Stripe janë nga dokumentacioni i Stripe, sipas shtatorit 2026.
Pse abonimet janë më të vështira se pagesat e vetme
Një pagesë e vetme ndodh ndërsa klienti është në aplikacionin tënd. Një abonim vazhdon edhe pasi ai largohet: rinovime çdo muaj, karta që skadojnë, përmirësime në mes të ciklit, anulime që hyjnë në fuqi në fund të periudhës. Aplikacioni yt i mëson këto vetëm përmes webhook-ëve. Shumica e gabimeve me abonimet vijnë nga trajtimi i pagesës së parë si e gjithë historia.
Opsionet e tua
| Qasja | Çfarë ndërton | Më e mira për |
|---|---|---|
| Payment Link me çmim të përsëritur | Asgjë përveç një linku | Testimin e kërkesës; trajtimin e aksesit me dorë |
| Checkout (modaliteti i abonimit) + portali i klientit | Një rrugë serveri, një webhook, një buton faturimi | Shumicën e aplikacioneve SaaS dhe anëtarësimeve |
| API e abonimeve me formën tënde të pagesës | Shumë më tepër: UI pagese, vërtetim, rimëngjarje | Aplikacione me rrjedha të pazakonta faturimi |
| Ofrues tregtar i regjistruar | Të ngjashëm me Checkout | Shitës që duan që ofruesi të trajtojë taksën e shitjes |
Për shumicën e aplikacioneve, Checkout plus portali është kompromisi i duhur. Krahaso ofruesit te Stripe kundrejt Paddle kundrejt Lemon Squeezy nëse trajtimi i taksave të shqetëson.
Planifiko çmimet në Stripe fillimisht
Në Stripe, një produkt është ajo që shet ("Plani Pro") dhe një çmim është si e faturon ("$20 në muaj", "$200 në vit"). Një produkt mund të ketë disa çmime. Vendos:
- Cilat nivele ofron dhe çfarë hap secili në aplikacionin tënd
- Mujor, vjetor, ose të dyja
- Nëse ofron periudhë provë, dhe nëse ajo kërkon kartë që në fillim
Krijo produktet dhe çmimet në modalitetin test, dhe mbaj ID-të e çmimeve; aplikacioni yt u referohet atyre. Nëse nuk ke vendosur ende çmimet, lexo si të vendosësh çmimin e një produkti SaaS dhe freemium kundrejt periudhës provë falas.
Cikli i jetës së abonimit që duhet ta trajtosh
Përmbledhja e abonimeve të Stripe liston statuset që mund të ketë një abonim. Ato që kanë më shumë rëndësi për aksesin:
| Statusi | Çfarë do të thotë | Jep akses? |
|---|---|---|
trialing | Në periudhë provë | Po |
active | Në rregull | Po |
incomplete | Pagesa e parë nuk është përfunduar ende; Stripe i jep klientit 23 orë | Jo |
incomplete_expired | Pagesa e parë nuk u krye kurrë | Jo |
past_due | Pagesa e fundit dështoi ose nuk u provua; mund të pasojnë riprova | Zgjedhja jote; shumë aplikacione lejojnë një periudhë të shkurtër faljeje |
unpaid | Riprovat përfunduan, faturat mbeten të hapura, nuk ka më përpjekje | Jo; dokumentacioni i Stripe thotë të revokohet aksesi |
canceled | Përfundoi; nuk mund të rifillohet | Jo |
paused | Një periudhë provë përfundoi pa metodë pagese dhe u vendos në pauzë | Jo |
Ruaj statusin te regjistri yt i përdoruesit ose llogarisë dhe bazo aksesin mbi të. Përditësoje sa herë arrin një webhook përkatës.
Ngjarjet e webhook-ut që duhet trajtuar
| Ngjarja | Çfarë bën aplikacioni yt |
|---|---|
checkout.session.completed | Lidh ID-të e reja të klientit dhe abonimit të Stripe me përdoruesin tënd |
invoice.paid | Shëno abonimin si aktiv dhe regjistro fundin e periudhës së re |
invoice.payment_failed | Thuaju përdoruesit që karta e tij dështoi dhe lidh me portalin |
invoice.payment_action_required | Kërko nga përdoruesi të përfundojë vërtetimin e kartës |
customer.subscription.updated | Përditëso planin, statusin dhe çdo anulim të planifikuar |
customer.subscription.deleted | Hiq aksesin e paguar |
customer.subscription.trial_will_end | Kujto përdoruesin para se të mbarojë periudha provë; Stripe e dërgon tri ditë më parë |
Rregullat e trajtuesit nga dokumentacioni i webhook-ëve të Stripe vazhdojnë të vlejnë: verifiko nënshkrimin me trupin e papërpunuar, kthe 2xx shpejt, trajto ngjarjet e dublikuara dhe ato jashtë renditjes, dhe prit riprova. Udhëzuesi çfarë është një webhook shpjegon idenë, dhe udhëzuesi i pagesave i rendit rregullat më në detaj.
Hap pas hapi
- Krijo produktet dhe çmimet në modalitetin test të Stripe.
- Shto sekretet: çelësin sekret, ID-të e çmimeve, dhe më vonë sekretin e nënshkrimit të webhook-ut. Kurrë mos i vendos në kodin e ballinës.
- Faqja e çmimeve: butoni i çdo plani thërret serverin tënd, i cili krijon një Checkout Session në modalitetin e abonimit për përdoruesin e kyçur. Dërgo ID-në e përdoruesit që webhook-u ta lidhë pagesën me llogarinë.
- Endpoint-i i webhook-ut: verifiko nënshkrimet dhe trajto ngjarjet më sipër, duke përditësuar një regjistrim abonimi për përdorues.
- Kufizo veçoritë sipas statusit dhe planit të ruajtur, të kontrolluar në server për çdo veprim të mbrojtur, jo vetëm butonat e fshehur.
- Portali i klientit: konfiguroje në Stripe Dashboard (në cilat plane mund të kalojnë njerëzit, nëse mund të anulojnë), pastaj shto një buton Menaxho faturimin që krijon një sesion portali në server dhe ridrejton atje.
- Pagesat e dështuara: në cilësimet e faturimit të Stripe, zgjidh sjelljen e riprovës dhe çfarë ndodh pas riprovës së fundit. Shfaq një banner brenda aplikacionit kur është
past_due. - Testo gjithë ciklin e jetës, pastaj publiko dhe regjistro webhook-un live.
Prompte për ndërtuesin tënd me AI
Shto faturim me abonim me Stripe. Planet: Starter (ID e çmimit në STRIPE_PRICE_STARTER) dhe Pro (STRIPE_PRICE_PRO). Faqja e çmimeve krijon në server një Checkout Session në modalitetin e abonimit duke përdorur STRIPE_SECRET_KEY, me ID-në e përdoruesit të kyçur të bashkangjitur. Ruaj te përdoruesi ID-në e klientit Stripe, ID-në e abonimit, planin dhe statusin. Mos e ekspozo kurrë çelësin sekret në shfletues.
Shto POST /api/stripe/webhook. Verifiko nënshkrimin me STRIPE_WEBHOOK_SECRET duke përdorur trupin e papërpunuar të kërkesës. Trajto checkout.session.completed, invoice.paid, invoice.payment_failed, customer.subscription.updated, customer.subscription.deleted dhe customer.subscription.trial_will_end. Regjistro ID-të e ngjarjeve të përpunuara që dublikatat të injorohen. Përditëso statusin e përdoruesit nga objekti i abonimit, jo nga renditja në të cilën arrijnë ngjarjet.
Kufizo veçoritë Pro në server: lejoji vetëm kur statusi është active ose trialing dhe plani është Pro. Shfaq një banner "pagesa dështoi, përditëso kartën" kur statusi është past_due. Shto një buton Menaxho faturimin që hap portalin e klientit të Stripe për këtë përdorues.
Përmirësime, ulje dhe proporcionalizim
Kur një klient kalon nga një plan në tjetrin, dokumentacioni i Stripe thotë se ndryshimi shpesh krijon një proporcionalizim: çmimi i ri aplikohet për pjesën e mbetur të periudhës aktuale të faturimit. Mund ta shikosh paraprakisht proporcionalizimin ose ta çaktivizosh. Nëse planet kanë të njëjtin interval, datat e faturimit mbeten të njëjta; kalimi nga mujori në vjetor e zhvendos datën e faturimit në ditën e ndryshimit. Lejimi i klientëve të ndryshojnë planet në portal të kursen shkrimin e kësaj logjike, por vendos në cilësimet e portalit cilat ndryshime janë të lejuara.
Lista e testimit
Përdor modalitetin test të Stripe dhe kartat test, dhe kalo nëpër çdo gjendje:
- Një abonim i ri i jep planin e duhur përdoruesit të duhur
- Mbyllja e skedës menjëherë pas pagesës ende jep akses (vërteton që webhook-u funksionon)
- Një kartë e refuzuar gjatë regjistrimit nuk jep asgjë
- Një rinovim që dështon e vendos llogarinë në past_due dhe shfaq banner-in
- Përditësimi i kartës në portal rikthen statusin active
- Përmirësimi dhe uljet ndryshojnë veçoritë saktë
- Anulimi në fund të periudhës e mban aksesin deri në datën e fundit, pastaj e heq
- Përdoruesit e periudhës provë marrin akses, marrin kujtesën, dhe konvertohen ose humbin aksesin saktë
- Dërgimi i të njëjtës ngjarje webhook dy herë nuk ndryshon asgjë
Test clocks të Stripe të lejojnë të simulosh kalimin e kohës, kështu që mund të testosh rinovimet pa pritur një muaj. Shiko dokumentacionin aktual të testimit të Stripe për mënyrën e përdorimit.
Gabime të zakonshme
- Dhënia e aksesit në faqen e suksesit. Klientët mund të paguajnë dhe të mos e arrijnë kurrë. Përdor webhook-un.
- Trajtimi vetëm i pagesës së parë. Rinovimet, dështimet dhe anulimet vijnë më vonë, si ngjarje.
- Kontrollimi i statusit të planit vetëm në ballinë. Kushdo mund ta thërrasë API-në tënde direkt.
- Një përdorues, shumë abonime por pa dashje. Kontrollo nëse ekziston tashmë një abonim para se të krijosh një Checkout Session të re, ose dërgo klientët ekzistues te portali.
- Revokimi i aksesit në rinovimin e parë të dështuar. Kartat dështojnë për arsye të zakonshme. Një periudhë e shkurtër faljeje me një banner të qartë i mban klientët.
- Harresa e webhook-ut live. Endpoint-et test dhe live kanë sekrete nënshkrimi të ndryshme.
- Injorimi i taksave dhe rimbursimeve. Vendos politikën e rimbursimit dhe kontrollo detyrimet e taksave me një kontabilist përpara lansimit.
Abonimet në Mythex
Aplikacionet që ndërton në Mythex përdorin llogarinë tënde Stripe dhe çelësat e tu; nuk ka një lidhje Stripe me një klik për aplikacionin tënd. Shto çelësat test dhe ID-të e çmimeve si sekrete të projektit, përdor prompte si ato më sipër, dhe testo me kartat test të Stripe në Preview. Webhook-et kanë nevojë për URL-në publike të aplikacionit tënd, kështu që publiko përpara se të regjistrosh endpoint-in te Stripe, dhe publiko përsëri pasi kalon te çelësat live që aplikacioni live t'i marrë. Shiko Prano pagesa me Stripe dhe Trajto webhook-et në backend-in tënd. Për produktin më të gjerë, si të ndërtosh një MVP SaaS mbulon çfarë të ndërtosh përreth faturimit.
Pyetje
Cili është mënyra më e thjeshtë për të shtuar abonime me Stripe?
Krijo një produkt me një çmim të përsëritur në Stripe Dashboard, dërgo klientët te Stripe Checkout në modalitetin e abonimit, trajto ngjarjet e abonimit me një webhook, dhe lidh një buton Menaxho faturimin me portalin e klientit të hostuar nga Stripe. Kjo të kursen nga ndërtimi i formave të kartës dhe ekraneve të ndryshimit të planit vetë.
Cilat ngjarje webhook të Stripe më duhen për abonimet?
Të paktën checkout.session.completed për të lidhur abonimin e ri me përdoruesin tënd, invoice.paid për të konfirmuar çdo pagesë të suksesshme, invoice.payment_failed për të paralajmëruar për rinovime të dështuara, dhe customer.subscription.updated dhe customer.subscription.deleted për të ndjekur ndryshimet e planit dhe anulimet.
Çfarë ndodh kur dështon një pagesë abonimi?
Sipas dokumentacionit të Stripe, që nga shtatori 2026, abonimi zakonisht bëhet past_due dhe Stripe mund ta riprovojë pagesën sipas cilësimeve të tua. Pas riprovës së fundit, cilësimet e Dashboard-it vendosin nëse ai anulohet, shënohet si i papaguar ose mbetet past_due.
A mund të ofroj një periudhë provë falas pa kërkuar kartë?
Po. Stripe mbështet periudhat provë falas, dhe dokumentacioni i tij përshkruan një status të pezulluar për periudhat provë që përfundojnë pa një metodë pagese, kur kështu konfigurohet. Mbledhja e një karte që në fillim zakonisht do të thotë më pak regjistrime, por më shumë klientë që paguajnë; testo çfarë i përshtatet produktit tënd.