Integrare Stripe România — Checkout, Elements și subscriptions
Implementăm Stripe pentru firme RO: Checkout hosted, Elements custom cu Stripe.js, Payment Links, subscriptions cu metered billing și webhook handling complet pentru payment_intent.succeeded. Fees 1.4-2.9%, fără abonament lunar. De la 300€.
Implementare Stripe completă — de la cont configurat la webhook live
Cont Stripe configurat pentru firmă RO
Setup cont Stripe cu detaliile firmei (CUI, IBAN, beneficiar real conform ANAF), verificare identitate cu acte fondator, conectare cont bancar pentru payout-uri săptămânale, configurare statement descriptor pentru extrasul de card al clienților. Documentat ce am setat și de ce.
Stripe Checkout sau Elements custom
Checkout hosted (redirect pe pagină Stripe gata făcută, conversie bună, zero PCI scope) sau Elements custom integrat în brand-ul tău cu Stripe.js client-side și PaymentIntent server. Alegerea o facem după nevoile UX vs efort. Ambele suportă 3DS automat.
Webhook handler cu verificare semnătură
Endpoint /api/webhooks/stripe care verifică obligatoriu semnătura cu stripe.webhooks.constructEvent și STRIPE_WEBHOOK_SECRET. Procesează payment_intent.succeeded pentru fulfillment, payment_intent.payment_failed pentru recovery, charge.refunded pentru contabilitate. Idempotent.
Subscriptions cu metered billing
Pentru SaaS: planuri recurente cu trial, proration la upgrade/downgrade, metered billing (Stripe Billing API) pentru cantități variabile pe lună (ex: API calls, storage GB). Customer Portal Stripe pentru self-service cancel și update card.
Refund flow în admin
Panou admin (Next.js sau WP) pentru refund total/parțial via /v1/refunds cu motiv documentat (requested_by_customer, duplicate, fraudulent). Sincronizare automată cu sistemul tău de comenzi și notificare client prin email.
Strong Customer Authentication 3DS
Handling complet 3D Secure 2 conform PSD2 SCA (Strong Customer Authentication). Stripe.js declanșează automat challenge bancar când e necesar, frontend nostru așteaptă confirmCardPayment și redirectează corect. Reduce decline rate cu 15-25%.
Integrare SmartBill pentru facturi
Conectare cu API SmartBill: la webhook payment_intent.succeeded generăm automat factură fiscală cu numele/CUI clientului (dacă e PJ) și o trimitem prin email. Compatibilă cu ANAF e-Factura pentru tranzacții B2B obligatorii din 2025.
Multi-currency și carduri internaționale
Configurare pentru a accepta plăți în EUR, RON, USD, GBP, cu conversie automată la curs Stripe (fees 1% peste exchange). Carduri Visa, Mastercard, American Express, plus Apple Pay și Google Pay pentru conversie mobilă maximă.
Cum functioneaza
De la „vreau Stripe” la primele plăți live în 1-3 săptămâni
Zilele 1-2
Discovery + alegere arhitectură
Discutăm volumul lunar estimat, currency principal, dacă vrei recurring (SaaS) sau one-off (e-commerce), unde plătesc majoritatea clienților (RO/EU/global). Alegem: Payment Links, Checkout hosted sau Elements custom. Estimăm fees Stripe lunar.
Zilele 3-4
Setup cont Stripe + verificare firmă
Creare cont Stripe România, completare detalii firmă (CUI, IBAN, beneficiar real), upload acte ANAF pentru verificare, conectare cont bancar pentru payout. Stripe verifică firma în 1-3 zile lucrătoare — în paralel începem dezvoltarea în test mode.
Zilele 5-10
Implementare endpoints + UI
Server: route /api/checkout care apelează /v1/checkout/sessions cu line_items și metadata order. Client: butoane plată sau formular Elements cu Stripe.js. Webhook handler /api/webhooks/stripe cu verificare semnătură. Pagini success/cancel cu retrieval session.
Zilele 11-13
Testare cu carduri test mode
Testare end-to-end cu carduri Stripe test (4242 4242 4242 4242 succes, 4000 0000 0000 9995 decline, 4000 0027 6000 3184 3DS required). Verificare webhook delivery cu Stripe CLI local. Testare refund flow și subscription cancel din Customer Portal.
Zilele 14-16
Go-live + monitorizare
Switch chei test → live (env vars separate), prima tranzacție reală în supervised mode cu echipa ta, monitorizare Sentry + Healthchecks.io pentru webhook, dashboard intern KPI plăți. Primele 7 zile checking zilnic, apoi monitoring automat.
Detaliu tehnic
Endpoints Stripe pe care le integrăm în arhitectura ta
/v1/checkout/sessions
Checkout Session
Creează sesiune Stripe Checkout cu line_items, metadata order ID, success_url și cancel_url. Server-side, apelat din /api/checkout route handler. Returnează URL redirect pentru client.
payment_intent.succeeded
Webhook event
Webhook handler la /api/webhooks/stripe ascultă acest event, verifică semnătura cu STRIPE_WEBHOOK_SECRET, marchează order paid în baza ta de date, declanșează fulfillment și factură SmartBill.
/v1/refunds
Refund flow
Endpoint admin pentru rambursări total sau parțial cu motiv documentat. Trimite charge.refunded webhook automat care actualizează status order și notifică client prin email.
Pe partea de client folosim Stripe.js (încărcat async pentru zero impact PageSpeed) pentru a permite formulare Elements custom în brand-ul tău, cu handling automat 3DS prin confirmCardPayment. Toate apelurile server folosesc idempotency keys pentru a evita duplicate charges la retry-uri network.
Stack suportat
Integrăm Stripe pe orice stack — alegem după cazul tău
WooCommerce
Plugin oficial Stripe Payments + customizare hooks pentru metadata order și webhook handler suplimentar pentru SmartBill.
Shopify
Gateway Stripe nativ (alternativă la Shopify Payments). Util când vrei brand transparent fără mențiuni „powered by Shopify”.
PrestaShop
Modul oficial Stripe + adaptare templates checkout pentru flow optim conversie și suport 3DS PSD2.
Magento 2
Extension oficială Stripe Payments cu suport subscriptions și marketplace multi-vendor pentru proiecte enterprise.
Next.js custom
App Router route handlers /api/checkout și /api/webhooks/stripe, Stripe SDK npm, Server Components pentru retrieval. Recomandat pentru SaaS.
Astro
API endpoints Astro pentru Stripe Checkout, integrare cu CMS headless (Sanity, Strapi) pentru produse dinamice și conversie maximă.
WordPress headless
WP back pentru gestiune produse + frontend Next.js cu Stripe.js. Best of both worlds pentru clienți non-tehnici cu site rapid.
PHP custom
stripe-php SDK oficial pentru aplicații Laravel, Symfony sau PHP vanilla. Util pentru aplicații enterprise existente unde rescrierea nu se justifică.
Preturi
Trei pachete pentru integrare Stripe — alegi după nevoile reale
Numărul de produse / planuri în catalog — peste 50 produse cresc setup-ul
Dacă vrei sau nu metered billing și prorations în subscriptions
Integrarea cu sisteme existente: SmartBill, NextUp, CRM, ANAF e-Factura
Multi-currency și carduri non-EU implică testare suplimentară
Stack-ul existent: WooCommerce e mai rapid, custom PHP legacy mai lent
Volumul de tranzacții estimat (peste 1000/lună necesită monitoring avansat)
Cerințe compliance suplimentare (PCI DSS SAQ A vs SAQ A-EP)
Brand customization la Stripe Elements (custom CSS + flow complet)
Notă fees Stripe (separate de implementare): 1.4% + 0.25€ per tranzacție pentru carduri SEPA emise în EU, 2.9% + 0.25€ pentru carduri non-EU. Fără abonament lunar, fără cost setup la Stripe. Plătești doar pe tranzacții reușite.
Cui se potrivește Stripe
SaaS-uri cu clienți internaționali și subscriptions recurente
Magazine online care vând în EUR/USD către clienți din EU/global
Marketplace-uri unde nevoie de Stripe Connect pentru split payments
Startup-uri care vor stack modern Next.js cu Stripe.js Elements
Firme care apreciază dashboard analytics + API matur peste UI românesc
Când recomandăm altceva
E-commerce 100% RO cu clienți care preferă BT Pay / Garanti — alegi NETOPIA
Volume mici (sub 500€/lună) — fixed fee 0.25€ mănâncă marja
Produse high-risk (CBD, supplements, gambling) — Stripe TOS le interzice
ONG-uri cu donații recurente low-ticket — Donorbox sau PayPal Giving
Firme care vor cash on delivery dominant (Stripe e doar online)
Cei care nu vor să gestioneze cont separat Stripe + SmartBill pentru ANAF
Întrebări frecvente
Ce ne întreabă firmele despre integrare Stripe
Cât costă real să integrezi Stripe pentru un site românesc în 2026?
Implementarea o facem între 300€ (Payment Links simple pentru abonamente sau 1-2 produse) și 1500€ (Stripe Elements custom cu Stripe.js, webhook handler complet, subscriptions cu metered billing, panou admin pentru refund-uri). Cele mai multe magazine SMB se încadrează în 600-900€ pentru Stripe Checkout hosted + webhook payment_intent.succeeded + integrare cu SmartBill pentru facturi automate. La asta se adaugă fees Stripe: 1.4% + 0.25€ pentru carduri SEPA emise în EU și 2.9% + 0.25€ pentru carduri non-EU. Nu există abonament lunar Stripe, plătești doar pe tranzacție.
Stripe vs NETOPIA Payments vs PayU — care e potrivit pentru firma mea din România?
Stripe: fees mai mici pentru SEPA (1.4% vs 2.5-3% la procesatoarele RO), API matur cu SDK pentru orice limbaj, dashboard excelent, subscriptions built-in, dar nu acceptă plata din BCR/BT direct (doar card), nu emite facturi pentru ANAF (folosești SmartBill separat). NETOPIA: integrare nativă cu băncile RO, suport BT Pay/Garanti Pay/Apple Pay local, facturare integrată, dar fees 2-2.5% și API mai puțin elegant. PayU: ceva la mijloc. Recomandare: Stripe pentru SaaS/digital + clienți internaționali, NETOPIA pentru e-commerce fizic cu clienți 100% RO.
Cât durează implementarea Stripe pe site-ul meu?
Depinde de scope: Payment Links (zero cod, doar link de plată generat în dashboard Stripe) — 1-2 zile pentru setup cont + testare. Stripe Checkout hosted (redirect către pagină Stripe) pentru magazin online — 3-7 zile cu integrare WooCommerce/Shopify și webhook. Stripe Elements custom (formular plată în site-ul tău) — 7-14 zile cu Stripe.js client-side, server route pentru PaymentIntent, webhook handler, 3DS handling. Subscriptions cu metered billing și prorations — 14-21 zile. Toate includ testare cu carduri Stripe test mode (4242 4242 4242 4242) înainte de go-live.
Ce înseamnă exact integrare Stripe — ce livrăm noi concret?
Livrăm: 1) Cont Stripe configurat cu detaliile firmei RO (CUI, IBAN, beneficiar real conform ANAF). 2) Endpoint /api/checkout care creează Stripe Checkout Session via /v1/checkout/sessions cu metadata pentru order ID. 3) Webhook handler la /api/webhooks/stripe care verifică semnătura cu STRIPE_WEBHOOK_SECRET și procesează payment_intent.succeeded, payment_intent.payment_failed, charge.refunded. 4) Pagini success și cancel cu retrieval session pentru afișare confirmare. 5) Refund flow în admin via /v1/refunds cu motiv documentat. 6) Logging Sentry pentru erori și dashboard intern cu KPI plăți. 7) Documentație pentru echipa ta.
Ce stack-uri suportați pentru integrare Stripe? WooCommerce, Shopify, Next.js, custom?
Toate. WooCommerce: plugin oficial Stripe Payments + customizare hooks pentru order metadata și webhook. Shopify: gateway Stripe nativ (dar Shopify Payments e default — Stripe doar dacă vrei brand transparent). PrestaShop și Magento 2: module oficiale + adaptare templates. Next.js / Astro custom: Stripe SDK npm (@stripe/stripe-js client + stripe Node server), App Router cu route handlers pentru /api/checkout și /api/webhooks/stripe. WordPress headless: WP Plugin pentru produse + Stripe handling în frontend Next.js. PHP custom: stripe-php SDK direct. Pentru subscriptions complex preferăm stack custom Next.js sau Astro — mai curat decât plugin-uri WordPress.
Care sunt erorile cele mai frecvente la integrare Stripe și cum le evitați?
1) Webhook fără verificare semnătură — atacatorul trimite payment_intent.succeeded fake și marchezi comanda plătită. Fix: stripe.webhooks.constructEvent(payload, sig, secret). 2) Cardul cere 3DS și flow-ul nu îl gestionează — picătură comenzilor. Fix: handleNextAction cu stripe.confirmCardPayment client-side. 3) Idempotency lipsă la PaymentIntent creation — duplicate charges la network retry. Fix: idempotency_key în header. 4) Test mode vs live mode mixed — chei amestecate, plăți care nu apar. Fix: env vars separate STRIPE_SECRET_KEY_TEST și _LIVE cu environment guards. 5) Currency hardcoded EUR când vinzi în RON — confuzii contabilitate. Fix: currency din settings firmă.
Ce suport oferiți după ce livrați integrarea Stripe?
90 zile suport bug-uri inclus în implementare: dacă picătură rate plăților sub baseline, dacă webhook nu primește events, dacă apar dispute care necesită răspuns în 7 zile Stripe — intervenim gratuit. Monitoring uptime al endpoint-ului webhook cu Healthchecks.io alertare în 2 minute dacă Stripe nu poate livra. Pentru Stripe API breaking changes (rare, anunțate cu 12 luni înainte): pachet anual 60€/lună include migrările forțate. Documentația noastră permite oricărui dev Stripe să intervină — nu te legăm. Pentru subscription churn analysis și optimizare conversie checkout: pachet consultanță separat.
Când NU recomand Stripe pentru firma mea?
Stripe nu e potrivit dacă: 1) Vinzi exclusiv în RON către clienți din România fără card internațional — NETOPIA Payments e mai potrivită cu BT Pay, Garanti BBVA local, facturare integrată ANAF e-Factura. 2) Ai volum mic (sub 500€/lună tranzacții) — fixed fee 0.25€ per tranzacție mănâncă marja. 3) Firma ta e ONG cu plăți donații recurente low-ticket — preferă Donorbox sau PayPal Giving. 4) Vinzi produse high-risk (CBD, supplements, adult, gambling) — Stripe le interzice prin TOS, cont blocat la prima sesizare. 5) Nu ai stomac pentru hold-uri 7-14 zile la primele plăți noi când Stripe verifică firma — alternativ folosește MultiSafepay sau Mollie.
Integrări complementare
Stripe e doar piesa de plăți — restul ecosistemului
Trimite-ne URL-ul site-ului, volumul lunar estimat și currency principal. Recomandăm Payment Links, Checkout sau Elements și trimitem ofertă detaliată în 4 ore.