Pretplate su zlatni rudnik za webshop — predvidiv MRR, lojalniji kupci, viši LTV. Ali implementacija je zahtjevnija od obične prodaje. Recurring billing, prorate kod upgrade-a, dunning kad kartica ne prođe, EU SCA pravila, GDPR za pohranjene kartice. Ovo je vodič što treba znati.
Tipovi pretplata
- Simple subscription — fiksna mjesečna/godišnja cijena, isti proizvod.
- Variable subscription — više planova (Basic/Pro/Enterprise) s različitim cijenama.
- Usage-based — naplata po metricu (API calls, GB storage).
- Tier-based — Basic → Pro → Enterprise s različitim feature setima.
- Hybrid (one-time + recurring) — npr. setup fee + mjesečna naknada.
WooCommerce Subscriptions plugin
Službeni plugin od WooCommerce-a (Automattic). Najkompletniji recurring billing za WC.
Cijena: ~200 EUR/godišnje (1 sajt) ili ~400 EUR za multisite. Skupo, ali za ozbiljan pretplatnički model bezalternativan u WC ekosistemu.
Features:
- Simple, variable, grouped subscriptions.
- Free trial period.
- Sign-up fee (jednokratna naknada uz početak).
- Synchronized renewal (svi pretplatnici plaćaju prvog u mjesecu, ne datum sign-up-a).
- Manual + automatic renewals.
- Pause, cancel, switch (upgrade/downgrade) iz korisničkog accounta.
- Prorate kod switch-a.
- Coupons koji se mogu primjenjivat samo na prvi billing ili sve.
- Failed payment retry s konfigurabilnim schedule.
Alternative
YITH WooCommerce Subscription
Free verzija s osnovama, Premium (~70 EUR/god) s naprednim featurama. Solidno, jeftiniji od službenog.
SureCart
Hosted checkout sa subscription podrškom, lighter od WC. Bolji za digital products i SaaS.
WP Simple Pay + Stripe
Ako ne trebaš full WC funkcionalnost — samo Stripe checkout s recurring. Mnogo jednostavnije.
Custom Laravel + Stripe/Mollie
Za SaaS koji nije zapravo "webshop" — Laravel Cashier (Stripe ili Paddle) je gotovo rješenje za billing.
Payment gatewayji za subscriptions
Ne podržava svaki gateway recurring. Provjeri:
- Stripe — gold standard. Subscriptions API, prorate, trials, dunning, Stripe Billing dashboard. Plaća se 1.4% + 0.25 EUR za EU kartice.
- PayPal — podržava recurring (PayPal Subscriptions), ali API je manje fleksibilan. Korisno kao alternativni gateway.
- Mollie — EU-fokusiran, podržava recurring od 1.8% + 0.25 EUR.
- Adyen — enterprise.
- Lokalni hrvatski PSP-ovi — moraju explicitno podržavat recurring (token-based). PBZ Card, Monri, Corvus — provjeri specifične capabilities. Većina za recurring traži custom integraciju.
SCA / 3D Secure 2.0
EU PSD2 zakon traži Strong Customer Authentication za većinu kartičnih transakcija. Za recurring:
- Prva transakcija (sign-up) — SCA challenge obavezan. Korisnik mora autenticirat (3DS2 popup, banking app push, SMS).
- Recurring rebill — može biti exempt-ed kao "merchant-initiated transaction" (MIT) AKO si prvi put dobio explicit consent korisnika za buduće naplate.
- Promijenjena suma (npr. usage-based) — može trebat ponovni SCA, ovisi o iznosu i banci.
Stripe i Mollie automatski obrađuju SCA logiku. Lokalni PSP-ovi često zahtijevaju custom integraciju za MIT flag.
Proration
Kad korisnik mijenja plan mid-cycle, treba kalkulirat razliku:
- Upgrade (10 EUR/mj → 20 EUR/mj na pola mjeseca): naplati dodatnih 5 EUR za preostalih pola, ili produži za 1 mjesec.
- Downgrade: credit u korist sljedećeg računa, ili effective od sljedećeg cycle-a (ne refund).
- Switch frequency (mjesečno → godišnje): obično kalkulira razliku i naplati odmah.
WooCommerce Subscriptions ima ove kalkulacije built-in. Custom Laravel apps trebaju implementirat sami ili koristit Stripe Billing.
Dunning — kad kartica ne prođe
Failed payment se događa stalno — kartica je istekla, insufficient funds, banka blokirala. Dunning = sustav koji pokušava ponovno + komunicira s korisnikom.
Standard pattern:
- Pokušaj 1 (Day 0): immediate retry, email "payment failed".
- Pokušaj 2 (Day 3): retry, email s instrukcijama "update card".
- Pokušaj 3 (Day 7): retry, urgent email.
- Pokušaj 4 (Day 14): final retry, email "subscription will be cancelled".
- Day 21: cancel subscription, downgrade ili logout korisnika.
Stripe Smart Retries automatski radi optimalan retry schedule bazirano na ML-u (povisuje uspjeh za 10-20% u odnosu na fiksni schedule).
Trial periods
- Free trial — korisnik unese karticu, ali se ne naplaćuje X dana. Najbolja konverzija u plaćeno (15-30% za SaaS).
- Paid trial — 1 EUR za 7 dana, pa puna cijena. Filtrira buyers from tire-kickers.
- No-card trial — bez kartice, 14 dana. Niža konverzija (3-8%) ali viša signup conversion.
WooCommerce Subscriptions podržava sva tri. Pažljivo s "free trial bez kartice" — laka prijevara s lažnim accountima.
Cancellation experience
EU pravilo (Consumer Rights Directive 2025 update): cancel mora biti tako jednostavan koliko i sign-up. Ako registracija je 1-click, cancel mora biti 1-click. Ne smiješ zahtijevat email/poziv samo da otkažeš.
Pravilan flow:
- Korisnik klikne "Cancel" u My Account.
- Pokaži win-back ponudu ("50% off za 3 mjeseca") ili exit survey.
- Confirm cancel.
- Email potvrde + datum kad subscription stvarno staje (često end of current period).
GDPR i pohranjene kartice
Kartice se nikad ne čuvaju na tvojem serveru — to ide kroz token od PSP-a (Stripe customer ID + payment method ID). Tvoja baza ima samo te tokene, ne brojeve kartice.
Ako koristiš ovaj pattern (svi moderni PSP-ovi), PCI DSS scope je minimalan (SAQ A). Nikad ne pokušavaj sam čuvat broj kartice — full PCI compliance traži audit od ~5000 EUR/god i striktne security kontrole.
Webhook reliability
PSP-ovi (Stripe, Mollie) šalju webhookove za svaki event — payment_succeeded, payment_failed, subscription_updated. Tvoj sustav mora ih obrađivat:
- Webhook endpoint mora bit publicly reachable.
- Verify signature (Stripe-Signature header) — sprječava fake webhooks.
- Idempotency — ako Stripe pošalje isti event 2x (mreža problem), tvoj kod ne smije duplo izvršit logiku. Koristi
event.idkao idempotency key. - Respond sa 2xx HTTP brzo — Stripe će retry-at ako vraćaš 5xx. Heavy logika u queue worker, ne synchronous.
Metrics koje moraš pratit
- MRR (Monthly Recurring Revenue) — sve aktivne pretplate × njihova mjesečna vrijednost.
- ARR (Annual Recurring Revenue) — MRR × 12.
- Churn rate — % korisnika koji otkažu mjesečno. Goal: <5%.
- LTV (Lifetime Value) — koliko korisnik plati u prosjeku.
- Failed payment rate — % naplata koje propadnu prvi put.
- Recovery rate — % failed naplata koje uspješno recovera dunning.
Alati: Baremetrics, ChartMogul, ProfitWell (besplatan). Stripe Sigma za custom SQL.
WMD i webshop pretplate
Sav WMD WooCommerce hosting konfiguriran je za visok subscription throughput — Redis cache za session/cart, optimizirana wp-cron koja ne kasni s renewal jobovima, real-time backup nakon svake transakcije (UpdraftPlus + JetBackup combo). Pomažemo s integracijom WooCommerce Subscriptions, Stripe + Mollie gateway setup, dunning email automation kroz WooCommerce native ili Klaviyo, te EU SCA testing. Za enterprise klijente integriramo Laravel Cashier ako WC nije prikladan.
FAQ
Trebam li WC Subscriptions ili WC Memberships? Subscriptions = recurring billing. Memberships = access control (kome šta dopustit pristupit). Često zajedno za content sajt s paywall-om.
Kako spriječit trial abuse (isti korisnik više trial-ova)? Limit po emailu, IP-u, kartici (Stripe Radar može to). Nije savršen, ali smanjuje.
Smije li se subscription auto-renew bez dodatne potvrde u EU? Da, dok god je korisnik dao consent pri sign-up-u i upozoren prije renewal-a (neke države traže reminder 30 dana prije godišnjeg renewal-a).
Što ako klijent traži refund? Konzumerski zakon: 14 dana cooling-off period za digitalne usluge (osim ako korisnik explicitno odustane od ovog prava pri kupnji). Prorate refund za neiskorišteni dio nakon toga je interno policy.
Kako migrirat existing subscribers s drugog sustava na WooCommerce? Custom export sa starog (CSV s plan, sign-up date, next billing date, customer email). Import u WC Subscriptions kroz WP-CLI. Migracija kartica je teža — Stripe podržava migration off another platform direktno (kontakt njihov sales).
Gradiš webshop pretplate ili migriraš na WooCommerce Subscriptions? WMD postavlja cijeli stack — gateway, dunning, prorate, SCA, monitoring. Javi se preko kontakt forme.