Sari la conținut
WEBLURE

WooCommerce · Stocuri

WooCommerce: rezervarea temporară a stocului pentru plăți în așteptare

Plata cu cardul durează, iar între timp altcineva poate lua produsul. „Hold stock” ține cantitatea rezervată un număr de minute.

  • Hold stock (minutes)
  • Doar „Pending payment”
  • Gol = dezactivat
  • Anulare automată
  • Filtru de durată

Răspuns în aceeași zi lucrătoare Ofertă fixă Fără parole

Vrei să ți-o facem noi?

Doar două câmpuri. Răspundem în aceeași zi lucrătoare, cu ofertă fixă.

+ Telefon și detalii (opțional)

Răspuns rapid

WooCommerce → Setări → Produse → Inventar → „Hold stock (minutes)”: ține produsele pentru comenzile neplătite un număr de minute; la expirare, comanda în „Pending payment” este anulată, iar stocul revine. Se aplică doar comenzilor „Pending payment”, nu celor „On hold”, iar câmpul gol dezactivează funcția. În codul rezervării, durata implicită este 60 de minute și poate fi schimbată cu filtrul woocommerce_order_hold_stock_minutes.

Ce ai nevoie

  • Timpul tipic de plată al clienților
  • Metode de plată care lasă comanda în așteptare
  • Acces la setările de inventar
  • Un mediu de test

Pașii, pe rând

  1. 1Alege durataSuficientă cât să finalizeze plata clientul (de exemplu 30–60 minute pentru card), dar nu atât de mare încât să blocheze stocul inutil.
  2. 2Setează valoareaWooCommerce → Setări → Produse → Inventar → „Hold stock (minutes)”. Câmp gol = funcție dezactivată.
  3. 3Înțelege domeniulSe aplică doar comenzilor „Pending payment”. Comenzile „On hold” (de exemplu transfer bancar în așteptare) nu intră aici.
  4. 4Tratează transferul bancarLa plata prin transfer, comanda e de obicei „On hold” și stocul e deja redus; stabilește manual termenul de plată și anularea.
  5. 5Verifică anularea automatăComenzile neplătite după termen sunt anulate de un proces programat; verifică dacă cron-ul WordPress rulează.
  6. 6Modifică durata prin cod, dacă e nevoieFiltrul woocommerce_order_hold_stock_minutes permite o durată diferită pe comandă.
  7. 7TesteazăComandă cu plată abandonată: verifică rezervarea, expirarea și revenirea stocului.

Durată de rezervare diferită pe comandă (schelet)

php
add_filter('woocommerce_order_hold_stock_minutes', function ($minutes, $order) {
    if ($order->get_payment_method() === 'bacs') {
        return 24 * 60; // transfer bancar: 24 de ore
    }
    return $minutes;
}, 10, 2);

Fragmentele de cod sunt scheleturi: le adaptezi la magazinul tău și le testezi întâi pe un mediu de test (staging). Comenzile cu transfer bancar rămân de obicei „On hold”, deci acest filtru are efect doar pe fluxurile care lasă comanda în „Pending payment”; verifică pe fluxul tău.

Documentația spune că rezervarea se aplică doar la „Pending payment”; în cod, valoarea implicită a rezervării este 60 de minute, iar setarea din administrare poate fi goală (dezactivată). Verifică comportamentul pe magazinul tău, cu o comandă de test.

Nu vrei să te complici sau ai rămas blocat? Scrie-ne și o facem noi.

Scrie-ne pe WhatsAppCere ofertă

Mai multe detalii

Cauze frecvente și greșeli de evitatDacă pașii de mai sus nu au rezolvat problema
1

Comenzile neplătite nu se anulează

De ce: Hold stock e gol sau cron-ul WordPress nu rulează.

Ce faci: Setează minutele și verifică cron-ul.

2

Stocul rămâne blocat

De ce: Durată prea mare sau comenzi în stări care nu expiră.

Ce faci: Redu durata și verifică stările comenzilor.

3

Clienții pierd comanda în timpul plății

De ce: Durată prea scurtă pentru metoda de plată.

Ce faci: Mărește durata.

Întrebări frecvente4 răspunsuri
Ce se întâmplă la expirare?

Comanda „Pending payment” este anulată, iar stocul rezervat revine în disponibil.

Se aplică și la transferul bancar?

Setarea vizează „Pending payment”; comenzile „On hold” nu intră în ea.

Pot dezactiva rezervarea?

Da, lăsând câmpul „Hold stock (minutes)” gol.

Mă ajutați să setez fluxul?

Da. Cere ofertă fixă.