Polecenie zapłaty SEPA z mandatem online: dokumentacja modułu PrestaShop
Instalacja, konfiguracja i użytkowanie modułu polecenia zapłaty SEPA: mandat podpisywany online, plik pain.008, harmonogramy cykliczne i odrzucenia.
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
- W Moduły > Menedżer modułów kliknij Prześlij moduł i wybierz plik ZIP
dfsepadebit. - 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.
- Otwórz konfigurację i uzupełnij dane wierzyciela. Dopóki nazwa, identyfikator i IBAN nie są prawidłowe, metoda płatności pozostaje ukryta.
- 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
- Wybierz ostatni termin obciążeń do uwzględnienia i kliknij Utwórz.
- Pobierz plik XML i prześlij go do banku tego samego dnia.
- 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
- Do eksportu: utworzone z zamówieniem, przez harmonogram lub ręcznie. Klient otrzymuje wcześniejsze powiadomienie.
- Wysłane do banku: zawarte w pliku. Data może zostać przesunięta na pierwszy możliwy dzień kalendarza TARGET2.
- Opłacone: po okresie bez odrzucenia, po imporcie camt.054 lub ręcznie. Zamówienie przechodzi w „Płatność zaakceptowana”.
- 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.