# Polecenie zapłaty SEPA z mandatem online: dokumentacja modułu PrestaShop

> Przegląd Moduł dfsepadebit dodaje polecenie zapłaty SEPA jako metodę płatności w PrestaShop 8 i 9. Klient podpisuje mandat online podczas zamówienia kodem otrzymanym e-mailem. Każde zamówienie, każda rata subskrypcji i…

- Strona: <https://www.datafirefly.com/pl/documentation/dfsepadebit/>
- Język: pl
- Zaktualizowano: 2026-09-24
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfsepadebit/index.md), [en](https://www.datafirefly.com/en/documentation/dfsepadebit/index.md), [es](https://www.datafirefly.com/es/documentation/dfsepadebit/index.md), [de](https://www.datafirefly.com/de/documentation/dfsepadebit/index.md), [it](https://www.datafirefly.com/it/documentation/dfsepadebit/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfsepadebit/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfsepadebit/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Przegląd

Moduł **dfsepadebit** dodaje polecenie zapłaty SEPA jako metodę płatności w PrestaShop 8 i 9. Klient podpisuje mandat online podczas zamówienia kodem otrzymanym e-mailem. Każde zamówienie, każda rata subskrypcji i każde obciążenie jednorazowe staje się obciążeniem zapowiedzianym klientowi. Tworzysz plik pain.008, przesyłasz go do banku, a następnie importujesz pliki zwrotne, aby zaktualizować płatności i odrzucenia.

Moduł nie łączy się z bankiem i żadne dane nie przechodzą przez podmioty trzecie: środki trafiają bezpośrednio na Twój rachunek.

## Wymagania

- **Identyfikator wierzyciela SEPA** i **umowa o polecenie zapłaty SEPA** z bankiem. Wskaż schemat B2B, jeśli obciążasz firmy.
- Format pliku akceptowany przez bank (pain.008.001.02 lub pain.008.001.08) i termin przekazania plików (zwykle 1 dzień roboczy TARGET przed datą obciążenia).
- Sklep w **EUR**: metoda płatności pojawia się tylko dla koszyków w euro.
- PrestaShop 8.0 do 9.x, PHP z rozszerzeniem OpenSSL (szyfrowanie AES-256-GCM numerów IBAN).
- Codzienne zadanie cron (panel hostingu lub usługa zewnętrzna) dla harmonogramów i automatycznych potwierdzeń.

## Instalacja

1. W _Moduły > Menedżer modułów_ kliknij _Prześlij moduł_ i wybierz plik ZIP `dfsepadebit`.
2. Moduł tworzy swoje tabele, dwa statusy zamówień („Oczekiwanie na polecenie zapłaty SEPA” i „Polecenie zapłaty SEPA odrzucone”) oraz menu _Sprzedaż > Polecenie zapłaty SEPA_.
3. Otwórz konfigurację i uzupełnij dane wierzyciela. Dopóki nazwa, identyfikator i IBAN nie są prawidłowe, metoda płatności pozostaje ukryta.
4. Skopiuj URL crona wyświetlany na górze konfiguracji i zaplanuj go raz dziennie.

## Konfiguracja

### Wierzyciel

Nazwa wierzyciela (tak jak pojawi się na wyciągach klientów), identyfikator wierzyciela, IBAN rachunku uznawanego, BIC (opcjonalny w EOG) i adres. Identyfikator i IBAN są sprawdzane przy zapisie.

### Mandaty i składanie zamówienia

- **Schemat nowych mandatów**: SEPA B2B lub SEPA Core.
- **Prefiks numerów mandatów**: litery i cyfry, maksymalnie 8 znaków (domyślnie DF).
- **Podpis kodem wysłanym e-mailem**: zalecany. Po wyłączeniu klient podpisuje polem wyboru.
- **Tylko dla klientów z nazwą firmy**: metoda płatności jest oferowana tylko, gdy adres rozliczeniowy zawiera firmę.
- **Dozwolone grupy klientów**, **minimalna i maksymalna kwota** zamówienia.
- **Maksymalne zadłużenie klienta**: nieopłacone obciążenia plus bieżący koszyk. Powyżej tej kwoty metoda płatności jest ukrywana przed klientem.
- **Ukryj po odrzuceniach z ostatnich 12 miesięcy**: domyślnie 2, 0 wyłącza.

### Obciążenia i pliki bankowe

- **Termin wcześniejszego powiadomienia**: domyślny termin ustawowy to 14 dni. Krótszy termin (moduł proponuje 2 dni) obowiązuje tylko, jeśli jest zapisany w regulaminie sprzedaży. Zamówienie jest obciążane po upływie tego terminu.
- **Termin przekazania plików w Twoim banku**, w dniach roboczych TARGET.
- **Format pliku**: pain.008.001.02 (najszerzej akceptowany) lub pain.008.001.08.
- **Księgowanie zbiorcze**: jedno uznanie na plik na wyciągu lub jedno na obciążenie.
- **Pierwsze obciążenie jako FRST**: pozostaw włączone, jeśli bank nadal wymaga sekwencji FRST.
- **Twórz plik bankowy automatycznie**: zadanie dzienne tworzy plik obciążeń z terminem w ciągu N dni i wysyła go jako załącznik na adres powiadomień.
- **Automatycznie oznacz jako opłacone po** N dniach bez odrzucenia (domyślnie 5). 0, aby potwierdzać ręcznie lub plikiem camt.054.

### Odrzucenia

- **Kody powodów z automatyczną ponowną próbą**: domyślnie AM04, MS03.
- **Maksymalna liczba ponownych prób** i **odstęp przed ponowną próbą**.
- **Opłata za odrzucenie** doliczana do kwoty ponownej próby, tylko jeśli przewiduje to regulamin.
- **Kody powodów, które odwołują mandat**: domyślnie AC01, AC04, AC06, AC13, MD01, MD07.
- **E-mail na powiadomienia**: odrzucenia, odwołania, zmiany banku, wstrzymane harmonogramy, pliki automatyczne.

## Ścieżka klienta

### Podpis w checkoucie

W kroku płatności klient wybiera „Zapłać poleceniem zapłaty SEPA”. Jeśli ma aktywny mandat, wybiera rachunek (zamaskowany IBAN) i potwierdza zamówienie. W przeciwnym razie w bloku płatności otwiera się formularz wstępnie wypełniony z adresu rozliczeniowego: firma, posiadacz rachunku, adres, IBAN (sprawdzany podczas wpisywania) i BIC. Klient czyta treść mandatu, zaznacza akceptację i otrzymuje e-mailem 6-cyfrowy kod. Mandat jest podpisany po wpisaniu kodu. Do tego czasu potwierdzenie zamówienia jest zablokowane z komunikatem.

Jeśli motyw uniemożliwia działanie skryptu, klient po potwierdzeniu trafia na osobną stronę podpisu, a następnie zamówienie zostaje utworzone. Żadna płatność nie ginie.

### Konto klienta

Strona _Moje mandaty SEPA_ pokazuje mandaty z PDF, bieżące harmonogramy i ostatnie obciążenia. Klient może odwołać mandat lub kliknąć _Zmień rachunek bankowy_: podpisuje nowy mandat, jego harmonogramy i niewysłane obciążenia przechodzą na nowy rachunek, a stary mandat zostaje zamknięty. Szczegóły każdego zamówienia pokazują datę obciążenia i status.

## Back-office

### Pulpit

Kwota do wysłania do banku w ciągu 7 dni, kwota w banku oczekująca na potwierdzenie, pobrane w miesiącu, wskaźnik odrzuceń z 90 dni, miesięczny przychód cykliczny harmonogramów ze stałą kwotą, mandaty aktywne i oczekujące. Wykres pokazuje najbliższe 6 tygodni (utworzone obciążenia i prognozę harmonogramów). Stronę uzupełniają ostatnie odrzucenia i mandaty oczekujące na podpis z przyciskiem _Przypomnij_. Pojawia się ostrzeżenie, jeśli zadanie dzienne nie uruchomiło się od 36 godzin.

### Mandaty

Przycisk _Nowy mandat_ oferuje dwa tryby: wysłanie klientowi prośby o podpis online (otrzymuje bezpieczny link, bez logowania) lub rejestrację już podpisanego mandatu papierowego z datą podpisu. Pole _Zastępuje mandat_ przenosi harmonogramy istniejącego mandatu po podpisaniu nowego. Karta mandatu pokazuje dowody podpisu (data, metoda, IP, przeglądarka, odcisk SHA-256), PDF, harmonogramy i obciążenia oraz pozwala go odwołać.

### Obciążenia

Filtrowana lista wszystkich obciążeń ze statusem: do eksportu, wysłane do banku, opłacone, odrzucone, anulowane. Na karcie obciążenia: oznacz jako opłacone, zarejestruj odrzucenie z kodem, anuluj (przed eksportem). Przycisk _Nowe obciążenie jednorazowe_ tworzy obciążenie na aktywnym mandacie, opcjonalnie powiązane z zamówieniem.

### Harmonogramy cykliczne

Harmonogram jest powiązany z mandatem (aktywnym lub oczekującym na podpis) i działa w dwóch trybach: **stała kwota** lub **powtórz zamówienie** (zamówienie referencyjne jest składane ponownie po aktualnych cenach w każdym terminie, a następnie obciążane). Wybierz częstotliwość, następny termin i liczbę obciążeń (0 bez ograniczenia). Klient otrzymuje e-mail z podsumowaniem. Harmonogram można wstrzymać, wznowić lub zatrzymać.

### Pliki bankowe

1. Wybierz ostatni termin obciążeń do uwzględnienia i kliknij _Utwórz_.
2. Pobierz plik XML i prześlij go do banku tego samego dnia.
3. Następnie zaimportuj pliki zwrotne z banku: pain.002 (odrzucenie pliku lub transakcji), camt.054 lub camt.053 (zwroty i uznania).

Niewysłany plik można anulować: jego obciążenia wracają do eksportu.

## Cykl obciążenia

1. **Do eksportu**: utworzone z zamówieniem, przez harmonogram lub ręcznie. Klient otrzymuje wcześniejsze powiadomienie.
2. **Wysłane do banku**: zawarte w pliku. Data może zostać przesunięta na pierwszy możliwy dzień kalendarza TARGET2.
3. **Opłacone**: po okresie bez odrzucenia, po imporcie camt.054 lub ręcznie. Zamówienie przechodzi w „Płatność zaakceptowana”.
4. **Odrzucone**: zapisany kod R, zamówienie w statusie „Polecenie zapłaty SEPA odrzucone”, ponowna próba lub odwołanie zgodnie z konfiguracją.

## Obsługa odrzuceń

| Kod | Znaczenie | Domyślna akcja |
| --- | --- | --- |
| AM04 | Brak środków | Ponowna próba |
| MS03 | Powód nieokreślony przez bank | Ponowna próba |
| AC01, AC04, AC06 | Rachunek nieprawidłowy, zamknięty lub zablokowany | Odwołanie mandatu |
| AC13 | Rachunek konsumencki w schemacie B2B | Odwołanie mandatu |
| MD01 | Brak ważnego mandatu (często mandat B2B niezgłoszony w banku) | Odwołanie mandatu |
| MD07 | Płatnik zmarł | Odwołanie mandatu |
| MS02, MD06 | Odmowa lub zwrot na żądanie płatnika | Powiadomienie, obsługa ręczna |

Odrzucenie pliku lub bloku płatności w pain.002 (format, nierozpoznany identyfikator...) nie dotyczy klienta: obciążenia wracają do eksportu w następnym pliku.

## Zadanie dzienne (cron)

URL crona, chroniony tokenem, tworzy obciążenia harmonogramów przypadające w terminie wcześniejszego powiadomienia, tworzy plik automatyczny, jeśli jest włączony, oznacza jako opłacone obciążenia bez odrzucenia po ustawionym czasie, wygasza mandaty nieużywane przez 36 miesięcy i usuwa podpisy porzucone od 60 dni. Przycisk _Uruchom zadania teraz_ na stronie Pliki bankowe robi to samo dla bieżącego sklepu.

## Wysyłane e-maile

- Do klienta: kod podpisu, potwierdzenie mandatu z PDF, prośba o podpis, podsumowanie harmonogramu, wcześniejsze powiadomienie o obciążeniu, odrzucenie.
- Do sprzedawcy: odrzucenie, odwołanie przez klienta, zmiana banku, wstrzymany harmonogram, gotowy plik automatyczny (XML w załączniku).

Szablony są dostarczane w 8 językach w `mails/` i edytuje się je jak natywne e-maile.

## Faktura, karta zamówienia i RODO

Faktura PDF zawiera informację o wcześniejszym powiadomieniu (kwota, data, zamaskowany IBAN, numer mandatu, identyfikator wierzyciela), która po potwierdzeniu obciążenia zmienia się w „opłacone dnia”. Karta zamówienia w back-office pokazuje mandat i obciążenia. Z oficjalnym modułem RODO mandaty są uwzględniane w eksporcie danych; przy usunięciu klienta anonimizowane są tylko mandaty oczekujące i zamknięte ponad 14 miesięcy temu, pozostałe są zachowywane jako dowód.

## Rozwiązywanie problemów

### Metoda płatności się nie pojawia

Sprawdź, czy dane wierzyciela są prawidłowe (zielona ramka na górze konfiguracji), czy koszyk jest w EUR, czy klient jest zalogowany (nie jest gościem), czy adres rozliczeniowy zawiera firmę, jeśli opcja jest włączona, oraz czy klient nie przekroczył dozwolonego zadłużenia lub liczby odrzuceń.

### Odrzucenie MD01 dla mandatu B2B

Klient nie zgłosił mandatu w swoim banku. Poproś go o to, podając numer mandatu i Twój identyfikator wierzyciela, a następnie utwórz nowe obciążenie jednorazowe.

### Klient nie otrzymuje kodu

Sprawdź konfigurację e-maili PrestaShop i folder spam klienta. Nowy kod można zamówić po minucie; kod jest ważny 10 minut.
