Útmutatók

Előfizetések hozzáadása Stripe-pal: csomagok, próbaidőszakok, webhookok és sikertelen fizetések

Ahhoz, hogy előfizetéseket adj hozzá a Stripe-pal, hozz létre egy terméket ismétlődő árral a Stripe irányítópultjában, küldd a vásárlókat a szerveredről Stripe Checkoutra előfizetési módban, és hagyd, hogy egy webhook jelezze az appodnak, amikor egy fizetés sikerül, sikertelen, megváltozik vagy véget ér. A hozzáférést a felhasználóhoz tárolt előfizetési állapotból add, nem a sikeres fizetés oldalból. Adj hozzá egy Számlázás kezelése gombot, amely a Stripe hosztolt ügyfélportáljára visz, hogy az emberek kártyát cserélhessenek, csomagot válthassanak és lemondhassanak anélkül, hogy neked ezeket a képernyőket kellene megépítened.

Ez az útmutató a fizetések hozzáadása az appodhoz útmutatóra épít, amely az egyszeri Checkoutot, a teszt módot és az éles indítást fedi le. Itt az ismétlődő számlázás különbségeire koncentrálunk. A Stripe-adatok a Stripe 2026 szeptemberi dokumentációja szerint szerepelnek.

Miért nehezebbek az előfizetések az egyszeri fizetéseknél

Az egyszeri fizetés addig történik, amíg a vásárló az appban van. Az előfizetés azután is folytatódik, hogy elhagyta: havi megújítások, lejáró kártyák, ciklus közbeni bővítések, lemondások, amelyek a periódus végén lépnek életbe. Az appod ezekről csak webhookokon keresztül értesül. A legtöbb előfizetéses hiba abból fakad, hogy az első fizetést tekintik az egész történetnek.

A lehetőségeid

MegközelítésAmit építeszLegjobb ehhez
Payment Link ismétlődő árralCsak egy linkKereslet tesztelése; a hozzáférés kézi kezelése
Checkout (előfizetési mód) + ügyfélportálSzerveri útvonal, webhook, számlázás gombA legtöbb SaaS-app és tagság
Előfizetési API a saját fizetési űrlappalSokkal több: fizetési felület, hitelesítés, újrapróbálkozásokSzokatlan számlázási folyamatú appok
Merchant-of-record szolgáltatóHasonló a CheckouthozEladók, akik azt szeretnék, hogy a szolgáltató kezelje az értékesítési adót

A legtöbb appnál a Checkout plusz a portál a jó kompromisszum. Ha aggaszt az adókezelés, a Stripe vs. Paddle vs. Lemon Squeezy összehasonlítás segít a szolgáltatók közötti választásban.

Először a Stripe-ban tervezd meg az árazást

A Stripe-ban a termék az, amit eladsz („Pro csomag”), az ár pedig az, ahogyan számláznod ("havi 20 dollár", "évi 200 dollár"). Egy terméknek több ára lehet. Döntsd el:

  • Mely szinteket kínálod, és az egyes szintek mit oldanak fel az appodban
  • Havi, éves vagy mindkettő
  • Kínálsz-e próbaidőszakot, és kell-e hozzá kártya előzetesen

Hozd létre a termékeket és az árakat teszt módban, és jegyezd fel az ár-azonosítóikat; az appod ezekre hivatkozik. Ha még nem döntöttél az árakról, olvasd el a SaaS-termék árazása és a freemium vs. ingyenes próba útmutatót.

Az előfizetési életciklus, amelyet kezelned kell

A Stripe előfizetési áttekintése felsorolja, milyen állapotai lehetnek egy előfizetésnek. A hozzáférés szempontjából ezek a legfontosabbak:

ÁllapotJelentéseAdj hozzáférést?
trialingPróbaidőszakban vanIgen
activeRendben vanIgen
incompleteAz első fizetés még nem történt meg; a Stripe 23 órát ad a vásárlónakNem
incomplete_expiredAz első fizetés soha nem sikerültNem
past_dueA legutóbbi fizetés sikertelen volt, vagy nem próbálták meg; újrapróbálkozások következhetnekA te döntésed; sok app rövid türelmi időt ad
unpaidAz újrapróbálkozások véget értek, a számlák nyitva maradnak, további próbálkozás nincsNem; a Stripe dokumentációja szerint a hozzáférést vissza kell vonni
canceledVéget ért; nem indítható újraNem
pausedA próbaidőszak fizetési mód nélkül ért véget, és szüneteltetésre volt állítvaNem

Tárold az állapotot a felhasználói vagy fiókrekordodon, és a hozzáférést erre alapozd. Minden alkalommal frissítsd, amikor egy vonatkozó webhook érkezik.

A kezelendő webhook-események

EseményMit csinál az appod
checkout.session.completedÖsszeköti az új Stripe-ügyfél- és előfizetés-azonosítókat a felhasználóddal
invoice.paidAktívra állítja az előfizetést, és rögzíti az új időszak végét
invoice.payment_failedÉrtesíti a felhasználót, hogy a kártyája sikertelen, és linkel a portálra
invoice.payment_action_requiredArra kéri a felhasználót, hogy végezze el a kártya hitelesítését
customer.subscription.updatedFrissíti a csomagot, az állapotot és az esetleges ütemezett lemondást
customer.subscription.deletedEltávolítja a fizetős hozzáférést
customer.subscription.trial_will_endEmlékezteti a felhasználót a próbaidőszak vége előtt; a Stripe három nappal korábban küldi

A Stripe webhook-dokumentációjának kezelőszabályai itt is érvényesek: ellenőrizd az aláírást a nyers törzs alapján, gyorsan adj 2xx választ, kezeld az ismétlődő és sorrenden kívüli eseményeket, és számolj az újrapróbálkozásokkal. A mi a webhook útmutató az általános elképzelést magyarázza, a fizetési útmutató pedig részletesen felsorolja a szabályokat.

Lépésről lépésre

  1. Hozz létre termékeket és árakat a Stripe teszt módjában.
  2. Adj hozzá titkokat: a titkos kulcsot, az ár-azonosítókat, később pedig a webhook aláíró titkot. Soha ne tedd őket a frontend kódba.
  3. Árazási oldal: minden csomag gombja meghívja a szervered, amely előfizetési módban Checkout-munkamenetet hoz létre a bejelentkezett felhasználónak. Add át a felhasználói azonosítódat, hogy a webhook a fizetést a fiókhoz tudja párosítani.
  4. Webhook-végpont: ellenőrizd az aláírásokat, és kezeld a fenti eseményeket, felhasználónként egy előfizetési rekordot frissítve.
  5. Szabályozd a funkciókat a tárolt állapot és csomag alapján, minden védett műveletnél a szerveren ellenőrizve, nem csak elrejtett gombokkal.
  6. Ügyfélportál: állítsd be a Stripe irányítópultjában (mely csomagokra válthatnak az emberek, lemondhatnak-e), majd adj egy Számlázás kezelése gombot, amely a szerveren portálmunkamenetet hoz létre, és oda irányít.
  7. Sikertelen fizetések: a Stripe számlázási beállításaiban válaszd ki az újrapróbálkozás viselkedését és az utolsó újrapróbálkozás utáni teendőket. Mutass az appban banner-t, amíg past_due az állapot.
  8. Teszteld a teljes életciklust, majd tedd közzé az appot, és regisztráld az éles webhookot.

Promptok az AI app-építőnek

Adj hozzá előfizetéses számlázást a Stripe-pal. Csomagok: Starter (ár-azonosító a STRIPE_PRICE_STARTER-ben) és Pro (STRIPE_PRICE_PRO). Az árazási oldal a szerveren hoz létre Checkout-munkamenetet előfizetési módban a STRIPE_SECRET_KEY-jel, a bejelentkezett felhasználó azonosítóját csatolva. Mentsd el a felhasználóhoz a Stripe ügyfél-azonosítót, az előfizetés-azonosítót, a csomagot és az állapotot. A titkos kulcsot soha ne tedd elérhetővé a böngészőnek.

Adj hozzá egy POST /api/stripe/webhook végpontot. Ellenőrizd az aláírást a STRIPE_WEBHOOK_SECRET-tel a nyers kérés törzsén. Kezeld a checkout.session.completed, invoice.paid, invoice.payment_failed, customer.subscription.updated, customer.subscription.deleted és customer.subscription.trial_will_end eseményeket. Rögzítsd a feldolgozott esemény-azonosítókat, hogy a duplikátumokat figyelmen kívül hagyd. A felhasználó állapotát az előfizetési objektumból frissítsd, nem abból a sorrendből, ahogy az események érkeznek.

Szabályozd a Pro funkciókat a szerveren: csak akkor engedd őket, ha az állapot active vagy trialing, és a csomag Pro. Ha az állapot past_due, mutass egy „a fizetés sikertelen, frissítsd a kártyádat” bannert. Adj hozzá egy Számlázás kezelése gombot, amely megnyitja a Stripe ügyfélportálját ehhez a felhasználóhoz.

Bővítések, visszaminősítések és a díjkiigazítás

Ha egy vásárló csomagot vált, a Stripe dokumentációja szerint a változtatás gyakran díjkiigazítást (proration) hoz létre: az új árat az aktuális számlázási időszak hátralévő részére alkalmazzák. Megnézheted a díjkiigazításokat előre, vagy kikapcsolhatod őket. Ha a csomagok intervallumai megegyeznek, a számlázási dátumok nem változnak; havi-ról évesre váltáskor a számlázási dátum a váltás napjára kerül. Ha a vásárlók a portálon módosíthatják a csomagjukat, nem kell neked ezt a logikát megírnod, de a portál beállításaiban döntsd el, mely váltások engedélyezettek.

Tesztellenőrzőlista

Használd a Stripe teszt módját és teszt-kártyákat, és járj végig minden állapotot:

  • Az új előfizetés a megfelelő csomagot adja a megfelelő felhasználónak
  • Ha közvetlenül fizetés után bezárod a lapot, a hozzáférés akkor is megvan (ez bizonyítja, hogy a webhook működik)
  • Az elutasított kártya a regisztrációnál nem ad semmit
  • Egy sikertelen megújítás a fiókot past_due állapotba teszi, és megjelenik a banner
  • A kártya frissítése a portálon visszaállítja az active állapotot
  • A bővítés és a visszaminősítés helyesen változtatja a funkciókat
  • Lemondás az időszak végén a hozzáférést a végdátumig megtartja, utána eltávolítja
  • A próbaidős felhasználók megkapják a hozzáférést, az emlékeztetőt, és helyesen térnek át fizetősre vagy vesztik el a hozzáférést
  • Ugyanazon webhook-esemény kétszeri küldése semmit sem változtat

A Stripe teszt-órái (test clocks) lehetővé teszik, hogy szimuláld az idő múlását, így a megújításokat egy hónap várakozás nélkül tesztelheted. A használatukról nézd meg a Stripe aktuális tesztelési dokumentációját.

Gyakori hibák

  • Hozzáférés adása a sikeres fizetés oldalon. A vásárlók fizethetnek úgy, hogy soha nem jutnak el oda. Használd a webhookot.
  • Csak az első fizetés kezelése. A megújítások, a sikertelen fizetések és a lemondások később, eseményekként érkeznek.
  • Csomagállapot ellenőrzése csak a frontenden. Bárki meghívhatja közvetlenül az API-dat.
  • Egy felhasználó, véletlenül sok előfizetéssel. Ellenőrizd, van-e már előfizetés, mielőtt új Checkout-munkamenetet hoznál létre, vagy küldd a meglévő ügyfeleket a portálra.
  • Hozzáférés visszavonása az első sikertelen megújításnál. A kártyák unalmas okok miatt bukhatnak meg. Egy rövid türelmi idő és egy világos banner megtartja az ügyfeleket.
  • Az éles webhook elfelejtése. A teszt- és az éles végpontok eltérő aláíró titkokkal rendelkeznek.
  • Az adók és a visszatérítések figyelmen kívül hagyása. Döntsd el a visszatérítési szabályzatodat, és indulás előtt nézd meg az adókötelezettségeidet a könyvelőddel.

Előfizetések a Mythexen

A Mythexen épített appok a saját Stripe-fiókodat és kulcsaidat használják; nincs egykattintásos Stripe-csatlakoztatás az appodhoz. Add a teszt-kulcsaidat és ár-azonosítóidat projekt-titokként, használd a fenti promptokhoz hasonló szövegeket, és teszteld a teszt-kártyákkal az előnézetben. A webhookoknak az appod nyilvános URL-je kell, ezért tedd közzé az appot, mielőtt a végpontot regisztrálod a Stripe-ban, és az éles kulcsokra váltás után tedd közzé újra, hogy az éles app átvegye őket. Lásd: Fizetések elfogadása a Stripe-pal és Webhookok kezelése a háttérrendszerben. A szélesebb termékhez a SaaS MVP építése útmutató mutatja meg, mit építs a számlázás köré.

Kérdések

Mi a legegyszerűbb módja az előfizetések hozzáadásának a Stripe-pal?

Hozz létre egy terméket ismétlődő árral a Stripe irányítópultjában, küldd a vásárlókat Stripe Checkoutra előfizetési módban, kezeld az előfizetési eseményeket webhookkal, és kösd össze a „Számlázás kezelése” gombot a Stripe hosztolt ügyfélportáljával. Így nem kell saját kártyaűrlapot és csomagmódosító képernyőket építened.

Mely Stripe webhook-eseményekre van szükségem az előfizetésekhez?

Legalább a checkout.session.completed eseményre, amely összeköti az új előfizetést a felhasználóddal; az invoice.paid eseményre, amely minden sikeres fizetést megerősít; az invoice.payment_failed eseményre, amely a sikertelen megújításokról figyelmeztet; valamint a customer.subscription.updated és a customer.subscription.deleted eseményekre, amelyek a csomagváltásokat és a lemondásokat követik.

Mi történik, ha egy előfizetési fizetés sikertelen?

A Stripe dokumentációja szerint 2026 szeptemberétől az előfizetés általában past_due állapotba kerül, és a Stripe a beállításaid szerint újrapróbálhatja a fizetést. Az utolsó újrapróbálkozás után az irányítópult-beállításaid döntik el, hogy az előfizetés lemondásra kerül, unpaid állapotba megy, vagy past_due-ban marad.

Kínálhatok ingyenes próbaidőszakot kártyaadat nélkül?

Igen. A Stripe támogatja az ingyenes próbaidőszakokat, dokumentációja pedig leír egy paused állapotot arra az esetre, ha a próbaidőszak fizetési mód nélkül ér véget, és így van beállítva. A kártya előzetes kérése általában kevesebb regisztrációt, de több fizető ügyfelet jelent; teszteld, mi illik a termékedhez.

Mythex · Pricing · Építs bármit AI-val · Weboldal- és alkalmazássablonok · A Mythex összehasonlítva · AI-alapú alkalmazásépítési szószedet · Ingyenes eszközök AI-alapú alkalmazásépítéshez · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Հայերեն 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 Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)