Jak ustawić limit czasu na opłacenie zamówienia WooCommerce – Auto-Close Old Pending Orders

Nieopłacone zamówienie potrafi zablokować ostatnią sztukę produktu, mimo że klient zamknął stronę płatności kilka sekund po kliknięciu przycisku „Kupuję i płacę”. Przy większym zapasie problem jest prawie niewidoczny. Przy produktach pojedynczych, krótkich seriach, przedsprzedaży albo sprzedaży w czasie kampanii reklamowej oznacza już realnie utracone zamówienia.

Najważniejsza decyzja zapada przed instalacją jakiejkolwiek wtyczki. WooCommerce ma własny mechanizm anulowania nieopłaconych zamówień. Rozszerzenie Auto-Close Old Pending Orders ma sens dopiero wtedy, gdy potrzebne są dodatkowe opcje: czytelne ustawianie minut, godzin i dni, ręczne uruchomienie czyszczenia, statystyki oraz powiadomienie klienta.

Trzeba też od razu rozróżnić dwa statusy. Oczekujące na płatność – Pending payment oznacza, że zamówienie powstało, ale sklep nie otrzymał potwierdzenia zapłaty. Wstrzymane – On hold jest zwykle używane przy przelewie tradycyjnym, płatności wymagającej ręcznej weryfikacji albo metodzie z opóźnionym potwierdzeniem. Auto-Close Old Pending Orders obsługuje pierwszy z tych statusów. Drugiego nie zamknie.

Wbudowany limit WooCommerce czy dodatkowa wtyczka?

Zanim zapłacisz za rozszerzenie, wejdź do:

WooCommerce → Ustawienia → Produkty → Magazyn

W tym miejscu znajduje się pole „Wstrzymuj stan magazynowy (minuty)”, w angielskim panelu oznaczone jako Hold stock (minutes). WooCommerce przechowuje w nim czas, przez jaki towar ma być zarezerwowany dla nieopłaconego zamówienia. Po przekroczeniu limitu kwalifikujące się zamówienie ze statusem Pending payment zostaje anulowane, a blokada towaru jest zwalniana. Puste pole wyłącza tę funkcję. Mechanizm nie obejmuje zamówień On hold.

Ustawienie wymaga aktywnego zarządzania magazynem. Domyślna wartość limitu wynosi 60 minut i jest to rozsądny punkt wyjścia dla sklepów obsługujących BLIK, karty oraz szybkie płatności online.

Konfiguracja podstawowa wygląda tak:

  1. Zaznacz „Włącz zarządzanie stanem magazynowym”.
  2. W polu Hold stock wpisz 60.
  3. Zapisz ustawienia.
  4. Utwórz na środowisku testowym zamówienie bez finalizowania płatności.
  5. Sprawdź, czy po upływie limitu status zmienił się na Anulowane – Cancelled, a produkt wrócił do sprzedaży.

Pole przyjmuje minuty. Dłuższe okresy trzeba przeliczyć ręcznie:

  • 24 godziny – 1440 minut,
  • 48 godzin – 2880 minut,
  • 3 dni – 4320 minut,
  • 7 dni – 10 080 minut.

Wbudowane rozwiązanie wystarczy, gdy:

  • wszystkie problematyczne zamówienia mają status Pending payment,
  • 30–60 minut jest właściwym terminem,
  • nie potrzebujesz ręcznego przycisku uruchamiającego czyszczenie,
  • nie potrzebujesz osobnych statystyk ani dodatkowego e-maila dla klienta,
  • zamówienia powstają przez standardowy checkout WooCommerce.

Dodatkowa wtyczka nie naprawi natomiast błędnie działających płatności. Jeżeli klient zapłacił przez BLIK, kartę, PayU, Przelewy24, Tpay albo PayPal, a zamówienie nadal pozostaje Pending payment, najpierw trzeba sprawdzić webhooki, komunikację z operatorem oraz notatki zamówienia. Skrócenie limitu w takim sklepie tylko przyspieszy błędne anulowanie poprawnie opłaconych zakupów.

W praktyce trzeba wtedy wejść do WooCommerce → Status → Logi i sprawdzić, czy bramka płatnicza przekazała do sklepu prawidłowe potwierdzenie transakcji.

Konfiguracja Auto-Close Old Pending Orders krok po kroku

Auto-Close Old Pending Orders for WooCommerce to płatne rozszerzenie przeznaczone do automatycznego zamykania starych zamówień ze statusem Pending payment.

Według stanu na sierpień 2026 roku roczna licencja kosztuje około 29 USD, czyli mniej więcej 105–135 zł w zależności od kursu dolara i sposobu naliczenia VAT. Plan dwuletni kosztuje około 46 USD, czyli w przybliżeniu 170–215 zł.

Wtyczka oferuje między innymi:

  • automatyczne anulowanie zamówień Pending payment,
  • limit ustawiany w minutach, godzinach lub dniach,
  • automatyczne sprawdzanie zamówień,
  • przycisk Run Now do ręcznego uruchomienia procesu,
  • opcjonalne przywracanie stanów magazynowych,
  • obsługę produktów prostych i wariantowych,
  • opcjonalny e-mail o anulowaniu,
  • statystyki dotyczące oczekujących i anulowanych zamówień.

Sama zgodność z bramkami płatniczymi wymaga właściwej interpretacji. Wtyczka nie analizuje tego, czy pieniądze faktycznie wpłynęły na konto operatora. Podejmuje decyzję na podstawie statusu zamówienia w WooCommerce.

Jeżeli bramka zmieni status na Processing, Completed albo On hold, zamówienie przestaje spełniać warunek. Jeżeli webhook nie zadziała i opłacone zamówienie pozostanie Pending payment, może zostać wybrane do anulowania. To najważniejsze ryzyko tej automatyzacji.

Instalacja bez ryzyka

Nie zaczynaj od aktywacji na sklepie produkcyjnym. Bezpieczna kolejność jest następująca:

  1. Zrób kopię bazy danych oraz zapisz listę starszych zamówień Pending payment.
  2. Zainstaluj rozszerzenie najpierw na stagingu.
  3. Sprawdź, czy staging używa tej samej wersji WooCommerce, tego samego checkoutu i tych samych wtyczek płatniczych co sklep właściwy.
  4. Dopiero po udanym teście przenieś konfigurację na produkcję.

To szczególnie ważne przy sklepach używających HPOS, checkoutu blokowego, niestandardowych integracji płatniczych albo zamówień tworzonych przez API. Jeżeli producent wtyczki nie deklaruje jednoznacznie zgodności z konkretną konfiguracją sklepu, test na kopii serwisu jest obowiązkowy.

Ustawienia wtyczki

Po instalacji przejdź do:

WooCommerce → Ustawienia → Auto-Close Old Pending Orders

Następnie:

  1. Włącz Enable Auto-Close Pending Orders.
  2. Ustaw wartość liczbową, na przykład 60.
  3. Wybierz jednostkę: Minutes, Hours albo Days.
  4. Włącz Restore Product Stock, jeżeli sklep prowadzi ilościową gospodarkę magazynową.
  5. Zdecyduj, czy klient ma otrzymywać e-mail o anulowaniu.
  6. Zapisz ustawienia.
  7. Nie naciskaj jeszcze Run Now na sklepie produkcyjnym.

Przycisk Run Now może objąć zamówienia, które już są starsze od ustawionego limitu. Przed pierwszym ręcznym uruchomieniem trzeba więc przejrzeć stare pozycje Pending payment, zwłaszcza zamówienia wystawione ręcznie, wysłane klientowi do późniejszej zapłaty albo powiązane z trwającym wyjaśnianiem transakcji.

Test, który rzeczywiście coś sprawdza

Na stagingu utwórz produkt prosty ze stanem 1 sztuka. Następnie złóż zamówienie, wybierz bramkę działającą w trybie testowym i przerwij płatność po utworzeniu zamówienia.

Po przekroczeniu limitu użyj Run Now albo poczekaj na automatyczne uruchomienie.

Sprawdź pięć elementów:

  • status zamówienia zmienił się z Pending payment na Cancelled,
  • w notatkach zamówienia pojawiła się informacja o zmianie,
  • stan produktu wrócił dokładnie z 0 do 1, a nie do 2,
  • klient otrzymał e-mail, jeżeli powiadomienie zostało włączone,
  • opłacone zamówienie testowe nie zostało naruszone.

Ten sam test powtórz dla konkretnego wariantu produktu, na przykład rozmiaru M, a nie tylko dla produktu prostego. Błędy stanów magazynowych częściej wychodzą właśnie przy wariantach zarządzanych niezależnie.

Nie ustawiaj identycznego czasu równocześnie w natywnej funkcji WooCommerce i we wtyczce. Dwa mechanizmy pracujące na tym samym progu utrudniają ustalenie, który z nich anulował zamówienie.

Podczas wdrożenia rozsądny układ to na przykład:

  • 60 minut we wtyczce jako reguła główna,
  • 180 minut w Hold stock WooCommerce jako dłuższy bezpiecznik.

Po kilku dniach i analizie notatek zamówień można zdecydować, czy drugi mechanizm jest nadal potrzebny.

Jaki czas na płatność ustawić i jak uniknąć błędnych anulowań?

Nie ma jednego dobrego limitu dla wszystkich metod płatności. Najkrótszy termin nie zawsze jest najlepszy. Zwalnia towar szybciej, ale zwiększa ryzyko anulowania zamówienia klienta, który utknął na potwierdzeniu bankowym, 3-D Secure albo wrócił do płatności po kilku minutach.

Sposób płatności lub sprzedaży Rozsądny punkt startowy Decyzja
BLIK, karta, PayU, Przelewy24, Tpay, PayPal 60 minut Najbezpieczniejszy limit początkowy. Skracaj dopiero po sprawdzeniu logów i rzeczywistych czasów potwierdzeń.
Flash sale, produkty pojedyncze, limitowany drop 30 minut Dopuszczalne po testach. Limit 15 minut jest agresywny i wymaga stabilnej bramki oraz sprawnego ponawiania płatności.
Przelew tradycyjny BACS 2–3 dni robocze Typowe zamówienie ma status On hold, więc Auto-Close Old Pending Orders go nie obsłuży. Potrzebna jest inna reguła.
SEPA Direct Debit lub płatność z opóźnionym potwierdzeniem Zgodnie z czasem operatora Nie stosuj krótkiego limitu Pending payment bez sprawdzenia przepływu statusów.
Pobranie Brak limitu płatności online Standardowy WooCommerce ustawia takie zamówienie jako Processing, więc wtyczka go nie wybierze.
Zamówienia B2B tworzone ręcznie Termin z faktury lub oferty Należy wykonać osobny test, ponieważ zachowanie zależy od sposobu utworzenia i statusu zamówienia.

Standardowy przelew bankowy w WooCommerce ustawia zamówienie jako On hold, ponieważ sprzedawca musi ręcznie potwierdzić wpływ pieniędzy. Pobranie przechodzi natomiast do Processing. To oznacza, że Auto-Close Old Pending Orders nie powinien automatycznie zamykać tych zamówień, dopóki nie mają statusu Pending payment.

Limit nie oznacza anulowania co do minuty

Auto-Close Old Pending Orders sprawdza zamówienia okresowo. Ustawione 30 minut jest więc progiem kwalifikacji, a nie precyzyjnym zegarem odliczającym przy każdym zamówieniu.

Przy sprawdzaniu raz na godzinę:

  • limit 15 minut może oznaczać anulowanie po około 15–75 minutach,
  • limit 30 minut może oznaczać anulowanie po około 30–90 minutach,
  • limit 60 minut może oznaczać anulowanie po około 60–120 minutach.

Do tego może dojść opóźnienie WP-Cron. WordPress nie uruchamia tego mechanizmu nieprzerwanie jak klasyczny cron serwerowy. W sklepie z małym ruchem wykonanie zadania może nastąpić później.

Na hostingu można uruchamiać systemowe wywołanie WP-Cron co 5–15 minut. Nie sprawi to jednak, że sama wtyczka zacznie analizować zamówienia częściej, niż przewiduje jej harmonogram. Ograniczy jedynie dodatkowe opóźnienie wynikające z braku odwiedzin.

Prosta diagnostyka wygląda tak:

  • Run Now działa, automat nie działa – sprawdź WP-Cron.
  • Run Now nie zmienia zamówienia – sprawdź status, wiek zamówienia i zapis ustawień.
  • Opłacone zamówienia pozostają Pending payment – sprawdź bramkę, webhook i odpowiedź operatora.
  • Stan magazynowy nie wraca – sprawdź zarządzanie magazynem na poziomie globalnym, produktu i wariantu.
  • Stan wraca podwójnie – wyłącz nakładające się automatyzacje i powtórz test na stagingu.

Spóźniona płatność jest najpoważniejszym ryzykiem

Zmiana statusu zamówienia na Cancelled nie jest równoznaczna ze zwrotem pieniędzy. Jeżeli operator płatniczy potwierdzi transakcję już po automatycznym anulowaniu, trzeba porównać status w WooCommerce z panelem operatora.

Zamówienie anulowane może wymagać ręcznego albo automatycznego zwrotu, zależnie od użytej bramki. Sam status Cancelled nie gwarantuje, że klient odzyska środki bez dodatkowej operacji.

Dlatego nie ustawiaj 15 minut tylko dlatego, że płatność BLIK zwykle trwa kilkanaście sekund. Najpierw przejrzyj co najmniej kilkadziesiąt nieudanych i opóźnionych płatności. Jeżeli potwierdzenia zawsze pojawiają się w ciągu kilku minut, a klienci mają widoczny przycisk ponowienia płatności, można zejść z 60 do 30 minut.

Jeżeli w logach występują opóźnienia webhooków, pozostaw 60 minut i usuń przyczynę techniczną. Automatyczne anulowanie nie powinno maskować problemu z integracją płatniczą.

Termin powinien być również widoczny dla klienta. Gdy sklep anuluje zamówienia po godzinie, informacja powinna znaleźć się przy metodzie płatności, na stronie podziękowania albo w e-mailu o przyjęciu zamówienia. Ukryty limit prowadzi do reklamacji typu „zapłaciłem po dwóch godzinach, a zamówienie zniknęło”, nawet gdy automatyzacja zadziałała zgodnie z konfiguracją.

Pierwsze wdrożenie powinno być zachowawcze: 60 minut dla płatności natychmiastowych, jeden produkt prosty i jeden wariant testowy, kontrola stanów oraz ręczne sprawdzenie kilku anulowanych zamówień następnego dnia. Dopiero potem warto skracać czas.

FAQ – limit płatności i automatyczne anulowanie zamówień

Czy Auto-Close Old Pending Orders jest niezbędne do ustawienia limitu płatności?
Nie. Podstawowy WooCommerce ma opcję Hold stock, która anuluje kwalifikujące się zamówienia Pending payment i zwalnia zarezerwowany towar.

Jaki limit ustawić na początku dla BLIK-u, karty i szybkiego przelewu?
Ustaw 60 minut. Po analizie logów płatności i przetestowaniu ponawiania transakcji można zejść do 30 minut. Limit 15 minut zostaw dla sprzedaży o bardzo ograniczonym stanie i stabilnej bramki.

Czy wtyczka anuluje zamówienia opłacane przelewem tradycyjnym?
Zwykle nie. Standardowy przelew bankowy WooCommerce nadaje status On hold, a rozszerzenie obsługuje Pending payment. Do automatycznego zamykania przelewów po 2–3 dniach potrzebna jest reguła obejmująca On hold.

Czy ustawienie 30 minut oznacza anulowanie dokładnie po 30 minutach?
Nie. Jeżeli wtyczka wykonuje kontrolę raz na godzinę, anulowanie może nastąpić mniej więcej między 30. a 90. minutą. Przy problemach z WP-Cron może potrwać dłużej.

Czy automatyczne anulowanie usuwa zamówienie z WooCommerce?
Nie. Zamówienie pozostaje w bazie i na liście zamówień, ale otrzymuje status Cancelled. Nadal można sprawdzić jego historię, notatki, klienta i metodę płatności.

Czy anulowanie automatycznie zwraca spóźnioną płatność?
Nie. Jeżeli pieniądze zostały pobrane, zwrot trzeba przeprowadzić zgodnie z możliwościami używanej bramki płatniczej.

Dlaczego stare zamówienia nadal mają status Pending payment?
Najpierw użyj Run Now. Gdy ręczne uruchomienie działa, sprawdź WP-Cron. Gdy nie działa, skontroluj status zamówienia, datę utworzenia, zapisany limit i sposób, w jaki zamówienie zostało utworzone.

Od czego zacząć konfigurację?
Najpierw uruchom wbudowane Hold stock z wartością 60 minut. Po płatną wtyczkę sięgnij dopiero wtedy, gdy potrzebujesz ręcznego czyszczenia, statystyk lub dodatkowych e-maili. Przed wdrożeniem na produkcji sprawdź jedno nieopłacone zamówienie, jedno opłacone oraz produkt wariantowy.

Categories: WooCommerce
Sebastian Miler

Written by:Sebastian Miler All posts by the author

Autorem toNIEmarketing.pl jest Sebastian Miler, założyciel CMSPACE. Na portalu publikuje materiały dotyczące SEO, GEO, content marketingu, WordPressa, marketingu i AI.

Leave a reply

Your email address will not be published. Required fields are marked *

Ciasteczka

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie plików Cookies. Więcej informacji znajdziesz w polityce prywatności.