Przejdź do głównej zawartości

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

  1. Pobierz pliki modułu ze strony dpay.pl lub z GitHuba.
  2. Skopiuj pliki do katalogu głównego Zen Cart, zachowując strukturę katalogów:
    • includes/modules/payment/dpay.php - główny plik modułu
    • includes/languages/english/modules/payment/lang.dpay.php - tłumaczenia angielskie
    • includes/languages/polish/modules/payment/lang.dpay.php - tłumaczenia polskie
    • dpay_callback.php - obsługa powiadomień IPN
    • lib/dpay-sdk/ - biblioteka SDK dpay.pl
  3. Zaloguj się do panelu administracyjnego Zen Cart.
  4. Przejdź do Modules > Payment.
  5. Znajdź na liście dpay.pl i kliknij Install.

Konfiguracja

Krok 1 - Przygotowanie danych w Panelu dpay.pl

  1. Zaloguj się do Panelu dpay.pl.
  2. Przejdź do sekcji Punkty Płatności.
  3. Utwórz nowy Punkt Płatności lub wybierz istniejący.
  4. Zanotuj:
    • Nazwa serwisu (service_name) - unikalna nazwa Twojego Punktu Płatności
    • Tajny hash (secret_hash) - klucz używany do podpisywania żądań
  5. 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

  1. Przejdź do Modules > Payment w panelu administracyjnym.
  2. Kliknij dpay.pl na liście, a następnie Edit.
  3. Wypełnij formularz konfiguracyjny:
PoleOpis
Enable dpay.plWłącz/wyłącz moduł płatności
Service NameNazwa serwisu z Panelu dpay.pl
Hash KeyTajny hash z Panelu dpay.pl
Sort OrderKolejność wyświetlania na liście metod płatności
Payment ZoneOgranicz do wybranej strefy geograficznej (0 = wszystkie)
Pending Order StatusStatus zamówienia dla oczekujących płatności
Paid Order StatusStatus zamówienia po udanej płatności
Enable PayPalWłącz/wyłącz płatności PayPal
Enable Credit CardWłącz/wyłącz płatności kartą
Enable PaysafecardWłącz/wyłącz płatności Paysafecard
Enable InstallmentsWłącz/wyłącz płatności ratalne
Hide Bank ListUkryj listę banków
Enable BLIK ZeroWłącz płatności BLIK Level 0 (inline)
Enable Apple PayWłącz płatności Apple Pay
Enable Google PayWłącz płatności Google Pay
Enable Card InlineWłącz formularz karty inline
  1. Zapisz konfigurację.

Krok 3 - Weryfikacja

  1. Złóż testowe zamówienie w sklepie.
  2. Wybierz dpay.pl jako metodę płatności.
  3. Sprawdź, czy następuje poprawne przekierowanie na stronę płatności.
  4. 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.plStatus Zen Cart
Nowa transakcjaPending (domyślnie: 1)
completedPaid (domyślnie: 2)
BLIK inlinePending (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 .htaccess lub 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.

Więcej informacji