Průvodci

Jak přidat do aplikace platby: pokladna, předplatné a webhooky

Nejjednodušší způsob, jak přidat platby do aplikace, je Stripe. Pokud potřebujete jen tlačítko „Koupit“ a objednávky můžete vyřizovat ručně, použijte Payment Link. Pokud aplikace potřebuje vědět, kdo zaplatil, a reagovat na to automaticky, použijte Stripe Checkout. Pro opakované platby použijte Checkout v režimu předplatného a zákaznický portál Stripe. Ve všech případech kromě nejjednoduššího potřebujete také webhook, tedy serverový koncový bod, který Stripe zavolá, když platba proběhne. Vše byste měli otestovat s testovacími klíči a testovacími kartami Stripe, než přepnete na ostré klíče.

Tento průvodce vysvětluje každou možnost, část s webhooky, kterou většina návodů přeskakuje, a co zkontrolovat, než začnete přijímat skutečné peníze. Údaje o Stripe jsou z jeho vlastní dokumentace k září 2026.

Proč používat poskytovatele plateb

Nikdy nesbírejte čísla karet ve vlastních formulářích. Práce se surovými údaji o kartách vás přivede do rozsahu standardu PCI DSS (bezpečnostní standard pro kartovní průmysl) a je to velké riziko. Poskytovatel plateb jako Stripe hostuje platební formulář, ukládá kartu, řeší ověření u banky a aplikaci sdělí výsledek. Vaše aplikace vidí jen zprávu „zákazník X zaplatil za Y“.

Tento průvodce používá Stripe, protože je široce rozšířený, dobře zdokumentovaný a podporovaný většinou nástrojů pro tvorbu aplikací s AI. Existují i jiní poskytovatelé a někteří fungují jako „merchant of record“, který za vás převezme vyřizování daně z prodeje. Pokud vás daňová compliance trápí, stojí za to tento model porovnat.

Tři způsoby, jak přijímat platby přes Stripe

MožnostPotřebný kódVí vaše aplikace, kdo zaplatil?Nejvhodnější pro
Payment LinksŽádnýJen pokud přidáte webhookProdej několika pevných produktů, dary, ověřování poptávky
Checkout (jednorázový)Serverový kód pro vytvoření relaceAno, přes webhookObchody, placená stažení, jednorázové nákupy
Checkout (předplatné)Serverový kód a obsluha webhookůAno, přes webhookSaaS, členství, cokoli opakovaného

Payment Links

Payment Link je platební stránka hostovaná Stripe, kterou vytvoříte v Stripe Dashboardu bez kódu. Dostanete adresu, kterou můžete vložit za tlačítko v aplikaci, sdílet v e-mailu nebo zobrazit jako QR kód. Podle dokumentace Stripe mohou Payment Links prodávat produkt, předplatné nebo přijímat dary. Můžete nechat zákazníky vybrat, co zaplatí, nebo omezit počet nákupů.

Háček je v tom, že vaše aplikace automaticky neví, že konkrétní přihlášený uživatel zaplatil. Pro stránku s dary nebo malý obchod, kde objednávky vyřizujete ručně podle e-mailů od Stripe, to stačí. Pro „zaplať a odemkni funkce Pro“ to nestačí.

Stripe Checkout

Checkout je platební stránka, kterou váš server vytváří na vyžádání pro konkrétní nákup. Server Stripe sdělí, co se kupuje, a případně který zákazník nakupuje. Stripe vrátí adresu a vy na ni zákazníka pošlete. Podle dokumentace Stripe podporuje jednorázové platby i předplatné, a to jako celou stránku hostovanou Stripe, stránku vloženou do vašeho webu nebo vložený formulář.

Postup:

  1. Zákazník v aplikaci klikne na Koupit.
  2. Váš server vytvoří Checkout Session pomocí vašeho tajného klíče a přidá ID, které ji propojí s uživatelem nebo objednávkou.
  3. Zákazník je přesměrován na Stripe a zaplatí.
  4. Stripe ho přesměruje zpět na vaši stránku po úspěšné platbě.
  5. Stripe pošle událost checkout.session.completed na váš webhook a váš server označí objednávku jako zaplacenou nebo odemkne přístup.

Krok 2 musí proběhnout na serveru, protože používá váš tajný klíč. To je hlavní důvod, proč Checkout potřebuje backend.

Předplatné

Předplatné používá Checkout v režimu předplatného s opakovanou cenou, kterou nastavíte ve Stripe. První platba funguje podle postupu výše. Poté se v čase dějí obnovení, neúspěšné karty, upgrady a zrušení, často ve chvíli, kdy zákazník v aplikaci vůbec není. Vaše aplikace se o tom dozví jen přes webhooky.

Aby zákazníci mohli spravovat své předplatné sami, nabízí Stripe hostovaný zákaznický portál. Podle dokumentace Stripe v něm zákazníci mohou měnit platební metody a fakturační údaje, měnit nebo rušit předplatné a prohlížet a stahovat faktury. Nastavíte ho v Stripe Dashboardu a přidáte tlačítko „Spravovat fakturaci“, které zákazníka pošle do portálu. Ušetříte tím psaní těchto obrazovek.

Webhooky: část, kterou nelze přeskočit

Webhook je HTTP požadavek, který Stripe pošle na váš server, když se něco stane. Obecnou myšlenku vysvětluje co je webhook. Průvodce plněním objednávek od Stripe je jasný: nelze se spoléhat jen na stránku po úspěšné platbě, protože zákazník může zaplatit a pak ztratit připojení dřív, než se stránka načte. U předplatného a odložených platebních metod jsou webhooky nutné.

Události, které stojí za obsluhu

UdálostCo znamenáCo dělá vaše aplikace
checkout.session.completedCheckout skončilOznačí objednávku jako zaplacenou nebo spustí přístup
checkout.session.async_payment_succeededOdložená metoda (například bankovní inkaso) se později potvrdilaSplní objednávku hned
checkout.session.async_payment_failedTato odložená platba selhalaInformuje zákazníka; objednávku nesplní
invoice.paidPlatba předplatného proběhla, včetně obnoveníProdlouží přístup
invoice.payment_failedObnovení selhaloUpozorní uživatele; Stripe může zkusit znovu
customer.subscription.updatedTarif se změnil, nebo je naplánované zrušeníAktualizuje tarif uživatele
customer.subscription.deletedPředplatné skončiloOdebere placený přístup

Pravidla pro správný obslužný kód webhooku

Tyto body pocházejí přímo z dokumentace Stripe k webhookům a AI vygenerované handlery je občas přehlédnou:

  • Ověřte podpis. Každá událost obsahuje hlavičku Stripe-Signature. Váš handler ji ověří pomocí podepisovacího tajemství koncového bodu (začíná na whsec_). Bez toho by kdokoli mohl na server poslat falešné „platba proběhla“.
  • Používejte surové tělo požadavku. Kontrola podpisu selže, pokud framework tělo nejdřív zpracuje nebo upraví.
  • Odpovězte rychle kódem 2xx a pomalejší práci udělejte až potom. Časové limity se počítají jako selhání.
  • Počítejte s duplicitami. Stripe může stejnou událost doručit víckrát. Zaznamenávejte ID zpracovaných událostí, nebo udělejte plnění bezpečné i při opakování.
  • Nepředpokládejte pořadí. Stripe negarantuje, že události dorazí v pořadí, v jakém nastaly.
  • Počítejte s opakováním. V ostrém režimu Stripe opakuje neúspěšná doručení až tři dny, takže krátký výpadek nezpůsobí ztrátu plateb. Váš handler ale musí zvládnout i opožděné události.

Webhooky potřebují veřejnou adresu HTTPS, takže obvykle fungují až po publikování aplikace. Pro vývojáře umí CLI Stripe přeposílat události na lokální počítač.

Prompt, který pokryje celý postup

Přidej jednorázový nákup přes Stripe Checkout pro „Pro balíček“ (ID ceny v STRIPE_PRICE_ID). Vytvoř Checkout Session na serveru pomocí STRIPE_SECRET_KEY z tajných údajů a do relace přidej ID přihlášeného uživatele. Přidej koncový bod POST /api/stripe/webhook, který ověří podpis Stripe pomocí STRIPE_WEBHOOK_SECRET nad surovým tělem požadavku, zpracuje checkout.session.completed a označí daného uživatele jako vlastníka Pro balíčku. Ať je bezpečný, když stejná událost přijde dvakrát. Přidej stránky pro úspěch a zrušení. Tajný klíč nikdy neposílej do prohlížeče.

Pro předplatné přidej: „Použij režim předplatného s STRIPE_PRICE_ID. Obsluhuj invoice.paid, invoice.payment_failed, customer.subscription.updated a customer.subscription.deleted. Přidej tlačítko Spravovat fakturaci, které otevře zákaznický portál Stripe.“

Testovací režim

Stripe má oddělené sandboxové (testovací) a ostré prostředí s vlastními klíči. Testovací klíče začínají na pk_test_, sk_test_ nebo rk_test_, ostré na pk_live_, sk_live_ nebo rk_live_. Testovací transakce nepřesouvají žádné peníze.

Užitečné testovací karty z dokumentace Stripe (libovolné budoucí datum expirace, libovolné tříčíselné CVC):

Číslo kartyVýsledek
4242 4242 4242 4242Platba proběhne
4000 0000 0000 0002Karta je odmítnuta
4000 0000 0000 3220Vyžaduje ověření 3D Secure, pak proběhne

Otestujte alespoň:

  • Úspěšná platba odemkne správnou věc pro správného uživatele
  • Odmítnutá karta zobrazí jasnou zprávu a neodemkne nic
  • Zavření karty prohlížeče hned po platbě stále vede k přístupu (to dokazuje, že funguje webhook, ne jen stránka po úspěchu)
  • Zrušení na stránce Stripe vrátí uživatele do aplikace bez jakéhokoli zaúčtování
  • U předplatného: zrušte ho v zákaznickém portálu a ověřte, že přístup skončí, kdy má

Spuštění naostro

  1. Aktivujte svůj účet Stripe s údaji o firmě a bankovním účtu.
  2. Vložte ostré klíče do tajných údajů aplikace. Stripe doporučuje omezené klíče jen s oprávněními, která vaše integrace potřebuje, místo neomezeného tajného klíče.
  3. Vytvořte ostrý koncový bod webhooku ukazující na publikovanou aplikaci. Má vlastní podepisovací tajemství, které se liší od testovacího, takže ho aktualizujte.
  4. Znovu vytvořte produkty a ceny v ostrém režimu; ID z testovacího režimu tam neexistují.
  5. Proveďte jeden skutečný malý nákup a vraťte peníze.

Všechny klíče držte v tajných údajích projektu, nikdy v kódu ani v chatu. Kontrolní seznam zabezpečení podrobněji popisuje klíče a ověřování webhooků.

Daně, vrácení peněz a papírování

Platby přinášejí povinnosti, které kód nevyřeší. Toto není daňové poradenství, ověřte si to u účetní.

  • Daň z prodeje, DPH a GST. Podle toho, kde jste vy a vaši zákazníci, se můžete muset registrovat, účtovat daň a podávat přiznání. Stripe Tax umí daň při pokladně vypočítat a vybrat, sledovat, kde váš prodej může vyvolat povinnost, a pomoci s registracemi a přiznáními, ale odpovědnost zůstává na vás. Alternativou jsou poskytovatelé typu merchant of record, kteří toho převezmou víc.
  • Vrácení peněz a reklamace. Před spuštěním rozhodněte o podmínkách vrácení a zveřejněte je na webu. Reklamace (chargebacky) se stávají; uchovávejte záznamy o tom, co bylo koupeno a doručeno.
  • Účtenky a faktury. Stripe umí posílat účtenky e-mailem. Firmy možná budou potřebovat řádné faktury.
  • Poplatky. Každý poskytovatel účtuje za transakci. Aktuální ceny zjistěte na stránce poskytovatele, ne z článků.

Které nastavení se hodí k vaší aplikaci

  • Dary nebo hrstka produktů: Payment Links. Viz jak vytvořit web pro dary neziskové organizace.
  • Obchod s košíkem: Checkout s položkami a webhookem. Viz jak vytvořit online obchod.
  • SaaS nebo členství: Checkout v režimu předplatného, webhooky a zákaznický portál. Viz jak vytvořit MVP SaaS a jak nastavit cenu SaaS produktu.
  • Tržiště, které vyplácí prodejcům: jiné a přísněji regulované nastavení (Stripe Connect nebo podobné). Plánujte ho zvlášť.

Platby v Mythexu

Platby v aplikacích, které stavíte na Mythexu, používají váš vlastní účet a klíče Stripe. Neexistuje žádné připojení Stripe jedním kliknutím pro vaši aplikaci. Obvyklý postup:

  1. Získejte testovací klíče Stripe.
  2. Přidejte STRIPE_SECRET_KEY (a později tajemství webhooku) do tajných údajů projektu. Uděláte to přes /secrets, v nastavení projektu nebo přes kartu s tajnými údaji, kterou agent zobrazí, když klíč potřebuje.
  3. Požádejte agenta o Checkout pomocí promptu podobného tomu výše.
  4. Otestujte v Preview s testovacími kartami. Publikujte dřív, než zaregistrujete webhook, protože potřebuje vaši veřejnou adresu URL.
  5. Po přepnutí na ostré klíče publikujte znovu, aby je ostrá aplikace převzala.

V dokumentaci viz Přijímání plateb přes Stripe a Obsluha webhooků v backendu.

Otázky

Jaký je nejjednodušší způsob, jak přijímat platby v aplikaci?

Stripe Payment Link nepotřebuje žádný kód: vytvoříte ho v Stripe Dashboardu a odkážete na něj z aplikace. Pokud vaše aplikace potřebuje vědět, kdo zaplatil, a něco po platbě odemknout automaticky, použijte Stripe Checkout s webhookem.

Potřebuji webhook, abych mohl přijímat platby?

Pokud má vaše aplikace na platbu reagovat, tedy odemknout účet, označit objednávku jako zaplacenou nebo zpracovat obnovení předplatného, pak ano. Stripe v dokumentaci uvádí, že se nelze spolehnout jen na stránku po úspěšné platbě, protože zákazník ji nemusí nikdy uvidět. Webhooky jsou také nutné u předplatného.

Jak testovat platby bez skutečných peněz?

Použijte testovací klíče API ze sandboxu Stripe a jeho testovací čísla karet, například 4242 4242 4242 4242 s libovolným budoucím datem expirace a libovolným tříčíselným CVC. Testovací transakce nepřesouvají žádné skutečné peníze.

Řeší Stripe za mě DPH a daň z prodeje?

Stripe Tax může vypočítat a při pokladně vybrat daň a sledovat, kde můžete mít povinnost se registrovat. Za své daňové povinnosti ale odpovídáte dál vy. Ověřte si situaci u účetní.

Mythex · Pricing · Vytvořte cokoli s AI · Šablony webů a aplikací · Mythex v porovnání · Slovník tvorby aplikací s AI · Bezplatné nástroje pro tvorbu aplikací s AI · English

English አማርኛ العربية Български বাংলা Bosanski Català 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 Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)