Przejdź do głównej zawartości

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

  1. Pobierz pliki modułu ze strony dpay.pl lub z GitHuba.
  2. Skopiuj katalog dpay/ do katalogu głównego QuickCart. Struktura plików:
    • dpay/dpay_config.php - plik konfiguracyjny
    • dpay/dpay_checkout.php - obsługa procesu płatności
    • dpay/dpay_callback.php - obsługa powiadomień IPN
    • dpay/dpay_validation.php - walidacja podpisu IPN
    • dpay/dpay_refund.php - obsługa zwrotów
    • dpay/language/pl.php - tłumaczenia polskie
    • dpay/language/en.php - tłumaczenia angielskie
    • dpay/lib/dpay-sdk/ - biblioteka SDK dpay.pl
    • dpay/assets/images/dpay.png - logo dpay.pl
  3. Upewnij się, że katalog dpay/ ma prawidłowe uprawnienia do odczytu.

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/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. Otwórz plik dpay/dpay_config.php w edytorze tekstu.
  2. Uzupełnij pola konfiguracyjne:
PoleOpis
service_nameNazwa serwisu z Panelu dpay.pl
hash_keyTajny hash z Panelu dpay.pl
success_urlAdres strony po udanej płatności (domyślnie: index.php?p=success)
error_urlAdres strony po nieudanej płatności (domyślnie: index.php?p=error)
notify_urlAdres IPN (domyślnie: dpay/dpay_callback.php)
paypalWłącz płatności PayPal (Y/N)
creditcardWłącz płatności kartą (Y/N)
paysafecardWłącz płatności Paysafecard (Y/N)
installmentWłącz płatności ratalne (Y/N)
nobanksUkryj listę banków (Y/N)
blik_zeroWłącz BLIK Level 0 inline (Y/N)
apple_payWłącz Apple Pay (Y/N)
google_payWłącz Google Pay (Y/N)
card_inlineWłącz formularz karty inline (Y/N)
  1. 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

  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 (lub wyświetlenie formularza BLIK, jeśli włączony).
  4. 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.plAkcja w QuickCart
Nowa transakcjaPrzekierowanie na stronę płatności
completed (IPN)Zamówienie oznaczone jako opłacone
BLIK inlineOczekiwanie na potwierdzenie, przekierowanie po 5 sekundach
BłądWyś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 .htaccess lub firewall.
  • Sprawdź, czy plik dpay_config.php zawiera prawidłowy hash_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_zero w pliku konfiguracyjnym jest ustawiona na Y.
  • Upewnij się, że plik dpay_checkout.php jest poprawnie załadowany.

Błąd "BAD SIGNATURE"

  • Upewnij się, że hash_key w pliku dpay_config.php jest identyczny z hashem w Panelu dpay.pl.

Więcej informacji