Sari la conținut
11 iulie 2026·4 min citire

Cum activezi plata ramburs doar pentru anumite județe în WooCommerce

Ghid practic: limitezi plata cash on delivery pe județe în WooCommerce, cu zone de livrare sau un snippet simplu, fără pluginuri inutile.

Ramburs-ul (cash on delivery) vinde bine în România, dar nu vrei să-l oferi peste tot. Poate curierul tău acoperă ramburs doar în anumite zone, poate ai prea multe colete refuzate în unele județe, sau vrei ramburs doar local și plată online în rest. Vestea bună: WooCommerce te lasă să faci exact asta.

Problema e că WooCommerce nu are un buton "acceptă ramburs în Cluj și Timiș, dar nu în restul țării". Metoda de plată cash on delivery se leagă de metodele de livrare, nu direct de județ. Odată ce înțelegi asta, restul e simplu. Îți arăt două căi curate: una fără cod, prin Zonele de livrare, și una cu un snippet mic care filtrează după județul din adresă. Alege-o pe cea care se potrivește magazinului tău.

De ce nu poți bifa direct "ramburs pe județ"

În WooCommerce, gateway-ul Cash on delivery (Ramburs la livrare) are o singură setare relevantă pentru restricționare: "Activează pentru metodele de livrare". Nu există un câmp de județ în setările plății.

Asta înseamnă că logica reală e:

  • Județul clientului determină în ce Zonă de livrare cade comanda.
  • Zona de livrare determină ce metode de livrare vede clientul.
  • Metoda de livrare determină dacă ramburs-ul apare sau nu.

Deci nu "activezi ramburs pe județ" direct — construiești zone pe județe și legi ramburs-ul de metodele din acele zone. Sună ocolit, dar e stabil, nu depinde de niciun plugin și nu se strică la update-uri. Pentru RO e important ca la Setări > General câmpul de adresă să ceară județul (state), altfel filtrarea nu are pe ce se baza.

Metoda 1 (fără cod): Zone de livrare + "Activează pentru metodele de livrare"

Cea mai curată abordare, recomandată dacă nu vrei să atingi cod.

  • Mergi la WooCommerce > Setări > Livrare > Zone de livrare.
  • Creează o zonă "Ramburs permis" și adaugă la ea doar județele unde accepți ramburs (ex: Cluj, Timiș, Ilfov, București). WooCommerce te lasă să adaugi state/județe individuale în regiunea zonei.
  • În acea zonă adaugă metoda de livrare pe care vrei să meargă cu ramburs (ex: "Livrare curier").
  • Creează o a doua zonă (sau folosește "Locations not covered") pentru restul țării, cu aceleași metode de livrare, dar acolo vei bloca ramburs-ul.
  • Mergi la WooCommerce > Setări > Plăți > Cash on delivery > "Activează pentru metodele de livrare" și selectează DOAR metoda din zona "Ramburs permis".

Rezultat: clientul din Cluj vede ramburs, cel din Vaslui nu. Fără cod, fără plugin.

Metoda 2 (cu cod): un snippet care filtrează după județ

Dacă zonele îți complică prea mult livrarea (ai deja tarife pe zone și nu vrei să le dublezi), poți ascunde ramburs-ul direct în funcție de județul din adresă. Pui snippet-ul în functions.php al temei child sau într-un plugin de snippeturi (Code Snippets):

```php

add_filter( 'woocommerce_available_payment_gateways', 'mpo_ramburs_pe_judete' );

function mpo_ramburs_pe_judete( $gateways ) {

if ( is_admin() && ! wp_doing_ajax() ) {

return $gateways;

}

// Județele unde ACCEPȚI ramburs (coduri WooCommerce)

$judete_permise = array( 'CJ', 'TM', 'IF', 'B' );

$judet = WC()->customer ? WC()->customer->get_shipping_state() : '';

if ( ! in_array( $judet, $judete_permise, true ) && isset( $gateways['cod'] ) ) {

unset( $gateways['cod'] );

}

return $gateways;

}

```

Codurile sunt cele din WooCommerce: Cluj = CJ, Timiș = TM, Ilfov = IF, București = B, Iași = IS, Constanța = CT etc. Schimbi lista și gata. Dacă vrei invers (ramburs peste tot, MAI PUȚIN câteva județe), pui în array județele interzise și inversezi condiția cu in_array.

Testare și capcane des întâlnite

Înainte să te bucuri că merge, verifică:

  • Testează cu adrese reale din județe diferite. Pune un produs în coș, mergi la checkout și schimbă județul de livrare — metodele de plată se actualizează prin AJAX, deci ar trebui să vezi ramburs-ul apărând și dispărând live.
  • Atenție la județul de facturare vs. livrare. Snippet-ul de mai sus se uită la județul de livrare (shipping_state). Dacă magazinul tău folosește doar adresa de facturare, schimbă în get_billing_state().
  • Cache-ul poate minți. Dacă folosești un plugin de cache sau CDN, golește-l după modificări, altfel vezi versiunea veche a checkout-ului.
  • Nu uita taxa de ramburs. Restricția pe județe rezolvă cine poate plăti cash, dar dacă vrei să adaugi un comision de ramburs, aia e o setare separată (fee pe metoda de plată sau printr-un snippet cu woocommerce_cart_calculate_fees).

Testează mereu pe un mediu de test înainte de live, mai ales dacă atingi functions.php.

Când merită să ceri ajutor (și cum lucrăm noi)

Dacă ai un singur set de reguli simplu — câteva județe cu ramburs, restul plată online — o rezolvi singur în câteva minute cu metodele de mai sus. Merită ajutor când logica devine încâlcită: ramburs doar peste o anumită valoare, altă regulă pe categorii de produse, plus taxă de ramburs variabilă pe zonă. Acolo un plugin de plăți condiționate sau cod pe măsură economisește ore și evită comenzi pierdute din reguli care se bat cap în cap.

La MPO Web Studio construim și întreținem magazine WooCommerce la distanță, pentru clienți din toată țara. Îți putem seta corect zonele, ramburs-ul pe județe și taxele, sau îți putem arăta pe demo cum ar arăta înainte să plătești ceva. Dacă vrei o mână de ajutor, scrie-ne pe WhatsApp și îți spunem sincer dacă e ceva ce faci singur în 10 minute sau chiar merită intervenție.

Întrebări frecvente

Pot accepta ramburs în toată țara, mai puțin câteva județe?+

Da. E mai simplu cu snippet-ul: pui în array județele INTERZISE și inversezi condiția — dacă județul clientului e în listă, ștergi gateway-ul cod. Cu zonele faci invers: pui excepțiile într-o zonă separată fără metoda de livrare legată de ramburs.

Ce coduri de județe folosește WooCommerce pentru România?+

Coduri scurte: Cluj CJ, Timiș TM, Ilfov IF, București B, Iași IS, Constanța CT, Brașov BV, Prahova PH, Bihor BH și așa mai departe. Le găsești complet în fișierul de state RO din WooCommerce sau uitându-te la valoarea din select-ul de județ la checkout.

Filtrarea se uită la adresa de facturare sau de livrare?+

Depinde ce alegi. În snippet, get_shipping_state() folosește adresa de livrare, iar get_billing_state() pe cea de facturare. Pentru ramburs are logică adresa de livrare, pentru că acolo ajunge coletul. Alege în funcție de ce câmpuri ceri la checkout.

E nevoie de plugin?+

Nu pentru cazurile simple. Metoda cu Zone de livrare e complet nativă în WooCommerce, iar snippet-ul cere doar acces la functions.php sau un plugin gratuit de snippeturi. Plugin dedicat de plăți condiționate merită doar când ai reguli combinate (valoare + categorie + județ).

De ce nu apare ramburs-ul deloc, deși am setat totul?+

Cel mai des: cache-ul de checkout nu s-a golit, județul clientului nu se potrivește exact cu codul din listă, sau ai lăsat câmpul de județ (state) dezactivat în Setări. Golește cache-ul și verifică pe checkout, schimbând județul, că metoda de plată se actualizează.

Ghid gratuit

7 greșeli care îți alungă clienții de pe site

Lasă-ți emailul și primești ghidul pe loc, aici. Fără spam.

Prin trimitere, ești de acord cu Politica de confidențialitate.
MEchipa MPOÎți răspundem personal

Vrei să vezi cum ar arăta site-ul firmei tale?

Scrie-ne pe WhatsApp și îți pregătim gratuit un site demonstrativ, cu numele firmei tale pe el. Îl vezi întâi și abia apoi decizi — fără nicio obligație.

Cere un site demonstrativ gratuitDe obicei îți răspundem în câteva minute