Vodiči

Kako dodati plaćanja u aplikaciju: Checkout, pretplate i webhook-ovi

Najjednostavniji način da dodate plaćanja u aplikaciju je Stripe: koristite Payment Link ako vam treba samo dugme „Kupi” i porudžbine možete ručno da obrađujete, Stripe Checkout ako vaša aplikacija mora da zna ko je platio i da reaguje automatski, a Checkout u režimu pretplate plus Stripe-ov portal za kupce za ponavljajuću naplatu. U svakom slučaju osim najjednostavnijeg, potreban vam je i webhook — serverska krajnja tačka koju Stripe poziva kada plaćanje uspe — i sve treba testirati Stripe test ključevima i test karticama pre prelaska na žive ključeve.

Ovaj vodič objašnjava svaku opciju, deo sa webhook-om koji većina uputstava preskače i šta proveriti pre naplate pravog novca. Podaci o Stripe-u su iz Stripe-ove sopstvene dokumentacije od septembra 2026.

Zašto uopšte koristiti provajdera plaćanja

Nikada ne prikupljajte brojeve kartica u sopstvenim formama. Rukovanje sirovim podacima o karticama vas uvodi u obim PCI DSS standarda (bezbednosnog standarda kartičarske industrije) i predstavlja ozbiljan rizik. Provajder plaćanja poput Stripe-a hostuje formu za plaćanje, čuva karticu, obrađuje bankarsku autentifikaciju i javlja vašoj aplikaciji rezultat. Vaša aplikacija vidi samo „kupac X je platio za Y”.

Ovaj vodič koristi Stripe jer je široko korišćen, dobro dokumentovan i podržan od strane većine AI alata za izradu aplikacija. Postoje i drugi provajderi, a neki deluju kao „merchant of record” i preuzimaju obradu poreza na promet umesto vas; ako vas brine poreska usklađenost, vredi uporediti taj model.

Tri načina za naplatu pomoću Stripe-a

OpcijaPotreban kodAplikacija zna ko je platio?Najbolje za
Payment LinksNemaSamo ako dodate webhookProdaju nekoliko fiksnih proizvoda, donacije, testiranje potražnje
Checkout (jednokratno)Serverski kod za kreiranje sesijeDa, preko webhook-aProdavnice, plaćena preuzimanja, jednokratne kupovine
Checkout (pretplata)Serverski kod plus obrada webhook-aDa, preko webhook-aSaaS, članstva, sve što se ponavlja

Payment Links

Payment Link je stranica za plaćanje koju hostuje Stripe, a koju pravite u Stripe kontrolnoj tabli bez koda. Dobijate URL koji možete staviti iza dugmeta u aplikaciji, podeliti u emailu ili prikazati kao QR kod. Stripe dokumentacija kaže da Payment Links mogu da prodaju proizvod, pretplatu ili prime donaciju, a možete dozvoliti kupcima da izaberu šta plaćaju ili ograničiti broj kupovina.

Kvaka: vaša aplikacija automatski ne zna da je određeni prijavljeni korisnik platio. Za stranicu za donacije ili malu prodavnicu u kojoj porudžbine ručno ispunjavate prema Stripe obaveštenjima na emailu, to je u redu. Za „plati da otključaš Pro funkcije”, nije.

Stripe Checkout

Checkout je stranica za plaćanje koju vaš server kreira na zahtev za određenu kupovinu. Vaš server kaže Stripe-u šta se kupuje (i opciono koji kupac kupuje), Stripe vraća URL, a vi šaljete kupca tamo. Stripe dokumentacija opisuje da podržava i jednokratna plaćanja i pretplate, kao punu stranicu koju hostuje Stripe, stranicu ugrađenu u vaš sajt ili ugrađenu formu.

Tok:

  1. Kupac klikne Kupi u vašoj aplikaciji.
  2. Vaš server kreira Checkout sesiju koristeći vaš tajni ključ, uključujući ID koji je povezuje sa vašim korisnikom ili porudžbinom.
  3. Kupac se preusmerava na Stripe i plaća.
  4. Stripe ga vraća na vašu stranicu za uspeh.
  5. Stripe šalje događaj checkout.session.completed vašem webhook-u, a server označava porudžbinu plaćenom ili otključava pristup.

Korak 2 mora da se odvija na serveru, jer koristi vaš tajni ključ. To je glavni razlog zašto Checkout treba backend.

Pretplate

Pretplate koriste Checkout u režimu pretplate sa ponavljajućom cenom koju podesite u Stripe-u. Prvo plaćanje radi kao tok iznad. Posle toga, obnavljanja, neuspeli pokušaji kartica, nadogradnje i otkazivanja dešavaju se tokom vremena — često kada kupac uopšte nije u vašoj aplikaciji — pa vaša aplikacija za njih saznaje samo preko webhook-ova.

Da bi kupci sami upravljali svojom pretplatom, Stripe nudi hostovani portal za kupce. Prema Stripe dokumentaciji, kupci tamo mogu da menjaju načine plaćanja i podatke za naplatu, menjaju ili otkazuju pretplate, i pregledaju i preuzimaju fakture. Podešavate ga u Stripe kontrolnoj tabli i dodajete dugme „Upravljaj naplatom” koje šalje kupca tamo. Time ne morate sami da pravite te ekrane.

Webhook-ovi: deo koji ne možete preskočiti

Webhook je HTTP zahtev koji Stripe šalje vašem serveru kada se nešto desi. (Pogledajte šta je webhook za opšti pojam.) Stripe vodič za ispunjenje je jasan: ne možete se oslanjati samo na stranicu za uspeh da biste ispunili porudžbine, jer kupac može da plati, a zatim izgubi vezu pre nego što se ta stranica učita. Za pretplate i odložene načine plaćanja, webhook-ovi su obavezni.

Događaji koje vredi obraditi

DogađajŠta značiŠta radi vaša aplikacija
checkout.session.completedCheckout je završenOznačite porudžbinu kao plaćenu ili pokrenite pristup
checkout.session.async_payment_succeededOdloženi način (poput bankarskog zaduženja) je kasnije prošaoIspunite odmah
checkout.session.async_payment_failedTo odloženo plaćanje nije uspeloObavestite kupca; nemojte ispunjavati
invoice.paidPlaćanje pretplate je uspelo, uključujući obnavljanjaProdužite pristup
invoice.payment_failedObnavljanje nije uspeloUpozorite korisnika; Stripe može da pokuša ponovo
customer.subscription.updatedPlan je promenjen, ili je otkazivanje zakazanoAžurirajte plan korisnika
customer.subscription.deletedPretplata je završenaUkinite plaćeni pristup

Pravila za ispravan webhook handler

Ovo dolazi direktno iz Stripe-ove dokumentacije za webhook-ove, a handler-i generisani AI-jem ponekad propuste neko od njih:

  • Proverite potpis. Svaki događaj uključuje Stripe-Signature zaglavlje. Vaš handler ga proverava pomoću tajne za potpisivanje krajnje tačke (počinje sa whsec_). Bez toga, bilo ko bi mogao da pošalje lažno „plaćanje uspelo” vašem serveru.
  • Koristite sirovo telo zahteva. Provere potpisa padaju ako vaš framework prvo parsira ili izmeni telo.
  • Brzo vratite 2xx odgovor, pa tek onda radite sporiji posao. Isteci vremena se računaju kao greške.
  • Obradite duplikate. Stripe može isporučiti isti događaj više puta. Beležite ID-jeve obrađenih događaja ili učinite ispunjavanje sigurnim za dvostruko izvršavanje.
  • Ne pretpostavljajte redosled. Stripe ne garantuje da će događaji stići onim redom kojim su se dogodili.
  • Očekujte ponovne pokušaje. U živom režimu Stripe ponavlja neuspele isporuke do tri dana, pa kratak prekid ne gubi plaćanja — ali vaš handler mora da se nosi sa kasnim događajima.

Webhook-ovima je potrebna javna HTTPS adresa, pa obično rade tek kada je vaša aplikacija objavljena (Stripe CLI može da prosleđuje događaje na lokalnu mašinu za programere).

Prompt koji pokriva ceo tok

Dodajte jednokratnu kupovinu pomoću Stripe Checkout za „Pro paket” (ID cene u STRIPE_PRICE_ID). Kreirajte Checkout sesiju na serveru koristeći STRIPE_SECRET_KEY iz tajni, i uključite ID prijavljenog korisnika u sesiju. Dodajte POST /api/stripe/webhook krajnju tačku koja proverava Stripe potpis pomoću STRIPE_WEBHOOK_SECRET koristeći sirovo telo zahteva, obrađuje checkout.session.completed i označava tog korisnika kao korisnika sa Pro paketom. Neka bude sigurno ako isti događaj stigne dvaput. Stranice za uspeh i otkazivanje. Nikada ne izlažite tajni ključ pregledaču.

Za pretplate dodajte: „Koristite režim pretplate sa STRIPE_PRICE_ID. Obrađujte invoice.paid, invoice.payment_failed, customer.subscription.updated i customer.subscription.deleted. Dodajte dugme Upravljaj naplatom koje otvara Stripe portal za kupce.”

Test režim

Stripe ima odvojena sandbox (test) i živa okruženja sa zasebnim ključevima. Sandbox ključevi počinju sa pk_test_, sk_test_ ili rk_test_; živi ključevi počinju sa pk_live_, sk_live_ ili rk_live_. Test transakcije ne pomeraju novac.

Korisne test kartice iz Stripe dokumentacije za testiranje (bilo koji budući datum isteka, bilo koji trocifreni CVC):

Broj karticeRezultat
4242 4242 4242 4242Plaćanje uspeva
4000 0000 0000 0002Kartica je odbijena
4000 0000 0000 3220Zahteva 3D Secure autentifikaciju, pa uspeva

Testirajte najmanje:

  • Uspešno plaćanje otključava pravu stvar za pravog korisnika
  • Odbijena kartica prikazuje jasnu poruku i ništa ne otključava
  • Zatvaranje taba pregledača odmah posle plaćanja i dalje daje pristup (ovo dokazuje da webhook radi, a ne samo stranica za uspeh)
  • Otkazivanje na Stripe stranici vraća korisnika u vašu aplikaciju bez naplate
  • Za pretplate: otkažite u portalu za kupce i proverite da pristup prestaje kada treba

Puštanje u rad

  1. Aktivirajte svoj Stripe nalog sa podacima o poslu i banci.
  2. Zamenite žive ključeve u tajnama vaše aplikacije. Stripe preporučuje ograničene ključeve sa samo dozvolama koje vaša integracija treba, umesto neograničenog tajnog ključa.
  3. Napravite krajnju tačku živog webhook-a koja pokazuje na vašu objavljenu aplikaciju. Ima sopstvenu tajnu za potpisivanje, drugačiju od test one — ažurirajte je.
  4. Ponovo napravite proizvode i cene u živom režimu; ID-jevi test režima tamo ne postoje.
  5. Napravite jednu pravu malu kupovinu i vratite novac.

Sve ključeve čuvajte u tajnama projekta, nikada u kodu ili četu. Naša lista za bezbednost detaljnije pokriva ključeve i proveru webhook-ova.

Porezi, povraćaji i papirologija

Plaćanja donose obaveze koje kod ne rešava. Ovo nije poreski savet; obratite se računovođi.

  • Porez na promet, PDV i GST. U zavisnosti od toga gde ste vi i vaši kupci, možda ćete morati da se registrujete, obračunate i prijavite porez. Stripe Tax može da izračuna i naplati porez na blagajni, prati gde vaša prodaja može stvoriti obavezu i pomaže pri registracijama i prijavama — ali odgovornost ostaje na vama. Provajderi tipa merchant of record su alternativa koja preuzima više toga.
  • Povraćaji i sporovi. Pre lansiranja odredite politiku povraćaja i postavite je na sajt. Sporovi (chargeback-ovi) se dešavaju; čuvajte evidenciju o tome šta je kupljeno i isporučeno.
  • Računi i fakture. Stripe može da šalje račune emailom; firme mogu da trebaju prave fakture.
  • Naknade. Svaki provajder naplaćuje po transakciji. Proverite trenutnu stranicu sa cenama provajdera, umesto da se oslanjate na brojke iz članaka.

Koje podešavanje odgovara vašoj aplikaciji

  • Donacije ili nekoliko proizvoda: Payment Links. Pogledajte kako napraviti sajt za donacije neprofitnih organizacija.
  • Prodavnica sa korpom: Checkout sa stavkama i webhook-om. Pogledajte kako napraviti online prodavnicu.
  • SaaS ili članstva: Checkout u režimu pretplate, webhook-ovi i portal za kupce. Pogledajte kako napraviti SaaS MVP i kako odrediti cenu SaaS proizvoda.
  • Tržište koje isplaćuje prodavce: drugačije, strože regulisano podešavanje (Stripe Connect ili slično). Planirajte to posebno.

Dodavanje plaćanja na Mythexu

Plaćanja u aplikacijama koje pravite na Mythexu koriste vaš sopstveni Stripe nalog i ključeve; ne postoji dugme „Poveži Stripe” za jednim klikom za vašu aplikaciju. Uobičajen tok:

  1. Nabavite Stripe test ključeve.
  2. Dodajte STRIPE_SECRET_KEY (a webhook tajnu kasnije) u tajne projekta — preko /secrets, podešavanja projekta ili kartice sa tajnama koju agent prikaže kada mu treba ključ.
  3. Zatražite od agenta Checkout pomoću prompta sličnog gore navedenom.
  4. Testirajte u Preview-u sa test karticama. Objavite pre registrovanja webhook-a, jer mu treba vaša javna URL adresa.
  5. Posle prelaska na žive ključeve, ponovo objavite aplikaciju da bi živa verzija preuzela ih.

Pogledajte Prihvatanje plaćanja pomoću Stripe-a i Obrada webhook-ova u vašem backend-u u dokumentaciji.

Pitanja

Koji je najlakši način da primate plaćanja u aplikaciji?

Stripe Payment Link ne traži kod: napravite ga u Stripe kontrolnoj tabli i povežite se na njega iz aplikacije. Ako vaša aplikacija mora da zna ko je platio i da automatski nešto otključa, koristite Stripe Checkout sa webhook-om.

Treba li mi webhook da bih primao plaćanja?

Ako aplikacija mora da reaguje na plaćanje — da otključa nalog, označi porudžbinu kao plaćenu ili obradi obnavljanje — onda da. Stripe dokumentacija kaže da ne možete da se oslonite samo na stranicu za uspeh, jer kupac može da plati i nikada je ne vidi. Webhook-ovi su takođe obavezni za pretplate.

Kako da testiram plaćanja bez pravog novca?

Koristite Stripe sandbox (test) API ključeve i njihove test brojeve kartica, poput 4242 4242 4242 4242 sa bilo kojim budućim datumom isteka i bilo kojim trocifrenim CVC-om. Test transakcije ne pomeraju pravi novac.

Da li Stripe umesto mene obrađuje porez na promet i PDV?

Stripe Tax može da izračuna i naplati porez na blagajni i prati gde ćete možda morati da se registrujete, ali vi ostajete odgovorni za svoje poreske obaveze. Za svoju situaciju se posavetujte sa računovođom.

Mythex · Pricing · Pravite bilo šta uz AI · Šabloni za sajtove i aplikacije · Mythex u poređenju · Rečnik pojmova za pravljenje aplikacija uz AI · Besplatni alati za pravljenje aplikacija uz 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 Shqip Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)