Vodiči

Kako dodati plaćanja u aplikaciju: Checkout, pretplate i webhookovi

Najjednostavniji način da dodate plaćanja u aplikaciju je Stripe: koristite Payment Link ako vam treba samo dugme „Kupi“ i možete ručno obrađivati narudžbe, Stripe Checkout ako aplikacija treba znati ko je platio i reagovati automatski, te Checkout u načinu pretplate plus Stripeov portal za kupce za ponavljajuću naplatu. U svakom slučaju osim najjednostavnijeg, potreban vam je i webhook, tj. serverska adresa koju Stripe poziva kad je plaćanje uspješno, a sve treba testirati Stripeovim test ključevima i test karticama prije prelaska na žive ključeve.

Ovaj vodič objašnjava svaku opciju, dio s webhookom koji većina uputstava preskače i šta provjeriti prije naplate pravog novca. Podaci o Stripeu su iz njegove dokumentacije od septembra 2026.

Zašto uopće koristiti pružaoca usluga plaćanja

Nikad ne prikupljajte brojeve kartica u sopstvenim obrascima. Rad sa sirovim podacima o karticama uvodi vas u obaveze po PCI DSS standardu (sigurnosni standard industrije kartica) i predstavlja ozbiljan rizik. Pružalac poput Stripea hostuje obrazac za plaćanje, čuva karticu, obavlja autentifikaciju kod banke i javlja vašoj aplikaciji rezultat. Vaša aplikacija uvijek vidi samo „kupac X je platio za Y“.

Ovaj vodič koristi Stripe jer je široko korišćen, dobro dokumentovan i podržan u većini AI alata za izradu aplikacija. Postoje i drugi pružaoci, a neki djeluju kao „merchant of record“ i preuzimaju obradu poreza na promet umjesto vas; ako vas brine poreska usklađenost, vrijedi uporediti i taj model.

Tri načina za prihvatanje plaćanja preko Stripea

OpcijaPotreban kodAplikacija zna ko je platio?Najbolje za
Payment LinksNikakavSamo ako dodate webhookProdaju nekoliko fiksnih proizvoda, donacije, provjeru potražnje
Checkout (jednokratno)Serverski kod za kreiranje sesijeDa, preko webhookaProdavnice, plaćena preuzimanja, jednokratne kupovine
Checkout (pretplata)Serverski kod plus obrada webhookaDa, preko webhookaSaaS, članarine, sve što se ponavlja

Payment Links

Payment Link je stranica za plaćanje koju hostuje Stripe i koju kreirate u Stripe kontrolnoj tabli bez koda. Dobijate URL koji možete staviti iza dugmeta u aplikaciji, podijeliti u e-poruci ili prikazati kao QR kod. Stripeova dokumentacija kaže da Payment Links mogu prodavati proizvod, pretplatu ili primati donaciju, a kupci mogu birati šta plaćaju ili se može ograničiti broj kupovina.

Kvaka: vaša aplikacija automatski ne zna da je neki prijavljeni korisnik platio. Za stranicu za donacije ili malu prodavnicu gdje narudžbe ispunjavate ručno iz Stripeovih e-poruka s obavještenjima, 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 zahtjev za određenu kupovinu. Vaš server kaže Stripeu šta se kupuje (i opciono koji kupac kupuje), Stripe vraća URL, a vi kupca šaljete tamo. Stripe ga opisuje kao podršku za jednokratna plaćanja i pretplate, kao potpuno Stripeovu stranicu, stranicu ugrađenu u vaš sajt ili ugrađeni obrazac.

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 s korisnikom ili narudžbom.
  3. Kupac se preusmjerava na Stripe i plaća.
  4. Stripe ga vraća na vašu stranicu za uspjeh.
  5. Stripe šalje događaj checkout.session.completed vašem webhooku, a vaš server označava narudžbu plaćenom ili otključava pristup.

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

Pretplate

Pretplate koriste Checkout u načinu pretplate s ponavljajućom cijenom koju postavite u Stripeu. Prvo plaćanje funkcioniše kao gore opisani tok. Nakon toga, obnavljanja, neuspjele kartice, nadogradnje i otkazivanja dešavaju se tokom vremena, često kad kupac nije uopšte u vašoj aplikaciji, pa vaša aplikacija za to saznaje samo preko webhookova.

Za to da kupci sami upravljaju pretplatom, Stripe nudi hostovani portal za kupce. Prema Stripeovoj dokumentaciji, kupci tamo mogu ažurirati načine plaćanja i podatke za naplatu, promijeniti ili otkazati pretplate, te pregledati i preuzeti račune. Podešavate ga u Stripe kontrolnoj tabli i dodajete dugme „Upravljaj naplatom“ koje šalje kupca tamo. Time ne morate sami praviti te ekrane.

Webhookovi: dio koji ne možete preskočiti

Webhook je HTTP zahtjev koji Stripe šalje vašem serveru kad se nešto dogodi. (Pogledajte šta je webhook za opšti pojam.) Stripeov vodič za ispunjavanje narudžbi jasan je: ne možete se osloniti samo na stranicu za uspjeh da biste ispunili narudžbu, jer kupac može platiti pa izgubiti vezu prije nego se ta stranica učita. Za pretplate i odložene načine plaćanja webhookovi su obavezni.

Događaji koje vrijedi obraditi

DogađajŠta značiŠta radi vaša aplikacija
checkout.session.completedCheckout je završenOznači narudžbu plaćenom ili pokreni pristup
checkout.session.async_payment_succeededOdloženi način (npr. bankovno zaduženje) je kasnije prošaoIspuni odmah
checkout.session.async_payment_failedTo odloženo plaćanje nije uspjeloObavijesti kupca; nemoj ispunjavati
invoice.paidPlaćanje pretplate je uspjelo, uključujući obnavljanjaProduži pristup
invoice.payment_failedObnavljanje nije uspjeloUpozori korisnika; Stripe može pokušati ponovo
customer.subscription.updatedPlan je promijenjen ili je zakazano otkazivanjeAžuriraj korisnikov plan
customer.subscription.deletedPretplata je završenaUkloni pristup za plaćene funkcije

Pravila za ispravan handler webhooka

Ovo dolazi direktno iz Stripeove dokumentacije za webhookove, a handleri koje generiše AI ponekad nešto od toga propuste:

  • Provjerite potpis. Svaki događaj uključuje zaglavlje Stripe-Signature. Vaš handler ga provjerava pomoću tajnog ključa za potpisivanje krajnje tačke (počinje s whsec_). Bez toga bi neko mogao poslati lažnu poruku „plaćanje uspjelo“ vašem serveru.
  • Koristite sirovo tijelo zahtjeva. Provjera potpisa ne uspijeva ako okvir prvo parsira ili izmijeni tijelo.
  • Brzo vratite odgovor 2xx, a zatim obavljajte sporiji posao. Isteci vremena računaju se kao greške.
  • Obradite duplikate. Stripe može isporučiti isti događaj više puta. Bilježite ID-jeve obrađenih događaja ili napravite ispunjavanje sigurnim za dvostruko izvršavanje.
  • Ne pretpostavljajte redoslijed. Stripe ne garantuje da događaji stižu onim redom kojim su se dogodili.
  • Očekujte ponovne pokušaje. U live načinu rada Stripe ponavlja neuspjele isporuke do tri dana, pa kratak prekid ne gubi plaćanja, ali vaš handler mora podnijeti zakasnjele događaje.

Webhookovima treba javna HTTPS adresa, pa obično rade tek kad je vaša aplikacija objavljena (Stripeov CLI može proslijediti događaje na lokalni računar za programere).

Upit koji pokriva cijeli tok

Dodaj jednokratnu kupovinu sa Stripe Checkoutom za „Pro paket“ (ID cijene u STRIPE_PRICE_ID). Kreiraj Checkout sesiju na serveru koristeći STRIPE_SECRET_KEY iz tajni, i uključi ID prijavljenog korisnika u sesiju. Dodaj krajnju tačku POST /api/stripe/webhook koja provjerava Stripe potpis pomoću STRIPE_WEBHOOK_SECRET koristeći sirovo tijelo zahtjeva, obrađuje checkout.session.completed i označava tog korisnika kao korisnika Pro paketa. Neka bude sigurno ako isti događaj stigne dvaput. Stranice za uspjeh i otkazivanje. Nikad ne izlažite tajni ključ pregledniku.

Za pretplate dodajte: „Koristi način pretplate sa STRIPE_PRICE_ID. Obradi invoice.paid, invoice.payment_failed, customer.subscription.updated i customer.subscription.deleted. Dodaj dugme Upravljaj naplatom koje otvara Stripe portal za kupce.“

Test način rada

Stripe ima odvojene sandbox (test) i live okruženja s odvojenim ključevima. Sandbox ključevi počinju s pk_test_, sk_test_ ili rk_test_; live ključevi počinju s pk_live_, sk_live_ ili rk_live_. Test transakcije ne pomjeraju novac.

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

Broj karticeRezultat
4242 4242 4242 4242Plaćanje uspijeva
4000 0000 0000 0002Kartica je odbijena
4000 0000 0000 3220Potrebna je 3D Secure autentifikacija, zatim uspjeh

Testirajte barem:

  • Uspješno plaćanje otključava pravu stvar za pravog korisnika
  • Odbijena kartica prikazuje jasnu poruku i ništa ne otključava
  • Zatvaranje tab-a u pregledniku odmah nakon plaćanja i dalje daje pristup (to dokazuje da webhook radi, a ne samo stranica za uspjeh)
  • Otkazivanje na Stripe stranici vraća korisnika u vašu aplikaciju bez naplate
  • Za pretplate: otkažite u portalu za kupce i provjerite da pristup prestaje kad treba

Puštanje u rad

  1. Aktivirajte svoj Stripe račun unosom podataka o firmi i banci.
  2. Zamijenite živim ključevima u tajnama vaše aplikacije. Stripe preporučuje ograničene ključeve sa samo dozvolama koje vaša integracija treba, umjesto neograničenog tajnog ključa.
  3. Kreirajte live krajnju tačku webhooka koja pokazuje na objavljenu aplikaciju. Ona ima sopstveni tajni ključ za potpisivanje, drugačiji od test ključa — ažurirajte ga.
  4. Ponovo kreirajte proizvode i cijene u live načinu rada; test ID-jevi tamo ne postoje.
  5. Napravite jednu pravu malu kupovinu i vratite novac.

Sve ključeve držite u tajnama projekta, nikad u kodu ili chatu. Naša kontrolna lista sigurnosti detaljnije pokriva ključeve i provjeru webhookova.

Porezi, povrati i papirologija

Plaćanja donose obaveze koje kod ne rješava. Ovo nije poreski savjet; provjerite kod računovođe.

  • Porez na promet, PDV i GST. U zavisnosti od toga gdje ste vi i vaši kupci, možda ćete se morati registrovati, obračunavati i prijavljivati porez. Stripe Tax može izračunati i naplatiti porez na blagajni, pratiti gdje vaša prodaja može stvoriti obavezu i pomoći s registracijom i prijavama, ali odgovornost ostaje na vama. Merchant-of-record pružaoci su alternativa koja preuzima više tog posla.
  • Povrati i sporovi. Odlučite politiku povrata prije objavljivanja i stavite je na sajt. Sporovi (chargebackovi) se dešavaju; čuvajte evidenciju o tome šta je kupljeno i isporučeno.
  • Računi i fakture. Stripe može slati potvrde e-poštom; firme mogu trebati ispravne fakture.
  • Naknade. Svaki pružalac naplaćuje po transakciji. Provjerite trenutnu stranicu s cijenama pružaoca, a ne oslanjajte se na brojke iz članaka.

Koje podešavanje odgovara vašoj aplikaciji

  • Donacije ili nekoliko proizvoda: Payment Links. Pogledajte kako napraviti web stranicu za donacije neprofitnim organizacijama.
  • Prodavnica s korpom: Checkout sa stavkama i webhookom. Pogledajte kako napraviti online prodavnicu.
  • SaaS ili članarine: Checkout u načinu pretplate, webhookovi i portal za kupce. Pogledajte kako napraviti SaaS MVP i kako odrediti cijenu SaaS proizvoda.
  • Tržište koje isplaćuje prodavcima: drugačije, strože podešavanje (Stripe Connect ili slično). Planirajte to zasebno.

Dodavanje plaćanja na Mythexu

Plaćanja u aplikacijama koje pravite na Mythexu koriste vaš sopstveni Stripe račun i ključeve; za vašu aplikaciju ne postoji dugme „Poveži Stripe“ u jednom koraku. Uobičajeni tok:

  1. Nabavite Stripe test ključeve.
  2. Dodajte STRIPE_SECRET_KEY (a kasnije tajni ključ webhooka) u tajne projekta — preko /secrets, postavki projekta ili kartice s tajnama koju agent prikaže kad mu treba ključ.
  3. Tražite od agenta Checkout pomoću upita sličnog gornjem.
  4. Testirajte u pregledu s test karticama. Objavite prije registracije webhooka, jer mu treba vaša javna URL adresa.
  5. Nakon prelaska na live ključeve, objavite ponovo da živa aplikacija preuzme ključeve.

Pogledajte Prihvatanje plaćanja sa Stripeom i Obrada webhookova u backendu u dokumentaciji.

Pitanja

Koji je najjednostavniji način za prihvatanje plaćanja u aplikaciji?

Stripe Payment Link ne traži kod: kreirate ga u Stripe kontrolnoj tabli i povežete s aplikacijom. Ako vaša aplikacija treba znati ko je platio i automatski otključati nešto, umjesto toga koristite Stripe Checkout s webhookom.

Treba li mi webhook za prihvatanje plaćanja?

Ako vaša aplikacija mora reagovati na plaćanje, na primjer otključati nalog, označiti narudžbu plaćenom ili obraditi obnavljanje, onda da. Stripeova dokumentacija kaže da se ne možete osloniti samo na stranicu za uspjeh, jer kupac može platiti i nikada je ne vidjeti. Webhookovi su potrebni i za pretplate.

Kako testirati plaćanja bez stvarnog novca?

Koristite Stripeove sandbox (test) API ključeve i test brojeve kartica, na primjer 4242 4242 4242 4242 s bilo kojim budućim datumom isteka i bilo kojim trocifrenim CVC-om. Test transakcije ne pomjeraju stvarni novac.

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

Stripe Tax može izračunati i naplatiti porez na blagajni i pratiti gdje biste se možda trebali registrovati, ali vi ostajete odgovorni za svoje poreske obaveze. Za vašu situaciju provjerite kod računovođe.

Mythex · Pricing · Izradite bilo šta uz AI · Šabloni za web stranice i aplikacije · Mythex u poređenju · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

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