Zen Cart
Oficjalny moduł płatności dpay.pl dla Zen Cart. Umożliwia przyjmowanie płatności online w sklepie internetowym opartym na platformie Zen Cart. Obsługuje BLIK Level 0 (inline), karty płatnicze, PayPal i inne metody płatności.
Wymagania
- Zen Cart 1.5.7 lub nowszy
- PHP 7.4 lub nowszy
- Aktywne konto w Panelu dpay.pl z utworzonym Punktem Płatności
Obsługiwane metody płatności
- BLIK (w tym BLIK Level 0 - inline)
- Przelewy bankowe (pay-by-link)
- Karty płatnicze (inline)
- Google Pay i Apple Pay
- PayPal
- Paysafecard
- Raty (BLIK BNPL)
Instalacja
- Pobierz pliki modułu ze strony dpay.pl lub z GitHuba.
- Skopiuj pliki do katalogu głównego Zen Cart, zachowując strukturę katalogów:
includes/modules/payment/dpay.php- główny plik modułuincludes/languages/english/modules/payment/lang.dpay.php- tłumaczenia angielskieincludes/languages/polish/modules/payment/lang.dpay.php- tłumaczenia polskiedpay_callback.php- obsługa powiadomień IPNlib/dpay-sdk/- biblioteka SDK dpay.pl
- Zaloguj się do panelu administracyjnego Zen Cart.
- Przejdź do Modules > Payment.
- Znajdź na liście dpay.pl i kliknij Install.
Konfiguracja
Krok 1 - Przygotowanie danych w Panelu dpay.pl
- Zaloguj się do Panelu dpay.pl.
- Przejdź do sekcji Punkty Płatności.
- Utwórz nowy Punkt Płatności lub wybierz istniejący.
- Zanotuj:
- Nazwa serwisu (
service_name) - unikalna nazwa Twojego Punktu Płatności - Tajny hash (
secret_hash) - klucz używany do podpisywania żądań
- Nazwa serwisu (
- W ustawieniach Punktu Płatności ustaw adres IPN na:
https://twoj-sklep.pl/dpay_callback.php
Ważne
Tajny hash powinien być traktowany jak hasło. Nigdy nie udostępniaj go publicznie ani nie umieszczaj w kodzie frontendowym.
Krok 2 - Konfiguracja modułu
- Przejdź do Modules > Payment w panelu administracyjnym.
- Kliknij dpay.pl na liście, a następnie Edit.
- Wypełnij formularz konfiguracyjny:
| Pole | Opis |
|---|---|
| Enable dpay.pl | Włącz/wyłącz moduł płatności |
| Service Name | Nazwa serwisu z Panelu dpay.pl |
| Hash Key | Tajny hash z Panelu dpay.pl |
| Sort Order | Kolejność wyświetlania na liście metod płatności |
| Payment Zone | Ogranicz do wybranej strefy geograficznej (0 = wszystkie) |
| Pending Order Status | Status zamówienia dla oczekujących płatności |
| Paid Order Status | Status zamówienia po udanej płatności |
| Enable PayPal | Włącz/wyłącz płatności PayPal |
| Enable Credit Card | Włącz/wyłącz płatności kartą |
| Enable Paysafecard | Włącz/wyłącz płatności Paysafecard |
| Enable Installments | Włącz/wyłącz płatności ratalne |
| Hide Bank List | Ukryj listę banków |
| Enable BLIK Zero | Włącz płatności BLIK Level 0 (inline) |
| Enable Apple Pay | Włącz płatności Apple Pay |
| Enable Google Pay | Włącz płatności Google Pay |
| Enable Card Inline | Włącz formularz karty inline |
- Zapisz konfigurację.
Krok 3 - Weryfikacja
- Złóż testowe zamówienie w sklepie.
- Wybierz dpay.pl jako metodę płatności.
- Sprawdź, czy następuje poprawne przekierowanie na stronę płatności.
- Po dokonaniu płatności sprawdź, czy status zamówienia w Zen Cart zmienił się na odpowiedni status opłacenia.
Zwroty
Moduł obsługuje zwroty online za pośrednictwem API dpay.pl. Zwroty mogą być:
- Pełne - zwrot całej kwoty transakcji
- Częściowe - zwrot wybranej kwoty
Zwrot można wywołać programistycznie za pomocą metody refund($transactionId, $amount) klasy modułu.
Mapowanie statusów
| Status dpay.pl | Status Zen Cart |
|---|---|
| Nowa transakcja | Pending (domyślnie: 1) |
completed | Paid (domyślnie: 2) |
| BLIK inline | Pending (oczekiwanie na potwierdzenie) |
Rozwiązywanie problemów
Zamówienia nie zmieniają statusu automatycznie
- Sprawdź, czy adres IPN (
/dpay_callback.php) jest prawidłowo ustawiony w Panelu dpay.pl. - Upewnij się, że plik callback jest dostępny publicznie i nie jest blokowany przez
.htaccesslub firewall. - Sprawdź logi Zen Cart w katalogu
logs/.
Błąd "BAD SIGNATURE"
- Upewnij się, że Hash Key w konfiguracji modułu jest identyczny z hashem w Panelu dpay.pl.
- Sprawdź, czy nie ma dodatkowych spacji przed lub po wartości klucza.
Moduł nie wyświetla się przy kasie
- Sprawdź, czy moduł jest zainstalowany i włączony (Enable dpay.pl = True).
- Upewnij się, że waluta zamówienia to PLN - moduł obsługuje wyłącznie walutę PLN.
Błąd BLIK - nieprawidłowy kod
- Kod BLIK musi składać się z dokładnie 6 cyfr. Upewnij się, że pole BLIK jest prawidłowo wypełnione.