QuickCart
Oficjalny moduł płatności dpay.pl dla QuickCart 3. Umożliwia przyjmowanie płatności online w sklepie internetowym opartym na platformie QuickCart. Obsługuje BLIK Level 0 (inline), karty płatnicze, PayPal i inne metody płatności.
Wymagania
- QuickCart 3.x
- 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 katalog
dpay/do katalogu głównego QuickCart. Struktura plików:dpay/dpay_config.php- plik konfiguracyjnydpay/dpay_checkout.php- obsługa procesu płatnościdpay/dpay_callback.php- obsługa powiadomień IPNdpay/dpay_validation.php- walidacja podpisu IPNdpay/dpay_refund.php- obsługa zwrotówdpay/language/pl.php- tłumaczenia polskiedpay/language/en.php- tłumaczenia angielskiedpay/lib/dpay-sdk/- biblioteka SDK dpay.pldpay/assets/images/dpay.png- logo dpay.pl
- Upewnij się, że katalog
dpay/ma prawidłowe uprawnienia do odczytu.
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/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
- Otwórz plik
dpay/dpay_config.phpw edytorze tekstu. - Uzupełnij pola konfiguracyjne:
| Pole | Opis |
|---|---|
| service_name | Nazwa serwisu z Panelu dpay.pl |
| hash_key | Tajny hash z Panelu dpay.pl |
| success_url | Adres strony po udanej płatności (domyślnie: index.php?p=success) |
| error_url | Adres strony po nieudanej płatności (domyślnie: index.php?p=error) |
| notify_url | Adres IPN (domyślnie: dpay/dpay_callback.php) |
| paypal | Włącz płatności PayPal (Y/N) |
| creditcard | Włącz płatności kartą (Y/N) |
| paysafecard | Włącz płatności Paysafecard (Y/N) |
| installment | Włącz płatności ratalne (Y/N) |
| nobanks | Ukryj listę banków (Y/N) |
| blik_zero | Włącz BLIK Level 0 inline (Y/N) |
| apple_pay | Włącz Apple Pay (Y/N) |
| google_pay | Włącz Google Pay (Y/N) |
| card_inline | Włącz formularz karty inline (Y/N) |
- Zapisz plik.
Przykładowa konfiguracja:
public static function getConfig()
{
return [
'service_name' => 'moj-sklep',
'hash_key' => 'TWOJ_TAJNY_HASH',
'success_url' => 'index.php?p=success',
'error_url' => 'index.php?p=error',
'notify_url' => 'dpay/dpay_callback.php',
'paypal' => 'N',
'creditcard' => 'N',
'paysafecard' => 'N',
'installment' => 'N',
'nobanks' => 'N',
'blik_zero' => 'Y',
'apple_pay' => 'N',
'google_pay' => 'N',
'card_inline' => 'N',
];
}
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 (lub wyświetlenie formularza BLIK, jeśli włączony).
- Po dokonaniu płatności sprawdź, czy zamówienie zostało prawidłowo oznaczone jako opłacone.
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 wykonać za pomocą klasy DPayRefund:
require_once 'dpay/dpay_refund.php';
require_once 'dpay/dpay_config.php';
$refund = new DPayRefund(DPayConfig::getConfig());
$refund->process($transactionId, $amount);
Mapowanie statusów
| Status dpay.pl | Akcja w QuickCart |
|---|---|
| Nowa transakcja | Przekierowanie na stronę płatności |
completed (IPN) | Zamówienie oznaczone jako opłacone |
| BLIK inline | Oczekiwanie na potwierdzenie, przekierowanie po 5 sekundach |
| Błąd | Wyświetlenie komunikatu błędu |
Rozwiązywanie problemów
Zamówienia nie zmieniają statusu automatycznie
- Sprawdź, czy adres IPN (
/dpay/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ź, czy plik
dpay_config.phpzawiera prawidłowyhash_key.
Błąd waluty
- Moduł obsługuje wyłącznie walutę PLN. Upewnij się, że waluta sklepu jest ustawiona na PLN.
Formularz BLIK nie pojawia się
- Sprawdź, czy opcja
blik_zerow pliku konfiguracyjnym jest ustawiona naY. - Upewnij się, że plik
dpay_checkout.phpjest poprawnie załadowany.
Błąd "BAD SIGNATURE"
- Upewnij się, że hash_key w pliku
dpay_config.phpjest identyczny z hashem w Panelu dpay.pl.