API-uri de plată cu cardul: bănci și procesatori pentru ecommerce customStudiu comparativ verificat din surse oficiale — 10 furnizori, scoring ponderat și recomandări pe segmente de business
Rezumat executiv
Studiul analizează zece furnizori de acceptare carduri online pentru un magazin care implementează plata în propriul cod (modul custom) în România: cinci bănci cu gateway/API (Banca Transilvania, ING, Libra, BCR/Global Payments, UniCredit) și cinci procesatori/PSP (Netopia, PayU, Stripe, EuPlătesc, Twispay/xMoney).
- Pe Developer Experience conduc procesatorii: Stripe (4.55) este etalonul tehnologic, Netopia (4.50) liderul local, PayU România (4.50) cel mai bun dev portal EN cu OAuth 2.0.
- Dintre bănci, integrarea custom realmente accesibilă o au ING WebPay (4.00, comision public 0,8%), BT iPay (3.90, module open-source), BCR/GP Webpay (3.90) și Libra/LibraPay (3.90, manual public).
- BCR procesează 100% prin Global Payments (GP Webpay), iar UniCredit prin Mastercard MPGS — API-ul nu e al băncii, ci al procesatorului terț.
- Shopify Payments este acum disponibil în România (iunie 2026); premisa istorică „nu se poate” nu mai e validă.
- Recomandare RO: Netopia sau PayU pentru un modul custom (DX bun + metode locale); ING WebPay / BT iPay pentru cont direct la bancă; Stripe pentru internațional.
Metodologie
Au fost incluși furnizorii care: (a) acceptă carduri online pentru comercianți din RO; (b) pun la dispoziție un mijloc de integrare în cod custom (API, SDK, manual tehnic public sau plugin oficial cu hooks); (c) sunt activi și licențiați în RO. Furnizorii fără niciun mijloc public de integrare au fost retrogradați la mențiuni de context.
De ce „bănci + procesatori” și nu doar bănci: un „top 10 bănci cu API public” nu poate fi completat onest — doar câteva bănci expun efectiv un API/manual; restul rutează prin procesatori. Procesatorii/PSP sunt cei care, în practică, oferă API-urile folosite de dezvoltatori.
Un API de plată „modern” în 2026 include: REST cu JSON, autentificare prin API keys/OAuth 2.0, OpenAPI, sandbox self-service, webhooks/IPN semnate (HMAC/RSA), 3-D Secure 2, tokenizare/card-on-file, recurențe, auth+capture separat, refund total/parțial prin API, SDK-uri și plugin-uri oficiale. Conformitatea PCI-DSS și SCA (PSD2) este obligatorie.
Cei 10 furnizori
Legenda capabilităților: 3DS2 · Token = tokenizare/card-on-file · Recurent = plăți recurente · Capture = auth+capture separat · Refund · IPN = webhooks/notificări semnate. DA = confirmat oficial · N/C = neconfirmat public.
Stripe
4.55Procesator / PSP · SUA · RO activ
API REST + OpenAPI, SDK în 7+ limbaje, sandbox instant
Netopia (mobilPay)
4.50Procesator / PSP · România · lider local
API v2 JSON, Apple/Google Pay, Click to Pay, app Shopify oficial
PayU România
4.50Procesator / PSP · RO · grup PayU
OAuth 2.0, dev portal EN, BNPL/rate, payouts
ING WebPay
4.00Bancă · gateway propriu · RO
Comision public 0,8%, cod PHP de referință, decontare T+1
BT iPay
3.90Bancă · gateway propriu · RO · pe infra SIBS
Module open-source oficiale, 1/2-phase, card-on-file
BCR / GP Webpay
3.90Bancă · Global Payments · RO · procesator terț
Developer Zone complet, Apple/Google Pay, multi-currency
Libra (LibraPay)
3.90Bancă · gateway propriu · RO
Manual tehnic public complet, IPN asincron, T+1; HMAC-SHA1
EuPlătesc
3.65Procesator / PSP · RO · licență IP BNR
Integrare rapidă + app Shopify, scutit de TVA; HMAC_MD5 default
Twispay / xMoney
3.60Procesator · EMI · RO · primul EMI BNR
REST API documentat, SDK PHP/Node, opțiune crypto (xMoney)
UniCredit (MPGS)
3.40Bancă · Mastercard MPGS · RO · procesator terț
API standard Mastercard MPGS, plug-and-play Fingent
Tabel comparativ complet
4.1 Caracteristici tehnice de bază
| Furnizor | Tip | API | Autentificare | Sandbox | OpenAPI | SDK | Doc publică |
|---|---|---|---|---|---|---|---|
| Stripe | PSP | Propriu | API keys / OAuth | DA | DA | Multe limbaje | DA (EN) |
| Netopia | PSP | Propriu | API token / RSA | DA | N/C | PHP/Node/Py/Go/Ruby/Java | DA (portal) |
| PayU RO | PSP | Propriu | OAuth 2.0 | DA | Parțial | Android/iOS + REST | DA (EN) |
| ING WebPay | Bancă | Propriu | Credențiale WebPay | DA | N/C | Cod PHP referință | La cerere |
| BT iPay | Bancă | Propriu (SIBS) | user/parolă + key | DA | N/C | PHP + module | GitHub / contract |
| BCR / GP Webpay | Bancă | Terț (Global Payments) | Credențiale + semnătură | DA | N/C | Scripturi PHP/Java | DA (Dev Zone) |
| EuPlătesc | PSP | Propriu | MID+KEY (HMAC) | DA | N/C | Comunitar (Node) | Limitată |
| Twispay/xMoney | PSP (EMI) | Propriu | Secret key + HMAC | DA | N/C | PHP, Node.js | DA |
| UniCredit | Bancă | Terț (MPGS) | Credențiale MPGS | DA | N/C | MPGS / Fingent | DA (MPGS) |
| LibraPay | Bancă | Propriu | HMAC-SHA1 | DA | N/C | Demo-kit .NET/PHP | DA (PDF) |
4.2 Acoperire funcțională API
| Furnizor | 3DS2 | Token | Recurent | Capture | Refund | IPN | Apple Pay | Google Pay |
|---|---|---|---|---|---|---|---|---|
| Stripe | DA | DA | DA | DA | DA | DA | DA | DA |
| Netopia | DA | DA | DA | N/C | DA | DA | DA | DA |
| PayU RO | DA | DA | DA | DA | DA | DA | DA | DA |
| ING WebPay | DA | DA | DA | N/C | DA | DA | N/C | DA |
| BT iPay | DA | DA | DA | DA | DA | DA | N/C | N/C |
| BCR / GP Webpay | DA | DA | DA | DA | DA | DA | DA | DA |
| EuPlătesc | DA | DA | DA | N/C | DA | DA | DA | N/C |
| Twispay/xMoney | DA | DA | DA | N/C | DA | DA | N/C | N/C |
| UniCredit | DA | DA | DA | DA | DA | DA | N/C | N/C |
| LibraPay | DA | N/C | DA | N/C | N/C | DA | N/C | N/C |
Scoring matrix
Șapte categorii ponderate: Funcționalitate API 25%, Developer Experience 20%, Securitate & conformitate 15%, Integrări ecommerce 15%, Metode de plată 10%, Cost & decontare 10%, Documentație & suport 5%. Scorurile reflectă maturitatea confirmabilă; elementele N/C au fost penalizate prudent.
Diferențele din vârf sunt mici și reflectă în principal Developer Experience și metodele de plată, nu funcționalitatea de bază (pe care aproape toți o au). Stripe conduce tehnologic dar pierde la metode locale și cost pe RO; Netopia și PayU sunt cele mai echilibrate alegeri locale; băncile cu API propriu (ING, BT, Libra) sunt foarte competitive la cost și decontare.
Criterii descriptive
Stripe are cel mai bun DX absolut, dar comision mai mare pe RO și fără metode locale. Netopia e liderul local (API v2, 6 SDK-uri, Apple/Google Pay, app Shopify). PayU oferă OAuth 2.0 și dev portal EN solid, dar are dualitate de documentație (GPO vs legacy).
Dintre bănci, ING WebPay e singura cu comision public (0,8%) și cod PHP de referință; BT iPay are cele mai mature module open-source oficiale; BCR/GP Webpay are Developer Zone complet (API-ul e al Global Payments); Libra/LibraPay are manual tehnic public complet, dar pe HMAC-SHA1. EuPlătesc, Twispay/xMoney și UniCredit/MPGS completează plutonul.
Analiză ecommerce
Shopify Payments este acum disponibil în România (iunie 2026): Visa/MC/Maestro/Amex + Apple/Google Pay/Shop Pay, payout RON sau EUR la T+3. Totuși, Netopia și EuPlătesc au app oficial în Shopify App Store, preferate de multe magazine RO pentru metode locale (rate, transfer, BT Pay) și conversie mai bună.
Cea mai largă acoperire oficială multi-platformă (plugin oficial pe 4+ platforme self-hosted): Netopia, BCR/GP Webpay, LibraPay, BT iPay, ING. Băncile clasice fără API public (BRD, Raiffeisen, CEC, Alpha, Garanti) nu au plugin propriu brandat — se integrează prin procesatorul lor (Romcard/SIBS).
Analiză API detaliată
Fluxul „hosted/redirect” tipic în RO: (1) magazinul construiește un payload (sumă, valută, ID comandă, URL retur/IPN) și îl semnează (HMAC sau RSA); (2) clientul e redirecționat la pagina securizată a furnizorului; (3) se face 3DS2/SCA; (4) furnizorul trimite un IPN/webhook semnat către server (independent de browser), pe care îl validezi; (5) refund/capture se fac ulterior prin API.
Autentificare modernă: Stripe (API keys + OAuth Connect), PayU (OAuth 2.0), restul folosesc semnături HMAC/RSA pe form-post. Niciun furnizor RO nu publică transparent rate-limits sau SLA — tratează IPN-ul ca sursă de adevăr, implementează idempotență pe ID comandă și retry pe webhook.
Analize individuale
Stripe (4.55)
Standardul tehnologic. Alege-l dacă vinzi internațional sau vrei cel mai curat API. Compromis: cost mai mare și lipsa metodelor locale RO.
Netopia / mobilPay (4.50)
Cea mai sigură alegere locală generalistă: DX bun, metode locale complete, Apple/Google Pay, comision sub 1%, plugin pe orice platformă.
PayU România (4.50)
Egalul Netopia pe partea tehnică, cu OAuth 2.0 și dev portal EN; preferat unde contează BNPL/rate și payouts. Atenție la dualitatea docs (GPO vs legacy).
ING WebPay (4.00)
Cea mai transparentă bancă (0,8% public, T+1, cod PHP). Excelentă dacă ai deja relație cu ING și vrei cost previzibil + integrare custom.
BT iPay (3.90)
Cea mai bună bancă pentru dezvoltatori prin modulele open-source oficiale. Lipsa AMEX și settlement T+2 sunt minusuri minore.
BCR / GP Webpay (3.90)
Soluție matură enterprise prin Global Payments, cu Developer Zone complet și Apple/Google Pay. Bună pentru comercianți mari deja la BCR.
Libra / LibraPay (3.90)
Singura bancă RO cu manual tehnic public complet și settlement T+1. Atenție la HMAC-SHA1 (algoritm vechi).
EuPlătesc (3.65)
Veteran local, foarte rapid de pornit, licențiat IP, scutit de TVA. Compromis: DX clasic (form-post) și semnătură implicită slabă (HMAC_MD5).
Twispay / xMoney (3.60)
EMI licențiat cu REST API decent și opțiune crypto; bun pentru nișe, dar ecosistem de plugin-uri mai îngust.
UniCredit / MPGS (3.40)
API Mastercard robust și internațional, dar documentație generică și mai puțin RO-specifică; potrivit dacă ești deja la UniCredit.
Top 3 pe categorii
Developer Experience
- Stripe — OpenAPI, SDK multiple, sandbox instant, docs excelente
- PayU România — OAuth 2.0, dev portal EN, Postman, REST complet
- Netopia — API v2 JSON, 6 SDK-uri oficiale, plugin-uri pe tot
Piața locală RO
- Netopia — Metode locale + Apple/Google Pay + Click to Pay
- PayU România — Carduri + BNPL/rate + online banking, retail-grade
- EuPlătesc — Rapid de pornit, rate, transfer, scutit de TVA
Cont direct la bancă
- ING WebPay — 0,8% public, T+1, 0 taxă implementare
- Libra / LibraPay — T+1, manual public, demo-kit
- BT iPay — Module open-source, cea mai mare bancă RO
Recurențe / abonamente
- Stripe — Billing / Subscriptions, cel mai complet
- PayU România — Multi-use token + MIT bine documentate
- Netopia — Token recurring / one-click
Cross-border
- Stripe — Acoperire globală, multi-currency, BNPL internațional
- PayPal — Acoperire globală + încredere cumpărători
- BCR / GP Webpay — Multi-currency, infra Global Payments
Recomandări pe segmente
Magazine mici / startup
Netopia sau EuPlătesc (app/plugin oficial, onboarding rapid, metode locale). Dacă echipa e tehnică și vinzi și extern, Stripe. Pentru modul custom, folosește fluxul hosted/redirect (PCI minim, SAQ A).
Magazine medii
PayU sau Netopia ca gateway principal, eventual cu un al doilea de rezervă. Cu volum bun și relație bancară, evaluează ING WebPay (0,8%) sau BT iPay. Tokenizare pentru one-click + IPN robust cu idempotență.
Enterprise
Strat intern de payment orchestration peste 2–3 furnizori: un acquirer bancar (BCR/GP, BT, ING) pentru cost RO + Stripe/PayU pentru internațional și recurențe + fallback automat. Negociază comisioane pe volum și SLA.
Cross-border ecommerce
Stripe ca nucleu (multi-currency, BNPL, SCA), completat cu PayPal pentru încrederea cumpărătorilor și un gateway local (Netopia/PayU) pentru clienții RO (rate, transfer).
Marketplace-uri
Stripe Connect (split payments, payouts către vânzători) este cel mai matur; PayU are payouts; Smart2Pay/Nuvei pentru enterprise cu multe metode. Verifică cerințele de licențiere dacă reții fonduri.
Cadru legal, securitate și comisioane
Plățile electronice intră sub PSD2, transpus în RO prin Legea nr. 209/2019, care impune SCA (Strong Customer Authentication) — minim 2 din 3 factori (cunoaștere, posesie, inerență), realizată în practică prin 3DS2. PSP-urile (instituții de plată / EMI) trebuie autorizate de BNR (registru public). Procesatorul tehnic istoric este Romcard (azi SIBS România); Global Payments domină acquiring-ul BCR, iar Mastercard MPGS stă în spatele UniCredit.
Recomandări de securitate: folosește 3DS2 (obligatoriu SCA); preferă hosted page/iframe + tokenizare ca să rămâi la PCI-DSS SAQ A; validează semnătura IPN (preferă RSA sau HMAC-SHA256, evită MD5/SHA1 unde poți — relevant la EuPlătesc/LibraPay); tratează webhook-ul ca sursă de adevăr; implementează idempotență și retry; nu stoca niciodată PAN/CVV în clar.
| Furnizor | Comision orientativ | Settlement | Sursă / notă |
|---|---|---|---|
| ING WebPay | 0,8%/tranzacție (public) | T+1 | pagina oficială ING |
| Netopia | ~0,99% + 0,30 lei sau 0,65–0,8% abonament | N/C | comunicat oficial |
| PayU RO | ~0,95–0,99% + 0,30 RON | lunar/bilunar | sursă secundară |
| EuPlătesc | ~1% (scutit de TVA) | N/C | sursă secundară |
| Stripe | 1,5% + 0,25 € (SEE); +1,5% internațional | 2–7 zile | pricing oficial Stripe |
| BT / Libra / BCR-GP / UniCredit | negociat (N/C public) | T+1 / next-day / T+2 | contract |
| Shopify Payments RO | depinde de planul Shopify | T+3 | Shopify Help Center |
Interval tipic: cardul domestic ~0,8%–1,2% + taxă fixă mică la procesatorii locali; Stripe pornește mai sus și crește pentru carduri internaționale — de unde regula practică: gateway local pentru clienți RO, Stripe pentru internațional.
Limitările cercetării
- Datele reflectă iunie 2026; API-urile, comisioanele și licențele se schimbă — reverifică pe sursele oficiale.
- Multe bănci (BRD, Raiffeisen, CEC, Alpha, Garanti) și unele detalii devin accesibile doar după contract de comerciant.
- Comisioanele și settlement-ul sunt rareori publicate (negociate per-merchant); cifrele sunt orientative.
- Auth+capture, OpenAPI, Apple/Google Pay, rate-limits/SLA și unele plugin-uri rămân N/C la furnizorii locali.
- Studiul acoperă acceptarea de carduri, nu Open Banking PSD2/PIS (plată din cont), exclus explicit din scop.