Admin Payment

Opis Moduł dodaje metodę płatności adminpayment (offline) przeznaczoną wyłącznie do użycia w panelu administracyjnym. Metoda jest rejestrowana jako payment method Magento, ma własny renderer dla checkoutu, ale dostępność jest ograniczona do obszaru adminhtml przez obserwator zdarzenia payment_method_is_active.

Dla kogo Dla zespołów operacyjnych i obsługi klienta, które tworzą zamówienia z poziomu panelu administracyjnego i potrzebują dedykowanej metody płatności, niedostępnej dla klientów na frontendzie.

Funkcje

  • Rejestruje metodę płatności adminpayment jako offline (_isOffline = true) z domyślnym statusem zamówienia pending i tytułem AdminPayment.
  • Ogranicza dostępność metody adminpayment do obszaru adminhtml przez obserwatora payment_method_is_active.
  • Udostępnia renderer checkoutu i szablon płatności dla adminpayment w frontendzie (JS + template), mimo że metoda jest tam domyślnie niedostępna.
  • Wspiera konfigurację: włącz/wyłącz, tytuł, nowy status zamówienia, sortowanie, instrukcje, ograniczenie krajów.

Instalacja

Typ: Composer
* = w produkcji użyj opcji --keep-generated

  1. Dodaj repozytorium do konfiguracji:
    composer config repositories.module.admin.payment vcs https://github.com/kowalco/magento-2-admin-payment
  2. Dodaj token dostępu dla prywatnego GitHub:
    composer config --global --auth github-oauth.github.com <YOUR_TOKEN>
  3. Zainstaluj moduł przez Composer:
    composer require kowal/module-adminpayment
  4. Włącz moduł:
    php bin/magento module:enable Kowal_AdminPayment
  5. Zastosuj aktualizacje bazy:
    php bin/magento setup:upgrade
  6. Wyczyść cache:
    php bin/magento cache:flush

Konfiguracja

  • Lokalizacja w panelu: Stores > Configuration > Sales > Payment Methods > AdminPayment.
  • Zakresy konfiguracji: default, website, store view (wszystkie pola mają showInDefault/Website/Store = 1).
  • Klucze konfiguracyjne: payment/adminpayment/active, payment/adminpayment/title, payment/adminpayment/order_status, payment/adminpayment/allowspecific, payment/adminpayment/specificcountry, payment/adminpayment/sort_order, payment/adminpayment/instructions.

Wdrożenie i operacje

  • Brak patchy, instalatorów i zmian w DB w module (brak Setup/* i patchy).
  • Zawiera zasoby frontendowe (JS + template) wymagające standardowego procesu publikacji statycznych zasobów w Magento.
  • Brak zdefiniowanych zadań cron, kolejek (queue) i własnych indeksów.

Checklist wdrożeniowy

  • Zainstaluj moduł przez Composer i włącz go zgodnie z instrukcją w README.
  • Wykonaj setup:upgrade i cache:flush zgodnie z instrukcją w README.
  • Zweryfikuj konfigurację metody płatności w panelu (scopy: default/website/store view).
  • Sprawdź dostępność metody podczas tworzenia zamówienia w panelu administracyjnym.

CI/CD i środowiska

  • W repozytorium istnieje .gitlab-ci.yml z jedną fazą test i włączonym SAST (bez dodatkowych kroków build/test).

Rollback

  • Brak opisu procedury rollbacku w repozytorium.

Wymagania / uwagi

  • Brak zadeklarowanych zależności w composer.json i etc/module.xml; moduł zakłada obecność standardowych modułów Magento używanych w konfiguracji i checkoutcie (m.in. Magento_Payment, Magento_Checkout, Magento_Config, Magento_Sales, Magento_Directory, Magento_Store).
  • Brak własnego acl.xml; konfiguracja jest w standardowej sekcji payment.

Kompatybilność

  • Brak deklaracji wersji Magento/PHP w repozytorium.

FAQ

  • Czy metoda jest dostępna na froncie? Nie, obserwator payment_method_is_active wyłącza adminpayment poza obszarem adminhtml.
  • Czy moduł zmienia bazę danych? Nie znaleziono patchy ani instalatorów DB w repozytorium.
  • Jakie wersje Magento są wspierane? Brak informacji w kodzie i README.