Rokasgrāmatas

Kā pievienot abonementus ar Stripe: plāni, izmēģinājumi, webhooks un neizdevušies maksājumi

Lai pievienotu abonementus ar Stripe, Stripe panelī izveidojiet produktu ar regulāru cenu, no sava servera nosūtiet klientus uz Stripe Checkout abonementa režīmā, un webhook lai paziņo jūsu lietotnei, kad katrs maksājums izdodas, neizdodas, mainās vai beidzas. Glabājiet abonementa statusu pie lietotāja un piešķiriet piekļuvi, balstoties uz to, nevis uz veiksmīgas apmaksas lapu. Pievienojiet pogu Pārvaldīt norēķinus, kas atver Stripe mitināto klientu portālu, lai cilvēki varētu mainīt kartes, pārslēgt plānus un atcelt, bez jūsu pašu ekrānu veidošanas.

Šī rokasgrāmata balstās uz kā pievienot maksājumus lietotnei, kur aprakstīts vienreizējs Checkout, testa režīms un tiešraide. Šeit koncentrējamies uz to, kas atšķiras regulārajos norēķinos. Stripe informācija ir no Stripe dokumentācijas uz 2026. gada septembri.

Kāpēc abonementi ir grūtāki nekā vienreizēji maksājumi

Vienreizējs maksājums notiek, kamēr klients ir jūsu lietotnē. Abonements turpinās arī pēc tam, kad viņš ir aizgājis: ik mēnesi atjaunošanas, kartes, kas beidzas, jauninājumi cikla vidū, atcelšanas, kas stājas spēkā perioda beigās. Jūsu lietotne par to uzzina tikai caur webhooks. Vairums abonementu kļūdu rodas tad, kad pirmais maksājums tiek uzskatīts par visu stāstu.

Jūsu iespējas

PieejaKo jūs veidojatPiemērota
Maksājumu saite ar regulāru cenuTikai saitiPieprasījuma pārbaudei; piekļuves pārvaldīšanai ar roku
Checkout (abonementa režīms) + klientu portālsServera maršrutu, webhook, norēķinu poguVairumam SaaS lietotņu un dalību
Abonementu API ar savu maksājumu veidlapuDaudz vairāk: maksājumu saskarni, autentifikāciju, atkārtojumusLietotnēm ar neparastām norēķinu plūsmām
Merchant-of-record sniedzējsLīdzīgs CheckoutPārdevējiem, kas vēlas, lai sniedzējs apstrādā preču un pakalpojumu nodokli

Vairumam lietotņu Checkout plus portāls ir pareizais kompromiss. Salīdziniet sniedzējus Stripe vs Paddle vs Lemon Squeezy, ja jūs uztrauc nodokļu apstrāde.

Vispirms ieplānojiet cenas Stripe

Stripe produkts ir tas, ko jūs pārdodat ("Pro plāns"), un cena ir tas, kā par to iekasējat ("20 USD mēnesī", "200 USD gadā"). Vienam produktam var būt vairākas cenas. Izlemiet:

  • Kādus līmeņus piedāvājat un ko katrs atver jūsu lietotnē
  • Mēnesi, gadu vai abus
  • Vai piedāvājat izmēģinājumu un vai tam vajag karti iepriekš

Izveidojiet produktus un cenas testa režīmā un saglabājiet to cenu ID; jūsu lietotne uz tiem atsaucas. Ja cenas vēl nav izlemtas, izlasiet kā noteikt SaaS produkta cenu un freemium pret bezmaksas izmēģinājumu.

Abonementa dzīves cikls, ko jāapstrādā

Stripe abonementu pārskatā uzskaitīti statusi, ko abonements var iegūt. Piekļuvei visnozīmīgākie ir šādi:

StatussKo tas nozīmēPiešķirt piekļuvi?
trialingIzmēģinājuma periodāJā
activeKārtībāJā
incompletePirmais maksājums vēl nav pabeigts; Stripe klientam dod 23 stundasNē
incomplete_expiredPirmais maksājums nekad neizdevāsNē
past_duePēdējais maksājums neizdevās vai netika mēģināts; var sekot atkārtojumiJūsu izvēle; daudzas lietotnes ļauj īsu žēlastības periodu
unpaidAtkārtojumi beigušies, rēķini paliek atvērti, papildu mēģinājumu navNē; Stripe dokumentācija iesaka atņemt piekļuvi
canceledBeidzies; nevar atsāktNē
pausedIzmēģinājums beidzās bez maksājuma metodes un tika iestatīts pauzeiNē

Glabājiet statusu lietotāja vai konta ierakstā un balstiet piekļuvi uz to. Atjauniniet to katru reizi, kad ierodas attiecīgs webhook.

Webhook notikumi, ko apstrādāt

NotikumsKo dara jūsu lietotne
checkout.session.completedSaista jauno Stripe klienta un abonementa ID ar lietotāju
invoice.paidAtzīmē abonementu kā aktīvu un saglabā jauno perioda beigu datumu
invoice.payment_failedPastāsta lietotājam, ka karte neizdevās, un sniedz saiti uz portālu
invoice.payment_action_requiredLūdz lietotāju pabeigt kartes autentifikāciju
customer.subscription.updatedAtjaunina plānu, statusu un ieplānoto atcelšanu
customer.subscription.deletedNoņem apmaksāto piekļuvi
customer.subscription.trial_will_endAtgādina lietotājam pirms izmēģinājuma beigām; Stripe to nosūta trīs dienas iepriekš

Stripe webhook dokumentācijas apstrādātāja noteikumi joprojām ir spēkā: pārbaudiet parakstu, izmantojot neapstrādātu pamattekstu, ātri atgriezieties ar 2xx, apstrādājiet dublikātus un notikumus nepareizā secībā un gaidiet atkārtojumus. Rokasgrāmata kas ir webhook skaidro ideju, un maksājumu rokasgrāmatā noteikumi aprakstīti sīkāk.

Soli pa solim

  1. Izveidojiet produktus un cenas Stripe testa režīmā.
  2. Pievienojiet noslēpumus: slepeno atslēgu, cenu ID un vēlāk webhook parakstīšanas noslēpumu. Nekad neliekiet tos priekšgala kodā.
  3. Cenu lapa: katras plāna poga izsauc jūsu serveri, kas izveido Checkout sesiju abonementa režīmā pieteiktajam lietotājam. Nododiet jūsu lietotāja ID, lai webhook varētu saskaņot maksājumu ar kontu.
  4. Webhook galapunkts: pārbaudiet parakstus un apstrādājiet iepriekš minētos notikumus, atjauninot vienu abonementa ierakstu katram lietotājam.
  5. Ierobežojiet funkcijas pēc glabātā statusa un plāna, pārbaudot serverī katru aizsargātu darbību, nevis tikai paslēptas pogas.
  6. Klientu portāls: konfigurējiet to Stripe panelī (uz kuriem plāniem var pāriet, vai var atcelt), tad pievienojiet pogu Pārvaldīt norēķinus, kas serverī izveido portāla sesiju un novirza uz to.
  7. Neizdevušies maksājumi: Stripe norēķinu iestatījumos izvēlieties atkārtojumu uzvedību un to, kas notiek pēc pēdējā mēģinājuma. Rādiet lietotnes baneri, kamēr statuss ir past_due.
  8. Pārbaudiet visu dzīves ciklu, tad publicējiet un reģistrējiet tiešraides webhook.

Uzvednes, ko dot savam MI veidotājam

Pievieno abonementu norēķinus ar Stripe. Plāni: Starter (cenas ID STRIPE_PRICE_STARTER) un Pro (STRIPE_PRICE_PRO). Cenu lapa serverī izveido Checkout sesiju abonementa režīmā, izmantojot STRIPE_SECRET_KEY, un pievieno pieteiktā lietotāja ID. Lietotājam saglabā Stripe klienta ID, abonementa ID, plānu un statusu. Nekad neatklāj slepeno atslēgu pārlūkam.

Pievieno POST /api/stripe/webhook. Pārbaudi parakstu ar STRIPE_WEBHOOK_SECRET, izmantojot neapstrādātu pieprasījuma pamattekstu. Apstrādā checkout.session.completed, invoice.paid, invoice.payment_failed, customer.subscription.updated, customer.subscription.deleted un customer.subscription.trial_will_end. Saglabā apstrādāto notikumu ID, lai dublikāti tiktu ignorēti. Atjauno lietotāja statusu no abonementa objekta, nevis no secības, kādā notikumi ierodas.

Ierobežo Pro funkcijas serverī: atļauj tās tikai tad, kad statuss ir active vai trialing un plāns ir Pro. Kad statuss ir past_due, rādi baneri "maksājums neizdevās, atjauniniet karti". Pievieno pogu Pārvaldīt norēķinus, kas atver Stripe klientu portālu šim lietotājam.

Jauninājumi, pazeminājumi un proporcija

Kad klients maina plānu, Stripe dokumentācijā teikts, ka izmaiņa bieži izveido proporciju: jaunā cena tiek piemērota atlikušajai pašreizējā norēķinu perioda daļai. Varat priekšskatīt proporcijas vai tās izslēgt. Ja plāniem ir vienāds intervāls, norēķinu datumi paliek tādi paši; pārejot no mēneša uz gadu, norēķinu datums pāriet uz izmaiņas dienu. Ja ļaujat klientiem mainīt plānus portālā, jums nav jāraksta šī loģika, bet portāla iestatījumos izlemiet, kādas maiņas ir atļautas.

Testēšanas kontrolsaraksts

Izmantojiet Stripe testa režīmu un testa kartes un izejiet cauri katram statusam:

  • Jauns abonements piešķir pareizo plānu pareizajam lietotājam
  • Ja aizverat cilni uzreiz pēc maksāšanas, piekļuve joprojām tiek piešķirta (tas pierāda, ka webhook darbojas)
  • Noraidīta karte reģistrācijā nepiešķir neko
  • Neizdevusies atjaunošana pārved kontu uz past_due un rāda baneri
  • Kartes atjaunināšana portālā atjauno statusu active
  • Jauninājums un pazeminājums pareizi maina funkcijas
  • Atcelšana perioda beigās saglabā piekļuvi līdz beigu datumam, pēc tam to noņem
  • Izmēģinājuma lietotāji saņem piekļuvi, atgādinājumu un pareizi pāriet uz maksājošiem vai zaudē piekļuvi
  • Viena un tā pati webhook notikuma divreizēja nosūtīšana nemaina neko

Stripe testa pulksteņi ļauj simulēt laika ritējumu, tāpēc var pārbaudīt atjaunošanas, negaidot mēnesi. Pārbaudiet Stripe aktuālo testēšanas dokumentāciju, lai uzzinātu, kā tos lietot.

Biežākās kļūdas

  • Piekļuves piešķiršana veiksmīgas apmaksas lapā. Klienti var samaksāt un nekad tur nenonākt. Izmantojiet webhook.
  • Apstrādāts tikai pirmais maksājums. Atjaunošanas, neizdevušies maksājumi un atcelšanas ierodas vēlāk kā notikumi.
  • Plāna statusa pārbaude tikai priekšgalā. Ikviens var tieši izsaukt jūsu API.
  • Viens lietotājs, nejauši vairāki abonementi. Pirms jaunas Checkout sesijas izveides pārbaudiet, vai abonements jau pastāv, vai nosūtiet esošos klientus uz portālu.
  • Piekļuves atņemšana pie pirmās neizdevušās atjaunošanas. Kartes neizdodas parastu iemeslu dēļ. Īss žēlastības periods ar skaidru baneri notur klientus.
  • Aizmirsts tiešraides webhook. Testa un tiešraides galapunktiem ir atšķirīgi parakstīšanas noslēpumi.
  • Nodokļu un atmaksu ignorēšana. Pirms palaišanas nosakiet atmaksas politiku un pārbaudiet nodokļu saistības ar grāmatvedi.

Abonementi Mythex

Lietotnēs, ko veidojat Mythex, izmantojat savu Stripe kontu un atslēgas; lietotnei nav viena klikšķa Stripe savienojuma. Pievienojiet testa atslēgas un cenu ID kā projekta noslēpumus, izmantojiet uzvednes kā iepriekš un testējiet ar Stripe testa kartēm priekšskatījumā. Webhooks vajag jūsu lietotnes publisko URL, tāpēc publicējiet pirms galapunkta reģistrēšanas Stripe, un publicējiet vēlreiz pēc pārslēgšanās uz tiešraides atslēgām, lai tiešraides lietotne tās paņemtu. Skatiet Pieņemt maksājumus ar Stripe un Apstrādāt webhooks savā backend. Plašākam produktam kā izveidot SaaS MVP aptver to, ko veidot ap norēķiniem.

Jautājumi

Kāds ir vienkāršākais veids, kā pievienot abonementus ar Stripe?

Stripe panelī izveidojiet produktu ar regulāru cenu, nosūtiet klientus uz Stripe Checkout abonementa režīmā, apstrādājiet abonementa notikumus ar webhook un saitējiet pogu Pārvaldīt norēķinus uz Stripe mitināto klientu portālu. Tādējādi nav jāveido pašiem kartes veidlapas un plāna maiņas ekrāni.

Kādi Stripe webhook notikumi man vajadzīgi abonementiem?

Vismaz checkout.session.completed, lai saistītu jauno abonementu ar lietotāju, invoice.paid, lai apstiprinātu katru veiksmīgu maksājumu, invoice.payment_failed, lai brīdinātu par neizdevušām atjaunošanām, un customer.subscription.updated un customer.subscription.deleted, lai sekotu plānu izmaiņām un atcelšanām.

Kas notiek, kad abonementa maksājums neizdodas?

Saskaņā ar Stripe dokumentāciju uz 2026. gada septembri abonements parasti kļūst par past_due, un Stripe var mēģināt maksājumu atkārtot atbilstoši jūsu iestatījumiem. Pēc pēdējā mēģinājuma jūsu paneļa iestatījumi nosaka, vai abonements tiek atcelts, atzīmēts kā neapmaksāts vai atstāts past_due.

Vai var piedāvāt bezmaksas izmēģinājumu bez kartes pieprasīšanas?

Jā. Stripe atbalsta bezmaksas izmēģinājumus, un tā dokumentācijā aprakstīts paused statuss izmēģinājumiem, kas beidzas bez maksājuma metodes, ja tā ir iestatīts. Kartes pieprasīšana iepriekš parasti nozīmē mazāk reģistrāciju, bet vairāk maksājošu klientu; pārbaudiet, kas der jūsu produktam.

Mythex · Pricing · Veidojiet jebko ar AI · Tīmekļa vietņu un lietotņu veidnes · Mythex salīdzinājumā · AI lietotņu veidošanas glosārijs · Bezmaksas rīki lietotņu veidošanai ar 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ų Македонски മലയാളം Монгол मराठी 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 简体中文 繁體中文(香港) 繁體中文(台灣)