Udhëzues

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ërtonMë e mira për
Payment Link me çmim të përsëriturAsgjë përveç një linkuTestimin e kërkesës; trajtimin e aksesit me dorë
Checkout (modaliteti i abonimit) + portali i klientitNjë rrugë serveri, një webhook, një buton faturimiShumicën e aplikacioneve SaaS dhe anëtarësimeve
API e abonimeve me formën tënde të pagesësShumë më tepër: UI pagese, vërtetim, rimëngjarjeAplikacione me rrjedha të pazakonta faturimi
Ofrues tregtar i regjistruarTë ngjashëm me CheckoutShitë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?
trialingNë periudhë provëPo
activeNë rregullPo
incompletePagesa e parë nuk është përfunduar ende; Stripe i jep klientit 23 orëJo
incomplete_expiredPagesa e parë nuk u krye kurrëJo
past_duePagesa e fundit dështoi ose nuk u provua; mund të pasojnë riprovaZgjedhja jote; shumë aplikacione lejojnë një periudhë të shkurtër faljeje
unpaidRiprovat përfunduan, faturat mbeten të hapura, nuk ka më përpjekjeJo; dokumentacioni i Stripe thotë të revokohet aksesi
canceledPërfundoi; nuk mund të rifillohetJo
pausedNjë 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.completedLidh ID-të e reja të klientit dhe abonimit të Stripe me përdoruesin tënd
invoice.paidShëno abonimin si aktiv dhe regjistro fundin e periudhës së re
invoice.payment_failedThuaju përdoruesit që karta e tij dështoi dhe lidh me portalin
invoice.payment_action_requiredKërko nga përdoruesi të përfundojë vërtetimin e kartës
customer.subscription.updatedPërditëso planin, statusin dhe çdo anulim të planifikuar
customer.subscription.deletedHiq aksesin e paguar
customer.subscription.trial_will_endKujto 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

  1. Krijo produktet dhe çmimet në modalitetin test të Stripe.
  2. 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.
  3. 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ë.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.

Mythex · Pricing · Ndërtoni çdo gjë me AI · Shablone faqesh dhe aplikacionesh · Mythex në krahasim · Fjalori i ndërtimit të aplikacioneve me AI · Mjete falas për ndërtimin e aplikacioneve me AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)