Przejdź do treści

Panel administratora

Wszystkie operacje na zgłoszeniach zwrotu — zmiany statusu, refundy, notki — wykonujesz z dedykowanej strony w panelu admin, bez wchodzenia w edycję zamówienia WooCommerce.

Lista zgłoszeń

WooCommerce → Zgłoszenia zwrotu (slug: wpnest-rfw-requests). Tabela z kolumnami: ID zgłoszenia, ID zamówienia (link), klient (imię + email), status (badge), data zgłoszenia, ilość pozycji, akcje (View →).

  • Filtrowanie po statusie (pending/accepted/rejected/refunded)
  • Paginacja 20/strona
  • Inline dropdown statusu dla szybkiej zmiany
  • Export CSV (wszystkie kolumny + per-item)

W menu admin obok „Zgłoszenia zwrotu” pojawia się czerwona kropla z liczbą nierozpatrzonych zgłoszeń (status = pending). Jest aktualizowana w czasie rzeczywistym (przez transient cache, TTL 5 min).

Strona szczegółów zgłoszenia

Klikając „View →” przy zgłoszeniu trafiasz na ?page=wpnest-rfw-requests&request_id=ID — pełna strona ze wszystkimi sekcjami potrzebnymi do obsługi zwrotu w jednym miejscu.

Layout (CSS grid 1fr 320px)

Prawa kolumna (sticky na desktop, 320px): Customer & order summary

  • Imię, email (mailto:), telefon (tel:)
  • Pełny adres rozliczeniowy
  • Adres dostawy (tylko gdy różny od rozliczeniowego)
  • Data zamówienia, kwota total, kwota już zrefundowana
  • Metoda płatności (label)
  • Aktualny status WooCommerce

Lewa kolumna (main work area):

  • Returned items — per-item karta z thumbnail, nazwa + wariant, qty zwracane / ordered, reason label + reason_text, refundable balance + „X left” qty
  • Status & quick actions — dropdown z aktualnym statusem, checkbox „Notify customer”, textarea „Internal note”, przyciski Accept / Reject / Mark refunded
  • Issue refund — per-line qty + refund_total inputs, total auto-computes, reason input, restock toggle
  • Notes — textarea + radio „Visible to customer” / „Internal only”, thread istniejących notek (via wc_get_order_notes)
  • Status history — timeline z tabeli wpnest_rfw_status_log: old → new, by user, when, optional note

Wystawianie refundu

Wpisz amount per linia (default = unit_price × qty), opcjonalny reason, toggle „Restock items” → Issue refund. Wywołuje wc_create_refund() w-process (bez external HTTP), gateway-aware (sprawdza $gateway->supports('refunds')).

W Free refund_payment=false — refund jest zarejestrowany w WooCommerce i widoczny w panelu, ale samo zwrócenie pieniędzy musisz zatwierdzić ręcznie przez przycisk „Refund” w bramce płatności lub w edycji zamówienia WC. Automatyczny refund przez bramkę (Stripe, PayU, Przelewy24) to feature Pro.

Idempotencja

Każdy refund i każda notka są idempotentne: ponowne wysłanie tego samego payloadu w ciągu 60 sekund zwraca cached wynik (nie tworzy duplikatu). Status update loguje każdą zmianę (nawet gdy status się nie zmienił) — to celowe dla auditability.

Szanujemy Twoją prywatność

Ta strona używa plików cookie do analityki i marketingu. Możesz zaakceptować wszystkie, odrzucić nieobowiązkowe lub dostosować swoje preferencje.