Integrare MobilPay — legacy v1.0 si migrare NETOPIA v3.0
Mentinem cont MobilPay v1.0 cu signature OPENSSL_PKCS1_PADDING pentru magazinele existente sau migram clean catre NETOPIA Payments v3.0 API. Recurring, one-click cu tokenizare si reconciliere automata pentru orice stack — WooCommerce, Next.js, PHP custom.
Integrare MobilPay completa, testata si gata de productie
Checkout integrat in flow-ul tau
Butonul 'Plateste cu cardul' pe pagina checkout existenta, fara redirect ciudat sau iframe nesigur. Browser face POST automat catre secure.mobilpay.ro cu env_key semnat, user vede pagina NETOPIA cu 3D Secure, revine pe site-ul tau cu confirmare. UX consistent pe desktop si mobile.
Signature RSA cu OPENSSL_PKCS1_PADDING
Generam request XML semnat cu cheia privata a magazinului, encriptam cu cheia publica NETOPIA folosind OPENSSL_PKCS1_PADDING. Pe return decoded XML, verificam signature inainte sa actualizam statusul. Cheile sunt stocate in env variables, nu in cod si nu in repository.
IPN handler robust si idempotent
Endpoint dedicat confirm_url care primeste POST asincron de la NETOPIA cu rezultat tranzactie. Verificare signature, decode XML, check duplicate prin order_id + status_id, update DB intr-o tranzactie. Daca NETOPIA retrimite IPN (intamplator), nu duplicam comanda. Log complet la fiecare callback.
Recurring si one-click cu tokenizare
Daca clientul accepta, salvam token-ul NETOPIA pentru cardul lui (nu numarul cardului — token-ul opac). La urmatoarea comanda, plata fara introducere card. Pentru abonamente, generare automata tranzactie lunara. Tokenul e revocabil de catre client din contul lui, conform PSD2.
Reconciliere automata cu comenzile
Job zilnic care preia raportul NETOPIA si verifica fiecare tranzactie cu statusul comenzii in DB. Daca exista discrepante (plata reusita dar comanda 'pending', sau invers) — alerta in Slack/email. Pentru e-commerce serios, asta previne pierderi de comenzi platite dar neonorate.
Conectare la e-Factura ANAF si SmartBill
Dupa confirmare plata reusita, optional declanseaza generarea automata facturii in SmartBill sau direct catre SPV ANAF (e-Factura obligatorie B2B din 2024, B2C din iulie 2025). Mapare clienti, produse, TVA si transmitere XML conform schema UBL 2.1.
Testing complet in sandbox MobilPay
Inainte de productie, rulam minim 20 scenarii in sandbox.mobilpay.ro cu carduri test NETOPIA: succes, decline insufficient funds, decline 3DS failed, timeout, IPN retrasmis, refund partial. Documentatie cu output asteptat. Switch catre secure.mobilpay.ro se face doar cand totul e green.
Cod sursa documentat si livrat
Toata logica de integrare e in codul tau, nu in serviciul nostru. Documentatie inline pentru fiecare functie critica (sign, verify, ipn), README cu instructiuni rotire chei NETOPIA, env.example cu toate variabilele. Daca maine vrei sa muti la alt dev, e direct readable.
Cum functioneaza
De la cont MobilPay la prima tranzactie live in 7-14 zile
Zilele 1-2
Discovery + credentiale sandbox
Primim de la tine: cheia privata RSA a magazinului, cheia publica NETOPIA (.cer), account ID, posid, URL-uri return si IPN dorite. Confirmam ce versiune API folosim (v1.0 legacy daca cont MobilPay vechi, v3.0 daca cont NETOPIA nou). Mapam fluxul comenzilor in DB-ul tau.
Zilele 3-5
Implementare in sandbox.mobilpay.ro
Scriem layer-ul de plata: generare XML cu order_id, amount, currency, semnare RSA cu OPENSSL_PKCS1_PADDING, POST automat catre sandbox. Parsare XML return, verificare signature, mapare status. IPN handler cu protectie idempotenta. Tot codul intra in repo-ul tau pe branch separat.
Zilele 6-8
Testing exhaustiv cu carduri test
Carduri NETOPIA sandbox: 4111... succes, 4444... decline, 4242... 3DS challenge, 4000... timeout. Verificam ca DB se actualizeaza corect, email-uri pleaca, factura SmartBill se genereaza, retry IPN nu duplicate. Output documentat pentru fiecare scenariu.
Zilele 9-11
UAT cu echipa ta
Tu si echipa ta faceti comenzi de test pe staging, vedem fluxul end-to-end, ajustam mesaje UI, validati ca facturile generate sunt corecte fiscal. Fix-uim edge cases descoperite. Toate carduri test, zero bani reali.
Zilele 12-14
Go-live + monitoring primele tranzactii
Switch credentiale catre productie (secure.mobilpay.ro), prima ta tranzactie live cu cardul tau personal pentru smoke test, apoi monitorizam primele 50 tranzactii reale. Alerting in Slack daca apar erori. 30 zile suport bug-uri inclus, raspuns sub 4h in zile lucratoare.
Detalii tehnice
Cum arata flow-ul tehnic real
Pentru cei care vor sa stie ce face exact codul. Request POST catre sandbox.mobilpay.ro pentru testing (sau secure.mobilpay.ro in productie). Semnatura request-ului folosind OPENSSL_PKCS1_PADDING cu cheia publica NETOPIA. Return handler care face XML decode si verifica signature inainte sa actualizeze statusul comenzii.
1. Request semnat catre NETOPIA
Generam XML cu order_id, amount, currency RON, return_url, confirm_url. Semnam digestul SHA1 cu cheia privata a magazinului. Encriptam payload-ul cu cheia publica NETOPIA folosind openssl_seal + OPENSSL_PKCS1_PADDING. Browser face POST automat cu env_key si data.
2. POST catre sandbox.mobilpay.ro
Pentru testing: sandbox.mobilpay.ro/sandboxsdk/order/card cu cont demo NETOPIA. Pentru productie: secure.mobilpay.ro/sdk/order/card cu credentiale reale. Switch-ul e doar pe baza URL + chei diferite, codul ramane identic.
3. IPN handler primeste XML semnat
NETOPIA face POST asincron la confirm_url cu env_key (encriptat) si data (semnat). Folosim openssl_open cu cheia privata sa decriptam, apoi parsam XML cu SimpleXML. Verificam signature inainte sa luam decizia de update.
4. Update status comanda idempotent
Check order_id + previous status in DB. Daca tranzactia e deja procesata cu status final, raspundem 200 OK fara update (idempotenta). Daca e nou, update intr-o tranzactie SQL, trigger email confirmare, generare e-Factura, raspuns XML semnat catre NETOPIA cu crc OK.
Stack suportat
Implementam MobilPay pe orice stack relevant in Romania
Versiunea API: v1.0 legacy cu OPENSSL_PKCS1_PADDING e mai costisitor decat v3.0 REST modern
Recurring sau one-click cu tokenizare: +200-400€ pentru logica si UI consimtamant
Conectare e-Factura ANAF / SmartBill: +150-300€ pentru mapare TVA si transmitere XML UBL 2.1
Multi-currency (RON, EUR, USD): +100-200€ pentru conversie si reconciliere pe valuta
Migrare de la plugin existent cu istoric comenzi: +200-500€ pentru migrare date fara duplicate
Comisionul NETOPIA (1.6-2.5%) il platesti direct la ei, nu intra in oferta noastra
Cui se potriveste
Magazine online RO cu trafic >500 comenzi/luna care vor checkout local cu BCR/BT/ING
Firme care au deja cont MobilPay v1.0 si vor mentenanta sau migrare clean la v3.0
Abonamente / SaaS cu plata recurenta care au nevoie de tokenizare NETOPIA
E-commerce B2C care vor e-Factura ANAF integrata in flow-ul de plata
Site-uri pe stack custom (Next.js, Laravel) unde plugin-urile generice nu functioneaza
Firme care vor reconciliere automata si alerting pe discrepante tranzactii
Cui NU se potriveste
Vinzi predominant international (peste 60% comenzi non-RO) — recomandam Stripe direct
Volum lunar sub 500€ — comisionul + integrarea nu se justifica, foloseste link de plata Revolut
Vrei doar plata cu cardul fara site (link de plata pur) — NETOPIA Link e self-service
Folosesti Shopify si nu accepti customizare proxy — exploreaza Stripe Shopify nativ
Cauti integrare crypto sau BNPL (Klarna, Tabby) — alta categorie de provider
Intrebari frecvente
Ce ne intreaba firmele despre integrare MobilPay
Cat costa real o integrare MobilPay si de ce variaza atat de mult pretul?
Pretul variaza intre 300€ si 1500€ pentru implementare one-off, plus eventual 0-50€/luna mentenanta. Diferenta vine din stack: pe WooCommerce cu plugin oficial NETOPIA + cont MobilPay existent ajungem la 300-450€ (configurare, testing sandbox, mapare comenzi, verificare semnatura). Pe Next.js sau PHP custom cu implementare API v1.0 sau v3.0 from scratch (signature OPENSSL_PKCS1_PADDING, return handler XML, IPN webhook, reconciliere) suntem la 800-1500€. Adauga 200-400€ daca ai nevoie de recurring sau tokenizare one-click. Comisionul tranzactional 1.6-2.5% il plateste tu direct catre NETOPIA, nu noi.
Mai are sens MobilPay v1.0 in 2026 sau ar trebui sa trec direct pe NETOPIA v3.0?
Daca incepi de la zero, mergi DIRECT pe NETOPIA Payments v3.0. Are REST API modern, documentatie clara, suport OAuth, webhook-uri JSON, dashboard nou. Daca ai deja MobilPay v1.0 in productie cu signature OPENSSL_PKCS1_PADDING si XML return, are sens sa-l pastrezi pe scurt termin pentru continuitate, dar planifica migrarea in 6-12 luni. NETOPIA a anuntat deprecation pentru API legacy si va opri eventual semnaturile vechi. Noi facem ambele: mentenanta v1.0 pana cand decizi sa migrezi, si migrare clean catre v3.0 cu zero downtime pe checkout.
Comparativ cu PayU, Stripe sau plata cu cardul direct prin banca — ce alegem?
MobilPay/NETOPIA: comision 1.6-2.5% (negociabil peste 50k€/luna), settlement 2-3 zile lucratoare, suport BCR/BT/ING/Raiffeisen nativ, e-Factura ANAF integrat. PayU Romania: comision 1.9-2.8%, settlement 1-2 zile, UI checkout mai modern. Stripe: 1.4-2.4% pentru carduri EU + 0.25€ fix, settlement 7 zile primul, apoi 2 zile, dar fara cont la banca romaneasca direct (vine la IBAN). Plata directa BCR/BT prin POS virtual: 0.8-1.5%, dar setup greu, fara recurring usor, suport tehnic slab. Recomandare: NETOPIA v3.0 pentru majoritate magazine RO, Stripe daca vinzi B2B international, PayU daca ai deja relatie comerciala.
Cat dureaza efectiv o integrare MobilPay si ce trebuie sa pregatesti tu?
Cronologic: 1) Zile 1-2 — discovery, primim de la tine credentialele sandbox NETOPIA (signature private key, public key, account ID, posid), URL-uri return si IPN, exemple de comenzi reale. 2) Zile 3-7 — implementare in sandbox, generare signature, semnare request, parsare XML return, testare cu carduri test (4111... pentru succes, 4444... pentru decline). 3) Zile 8-10 — testing end-to-end pe staging, mapare statusuri tranzactie (paid/canceled/pending) catre comenzile tale, reconciliere. 4) Zile 11-14 — UAT cu tine, switch catre productie cu credentiale reale, monitor primele 50 tranzactii. Tu pregatesti: cont MobilPay/NETOPIA activ, document confirmare cheie publica, acces FTP/SSH la site, contul de admin la CMS.
Ce face exact integrarea — pas cu pas, de la click 'plateste' pana la confirmare?
Flow tehnic complet: 1) User completeaza checkout, click 'Plateste cu cardul'. 2) Backend genereaza request XML cu order_id, amount, currency, return_url, confirm_url. 3) Semnam request-ul cu RSA folosind cheia privata a magazinului, encriptam cu cheia publica NETOPIA folosind OPENSSL_PKCS1_PADDING. 4) Browser face POST automat catre sandbox.mobilpay.ro sau secure.mobilpay.ro cu env_key si data semnata. 5) User introduce cardul pe pagina NETOPIA (3D Secure daca e cazul). 6) NETOPIA face POST asincron la confirm_url al nostru cu rezultat XML semnat. 7) Backend decode XML, verifica signature, actualizeaza statusul comenzii in DB, trimite confirmare email + e-Factura. 8) User redirectat la return_url cu mesaj succes/eroare. Toata logica e idempotenta — daca NETOPIA retrimite IPN, nu duplicam comanda.
Pe ce platforme implementati — WooCommerce, Shopify, Next.js, custom?
Suportam toate variantele relevante in RO. WooCommerce: folosim plugin oficial NETOPIA Payments (gratuit, mentenanta activa), configuram credentialele si testam. PrestaShop: modul oficial NETOPIA, similar setup. Magento 2: modul comunitar functional, dar des necesita patches. Shopify: NU are integrare nativa NETOPIA in Romania — solutie via Custom App + webhook proxy, mai scumpa (1200-1800€). Next.js / Remix / Astro custom: API route care semneaza request si gestioneaza IPN, zero plugin-uri, control total. PHP custom (Laravel, Symfony, vanilla): SDK NETOPIA oficial pe Packagist sau implementare direct cu openssl_seal. WordPress headless: NETOPIA plugin pe partea WP + frontend Next.js cu fetch catre WP REST.
Care sunt cele mai comune erori la integrare MobilPay si cum le rezolvati?
Top 5 erori reale vazute: 1) 'Cheie publica invalida' — frecvent rezolvat prin reverificare ca ai salvat cheia .cer corecta de la NETOPIA (nu copy-paste din PDF). 2) Signature mismatch la return — eroare in OPENSSL_PKCS1_PADDING vs alta padding sau ordine campuri. Fix: log raw payload + verificare cu openssl_open. 3) IPN nu ajunge — confirm_url pe HTTPS fara certificat valid sau IP blocat de WAF. Fix: whitelist IP NETOPIA + SSL valid. 4) Comenzi duplicate — handler IPN ne-idempotent. Fix: check order_id + status_id inainte de UPDATE. 5) Sume cu virgula vs punct — request trimis cu '99,90' in loc de '99.90'. Fix: number_format(amount, 2, '.', '').
Cand NU are sens sa folosesti MobilPay / NETOPIA si ce alternative iti recomandam?
NU recomandam MobilPay/NETOPIA in 4 situatii. 1) Vinzi predominant international (peste 60% comenzi non-RO) — Stripe e net superior pe checkout international si cost. 2) Faci abonamente cu prima luna gratuita si pricing dinamic — Stripe Billing sau Paddle au tooling mai matur. 3) Volumul lunar e sub 500€ — comisionul fix administrativ + costul integrarii nu se justifica, foloseste PayU cu cont express sau Revolut Business cu link de plata. 4) Vinzi servicii B2B cu facturi pe termen — direct transfer bancar + recapitulativ lunar e mai simplu. Pentru toate aceste cazuri facem analiza inainte sa scriem cod si refuzam proiectul daca nu se justifica.
Vrei integrare MobilPay sau migrare la NETOPIA v3.0?
Trimite-ne stack-ul actual (WooCommerce, Next.js, custom), versiunea API existenta si volumul lunar de tranzactii. Iti recomandam pachetul potrivit si oferta scrisa in 4h.