WooCommerce · Stocuri
WooCommerce: prevenirea vânzării simultane a ultimului produs
Doi clienți au același ultim produs în coș și plătesc aproape simultan. WooCommerce rezervă stocul la crearea comenzii, dar are limite de care trebuie să știi.
- Rezervare la creare comandă
- Blocare InnoDB
- Hold stock (minute)
- Comenzi neplătite
- Limite la plăți externe
Răspuns în aceeași zi lucrătoare Ofertă fixă Fără parole
Răspuns rapid
La crearea comenzii (woocommerce_checkout_order_created), WooCommerce rezervă stocul pentru comanda în așteptare, iar codul de rezervare folosește blocare pesimistă și cere tabele InnoDB. Alți clienți văd stocul minus ce e rezervat. Rezervarea se aplică comenzilor „Pending payment” și se eliberează la plată, anulare sau expirare (setarea „Hold stock (minutes)”). Ce nu acoperă: stoc consumat de canale externe (marketplace, magazin fizic) care nu trec prin WooCommerce.
Ce ai nevoie
- Hosting cu tabele InnoDB
- „Manage stock” activ
- Setarea „Hold stock (minutes)” hotărâtă
- Un mediu de test
Pașii, pe rând
- 1Verifică „Manage stock” și produseleRezervarea funcționează doar pentru produse cu stoc gestionat.
- 2Verifică motorul de baze de dateDocumentația din cod cere tabele InnoDB pentru blocarea corectă; verifică la hosting.
- 3Setează „Hold stock (minutes)”WooCommerce → Setări → Produse → Inventar. Dacă lași câmpul gol, funcția de reținere e dezactivată pentru comenzile neplătite.
- 4Înțelege când se eliberează stoculLa plată, anulare sau finalizare comanda își eliberează rezervarea; un cron anulează comenzile neplătite după termen.
- 5Tratează canalele externeDacă vinzi și pe marketplace sau în magazin, WooCommerce nu vede acele vânzări în timp real; sincronizează stocul și păstrează un tampon de siguranță.
- 6Ia în calcul checkout-ul cu plată externăLa plățile care redirecționează clientul, comanda există deja ca „Pending payment” și ține rezervarea, deci stocul e protejat cât durează plata.
- 7Testează concurențaCu două sesiuni diferite, încearcă să cumperi ultimul produs: a doua comandă trebuie să fie refuzată cu un mesaj clar.
Mai multe detalii
Cauze frecvente și greșeli de evitatDacă pașii de mai sus nu au rezolvat problema
Două comenzi pentru ultima bucată
De ce: Rezervarea nu rulează (stoc negestionat, Hold stock gol sau tabele ne-InnoDB).
Ce faci: Verifică stocul gestionat, Hold stock și motorul bazei de date.
Stoc vândut pe canale externe
De ce: Marketplace-ul nu actualizează WooCommerce instant.
Ce faci: Sincronizează stocul și păstrează un tampon.
Stoc blocat prea mult
De ce: Hold stock prea mare pentru comenzile neplătite.
Ce faci: Redu minutele sau folosește plăți mai rapide.
Întrebări frecvente4 răspunsuri
Rezervă WooCommerce stocul în coș?
Nu în coș; rezervarea se face la crearea comenzii (checkout).
Ce înseamnă „Hold stock (minutes)”?
Cât timp ține o comandă „Pending payment” stocul rezervat; după aceea comanda e anulată și stocul revine.
Funcționează cu marketplace-uri?
Doar dacă stocul se sincronizează; WooCommerce nu vede vânzările din afară.
Mă ajutați cu stocul multicanal?
Da. Cere ofertă fixă.
Subiecte acoperite pe această pagină
- ultimul produs în stoc WooCommerce
- vânzare dublă stoc
- rezervare stoc la checkout
- InnoDB WooCommerce stoc
- Hold stock WooCommerce
Ghiduri apropiate
- WooCommerce: stocul nu scade după plasarea comenzii
- WooCommerce: stocul scade de două ori pentru aceeași comandă
- WooCommerce: restabilirea stocului la anularea comenzii
- WooCommerce: rezervarea temporară a stocului pentru plăți în așteptare
- WooCommerce: configurarea stocurilor pentru mai multe depozite
- WooCommerce: notificarea clientului când produsul revine în stoc
- WooCommerce: rezervarea temporară a stocului
- Toate ghidurile
Surse și verificare
- Codul sursă WooCommerce: rezervarea stocului (ReserveStock.php)
- Codul sursă WooCommerce: funcții de stoc (wc-stock-functions.php)
- Setări produse, secțiunea Inventar (documentație WooCommerce)
Verificat pe 5 noiembrie 2026. Denumirile din setări și pașii pot diferi între versiuni.
