Stripe integracija v Račun123 (vodič korak za korakom)
Ta vodič te bo v nekaj minutah pripeljal do tega, da se po uspešnem Stripe plačilu
račun samodejno ustvari v Račun123, po potrebi davčno potrdi in pošlje stranki.
Stripe bo po uspešnem plačilu poslal ustrezen webhook dogodek v Račun123,
Račun123 pa bo na njegovi podlagi samodejno pripravil račun.
Priporočamo eno webhook povezavo in naslednje tri dogodke:
checkout.session.completed invoice.paid charge.succeeded
Tako pokriješ klasičen Stripe Checkout, Stripe naročnine in tudi plačila,
kjer trgovina ali platforma uporablja neposreden PaymentIntent oziroma Charge flow brez Checkout Session.
Samo dodajanje dogodka charge.succeeded v Stripe webhook ni dovolj.
Če želiš, da Račun123 obdeluje tudi plačila brez Checkout seje, moraš v nastavitvah Stripe integracije
vključiti možnost Plačila brez Checkout seje (charge.succeeded).
1. Odpri Stripe integracijo v Račun123
Pojdi na Nastavitve → Več nastavitev → Integracije → Stripe.
Tukaj najdeš:
- Webhook URL
- Webhook skrivnost
- Sandbox način
- Plačila brez Checkout seje (charge.succeeded)
- nastavitev DDV za plačila brez postavk
- samodejno davčno potrjevanje
- samodejno pošiljanje računa po e-pošti
Produkcijski Webhook URL je:
https://moj.racun123.si/api/integrations/stripe-invoicing
👉 To stran pusti odprto, saj boš podatke potreboval v naslednjih korakih.
2. Dodaj webhook v Stripe
Odpri Stripe Dashboard:
Nato ustvari nov webhook oziroma event destination.
Izberi pravilen Stripe račun
Stripe te najprej vpraša, iz katerega računa želiš prejemati dogodke.
- izberi Your account
- ne izberi Connected accounts
- nato klikni Continue
Za integracijo svoje spletne trgovine uporabi svoj primarni Stripe račun.
Webhook naj posluša dogodke tvojega računa, ne dogodkov povezanih oziroma Connected računov.
Alternativa: poišči Webhooks preko iskanja
Če v meniju ne najdeš razdelka Webhooks, v Stripe iskanje vpiši
webhooks.

Kot Endpoint URL vnesi:
https://moj.racun123.si/api/integrations/stripe-invoicing
Izberi dogodke
Med dogodke dodaj:
checkout.session.completed invoice.paid charge.succeeded
Nato webhook shrani oziroma aktiviraj.
Stripe lahko uspešno plačilo glede na način integracije trgovine ali platforme
sporoči na različne načine. Z vsemi tremi dogodki lahko Račun123 pokrije več
različnih Stripe implementacij.
-
checkout.session.completed – klasičen Stripe Checkout oziroma
uspešno zaključena Checkout Session - invoice.paid – predvsem naročnine, obnovitve in Stripe Billing računi
-
charge.succeeded – uspešno plačilo tudi pri implementacijah,
kjer ni ustvarjene Checkout Session
Če pri uspešnem plačilu v Stripe vidiš
payment_intent.succeeded in
charge.succeeded, ne vidiš pa
checkout.session.completed, je to lahko povsem normalno.
Takšna platforma uporablja neposreden PaymentIntent oziroma Charge flow.
V tem primeru dodaj charge.succeeded v webhook in nato
v Račun123 vključi še nastavitev
Plačila brez Checkout seje (charge.succeeded).
3. Poveži webhook skrivnost
V Stripe odpri webhook, ki si ga pravkar ustvaril.
Pri Signing secret klikni Reveal.
Kopiraj vrednost, ki se začne z:
whsec_
Nato jo v Račun123 prilepi v polje Webhook skrivnost.
Kako preveriš, da je webhook pravilno nastavljen?
- webhook je Active
- Endpoint URL je pravilen
- izbran je Your account
- webhook ni nastavljen za Connected accounts
- dodani so priporočeni dogodki
- Webhook skrivnost whsec_… je vnesena v Račun123
4. Plačila brez Checkout seje (charge.succeeded)
Privzeti način Stripe integracije v Račun123 temelji na klasičnem
Stripe Checkout postopku.
Nekatere platforme in spletne aplikacije pa Stripe uporabljajo drugače:
plačilo ustvarijo neposredno preko PaymentIntent oziroma
Charge postopka. V takšnem primeru lahko Stripe po uspešnem
plačilu pošlje charge.succeeded, ne pa tudi
checkout.session.completed.
Možnost Plačila brez Checkout seje (charge.succeeded)
vklopi samo, če tvoja trgovina ali platforma ne uporablja običajnega
Stripe Checkout postopka in se uspešna plačila v Stripe zaključijo
predvsem z dogodkom charge.succeeded.
Ko je možnost vključena, lahko Račun123 tudi takšno uspešno plačilo prepozna
in na njegovi podlagi samodejno ustvari račun.
Zakaj nastavitev ni vključena privzeto?
Pri klasičnem Checkout postopku lahko Stripe posreduje več podatkov o nakupu,
med drugim podatke o Checkout seji in kupljenih postavkah.
Dogodek charge.succeeded pa predstavlja predvsem uspešno
izvedeno plačilo. Pri njem praviloma nimamo enake strukture postavk,
kot jo lahko dobimo iz Checkout Session.
Zato Račun123 ta način obdeluje ločeno in ga mora uporabnik
izrecno vključiti.
Če v Stripe webhook samo dodaš charge.succeeded,
nastavitev v Račun123 pa ostane izključena, bo Račun123 ta dogodek
prezrl.
5. Nastavi DDV za plačila brez postavk
Pri dogodku charge.succeeded Stripe posreduje znesek
uspešnega plačila, vendar Račun123 ne prejme nujno posameznih postavk
z njihovimi cenami in DDV stopnjami.
Zato lahko pri plačilih brez Checkout seje določiš
stopnjo DDV za plačila brez postavk.
Na voljo so ustrezne stopnje, na primer:
22 %, 9,5 %, 5 % ali 0 %.
Izberi stopnjo, ki ustreza tvoji konkretni prodaji in davčni obravnavi.
Znesek, ki ga Račun123 prejme iz Stripe, se obravnava kot
končni oziroma bruto znesek plačila.
Če izbereš DDV stopnjo, Račun123 iz tega zneska izračuna davčno osnovo
in pripadajoči DDV.
Primer pri 22 % DDV
Če Stripe sporoči uspešno plačilo v višini 100,00 €
in je nastavljena stopnja DDV 22 %, se znesek razdeli na:
- davčna osnova: 81,97 €
- DDV 22 %: 18,03 €
- skupaj: 100,00 €
Če je nastavljena stopnja 0 %, se celoten prejeti znesek
evidentira brez obračunanega DDV.
Nastavitev DDV mora ustrezati tvojemu dejanskemu poslovanju.
Če prodajaš izdelke ali storitve z različnimi DDV stopnjami znotraj
istega plačila, je priporočljivo uporabiti integracijo, ki Račun123
posreduje tudi podatke o posameznih postavkah.
6. Hitri povzetek pravilne konfiguracije
V Stripe
- Events from: Your account
-
Endpoint URL:
https://moj.racun123.si/api/integrations/stripe-invoicing -
Dogodki:
- checkout.session.completed
- invoice.paid
- charge.succeeded
V Račun123
- Webhook skrivnost whsec_…
-
če uporabljaš PaymentIntent/Charge flow:
vklopi Plačila brez Checkout seje (charge.succeeded) -
za takšna plačila nastavi ustrezno
stopnjo DDV - po potrebi vklopi Samodejno davčno potrjevanje
- po potrebi vklopi Samodejno pošiljanje računa po e-pošti
S to konfiguracijo pokriješ večino običajnih Stripe scenarijev:
enkratne nakupe, naročnine, obnovitve ter platforme, ki Stripe plačila
izvajajo neposredno preko PaymentIntent/Charge flowa.
7. Testiraj povezavo
Preden začneš z rednim poslovanjem, priporočamo test.
Če želiš preveriti dejansko produkcijsko povezavo, oddaj manjše pravo naročilo
in ga plačaj preko svojega produkcijskega Stripe računa.
Po uspešnem plačilu preveri:
- ali se je transakcija pojavila v Stripe
- katere webhook dogodke je Stripe ustvaril
- ali se je transakcija zabeležila v Račun123
- ali se je ustvaril račun
- ali so znesek, osnova in DDV pravilni
- ali je bil račun po potrebi davčno potrjen
Če je v Račun123 vključeno davčno potrjevanje, lahko na ustvarjenem računu
preveriš tudi oznaki ZOI in EOR.
je bil račun uspešno poslan v davčno potrjevanje in potrjen.
Testno in produkcijsko okolje
Pri preverjanju vedno pazi, v katerem Stripe okolju delaš.
Produkcijsko plačilo mora poslati dogodek na produkcijski webhook.
Če uporabljaš testno oziroma Sandbox okolje, preveri, da je tudi webhook
nastavljen za ustrezno okolje.
8. Vklopi avtomatiko
Ko povezava deluje, lahko v Račun123 vklopiš:
- ✅ Samodejno davčno potrjevanje
- ✅ Samodejno pošiljanje računa po e-pošti
Za davčno potrjevanje moraš imeti pravilno urejene tudi:
- namensko digitalno potrdilo
- poslovni prostor
- elektronsko napravo
- operaterja oziroma blagajnika
Ko je avtomatsko davčno potrjevanje vključeno, Račun123 ob ustvarjanju
računa izvede tudi postopek davčnega potrjevanja.
9. Kako Stripe dogodek ustvari račun?
Kateri Stripe dogodek nastane, je odvisno od načina, kako je Stripe
implementiran v tvoji spletni trgovini, platformi ali aplikaciji.
Stripe Checkout
- kupec zaključi Stripe Checkout
- Stripe ustvari checkout.session.completed
- Račun123 prejme dogodek in obdela nakup
- podatki Checkout seje se uporabijo za pripravo računa
Stripe Billing / naročnine
- Stripe ustvari oziroma plača invoice
- Stripe pošlje invoice.paid
- Račun123 obdela plačilo in ustvari račun
Direktni PaymentIntent / Charge flow
- trgovina ali platforma neposredno ustvari Stripe PaymentIntent
- ob uspešnem plačilu lahko nastane payment_intent.succeeded
- Stripe ustvari tudi charge.succeeded
-
če je v Račun123 vključena možnost
Plačila brez Checkout seje (charge.succeeded),
Račun123 takšno plačilo obdela - račun se pripravi iz zneska plačila in nastavljene DDV stopnje
Če v svojem Stripe računu ne vidiš
checkout.session.completed, to še ne pomeni,
da je s Stripe integracijo kaj narobe.
Preveri, ali ob plačilu nastaneta
payment_intent.succeeded in
charge.succeeded.
Če da, dodaj charge.succeeded v webhook in v Račun123
vključi obdelavo plačil brez Checkout seje.
Ali se lahko zaradi več dogodkov ustvarita dva računa?
Stripe lahko pri istem plačilu ustvari več povezanih dogodkov.
Na primer pri Checkout plačilu lahko nastaneta tako
checkout.session.completed kot tudi
charge.succeeded.
Račun123 pri posamezni Stripe integraciji isto plačilo obdela samo po
enem ustreznem toku. Če je plačilo že obdelano preko Checkout seje,
dogodek charge.succeeded za isto plačilo ne ustvari
dodatnega računa.
V webhooku lahko pustiš vse tri priporočene dogodke.
Račun123 poskrbi, da se isto uspešno plačilo ne obdela dvakrat.
Hitra tabela: Stripe scenarij → nastavitev
| Scenarij | Dogodek | Račun123 nastavitev |
|---|---|---|
| Klasičen Stripe Checkout | checkout.session.completed | Standardna Stripe integracija |
| Naročnina / obnova | invoice.paid | Standardna Stripe integracija |
| PaymentIntent / plačilo brez Checkout Session | charge.succeeded | Vklopi Plačila brez Checkout seje in izberi DDV stopnjo |
| Neuspešno plačilo | Ni ustreznega uspešnega dogodka | Račun se ne ustvari |
Če se račun ne ustvari – hitri pregled
1. Preveri, ali Stripe sploh pošlje dogodek
Odpri Stripe → Webhooks → svoj endpoint in preveri zadnje dogodke.
Pri uspešnem plačilu išči enega od naslednjih dogodkov:
- checkout.session.completed
- invoice.paid
- charge.succeeded
2. Vidiš payment_intent.succeeded in charge.succeeded?
Če vidiš:
payment_intent.created payment_intent.succeeded charge.succeeded
vendar ne vidiš checkout.session.completed,
tvoja trgovina ali platforma najverjetneje uporablja neposreden PaymentIntent flow.
V webhook za Račun123 dodaj charge.succeeded in nato
v nastavitvah Stripe integracije v Račun123 vključi
Plačila brez Checkout seje (charge.succeeded).
3. Preveri nastavitev DDV
Če uporabljaš plačila brez Checkout seje, preveri tudi, ali je nastavljena
ustrezna stopnja DDV za takšna plačila.
4. Preveri Your account / Connected accounts
Za običajno povezavo spletne trgovine z Račun123 mora webhook poslušati
dogodke iz Your account.
Če je webhook nastavljen za Connected accounts, ga preveri
oziroma ustvari pravilno povezavo za svoj primarni Stripe račun.
5. Preveri Webhook skrivnost
Webhook Signing secret iz Stripe mora biti pravilno prekopiran v Račun123
in se mora začeti z whsec_.
6. Preveri produkcijsko oziroma testno okolje
Preveri, da testiraš v istem okolju, za katerega je nastavljen webhook.
7. Preveri Račun123
Po uspešnem plačilu preveri:
- Stripe transakcije v integraciji
- Pregled računov
- ali se je ustvaril nov račun
- ali je znesek in DDV pravilen
- če uporabljaš fiskalizacijo, ali ima račun ZOI in EOR
Pogosta vprašanja
Ali zadostujeta checkout.session.completed in invoice.paid?
Pri številnih Stripe trgovinah da, vendar ne pri vseh.
Nekatere implementacije uporabljajo neposredni PaymentIntent oziroma Charge flow.
Zato priporočamo, da ima webhook dodan tudi
charge.succeeded.
Ali je dovolj, da v Stripe dodam charge.succeeded?
Ne. Če želiš, da Račun123 takšna plačila dejansko obdela, moraš v
Račun123 vključiti tudi možnost
Plačila brez Checkout seje (charge.succeeded).
Zakaj pri meni ni checkout.session.completed?
Najverjetneje tvoja trgovina ali platforma ne uporablja Stripe Checkout Session
za zaključek plačila.
Če ob uspešnem plačilu vidiš
payment_intent.succeeded in
charge.succeeded, je to lahko normalen način delovanja
tvoje Stripe integracije.
Zakaj moram pri charge.succeeded nastaviti DDV?
Ker pri tem dogodku Račun123 prejme predvsem podatke o uspešnem plačilu
in njegovem znesku, ne pa nujno posameznih kupljenih postavk z njihovimi
DDV stopnjami.
Z izbrano stopnjo DDV lahko Račun123 prejeti bruto znesek pravilno razdeli
na davčno osnovo in DDV.
Kaj če nisem zavezanec za DDV?
Če pri svojih računih DDV ne obračunavaš, nastavi možnost skladno s svojo
davčno obravnavo. Če nisi prepričan, katera nastavitev je pravilna,
to preveri s svojim računovodskim servisom.
Kaj če prodajam izdelke z različnimi DDV stopnjami?
Plačila brez Checkout seje so namenjena predvsem primerom, kjer je mogoče
za celoten znesek uporabiti eno ustrezno DDV stopnjo.
Če eno plačilo vsebuje več postavk z različnimi DDV stopnjami, uporabi
integracijo, ki Račun123 posreduje tudi strukturo posameznih postavk.
Ali moram dodati payment_intent.succeeded?
Za trenutno priporočeno nastavitev Račun123 uporabi
charge.succeeded.
Dogodek payment_intent.succeeded je lahko v Stripe viden
kot del istega uspešnega plačila, vendar ga za to konfiguracijo ni treba
dodatno izbrati.
Ali lahko pustim obstoječa dogodka in samo dodam charge.succeeded?
Da. Obstoječa checkout.session.completed in
invoice.paid lahko pustiš ter jima dodaš
charge.succeeded.
Če želiš, da Račun123 ta dodatni dogodek tudi uporablja, vključi še možnost
Plačila brez Checkout seje (charge.succeeded).
Ali se zaradi tega lahko ustvarita dva računa?
Ne za isto pravilno prepoznano plačilo. Stripe lahko ustvari več dogodkov,
Račun123 pa posamezno plačilo obdela samo po enem ustreznem toku.
Ali naj izberem Connected accounts?
Ne, če povezuješ svoj primarni Stripe račun oziroma svojo spletno trgovino.
Izberi Your account.
Ali se lahko račun tudi samodejno davčno potrdi?
Da. Če imaš v Stripe integraciji Račun123 vključeno
Samodejno davčno potrjevanje, bo ustvarjeni račun poslan
tudi v davčno potrjevanje.
Uspešno davčno potrditev lahko preveriš na računu po oznakah
ZOI in EOR.
Ali moram imeti davčno potrjevanje?
To je odvisno od načina plačila in konkretnega poslovanja.
Pri kartičnih in drugih zakonsko relevantnih načinih plačila preveri,
ali zate velja obveznost davčnega potrjevanja.
Več si lahko prebereš v članku:
Kdaj je davčno potrjevanje potrebno?
Potrebuješ pomoč pri Stripe integraciji?
Če se Stripe transakcija zabeleži, račun pa se ne ustvari, nam pošlji:
- screenshot dogodkov pri konkretnem Stripe plačilu
- screenshot nastavitev webhook endpointa
- screenshot Stripe nastavitev v Račun123
- podatek, ali uporabljaš Test/Sandbox ali produkcijsko okolje
Piši nam na
podpora@racun123.si
ali preko
kontaktnega obrazca
.
