Przejdź do głównej zawartości

FAQ

Ogólne

Czym jest dpay.pl?

dpay.pl to bramka płatnicza umożliwiająca przyjmowanie płatności online. Obsługuje wiele metod płatności, w tym BLIK, przelewy bankowe, karty płatnicze, Google Pay, Apple Pay, SMS Premium i Direct Carrier Billing.

Jak założyć konto?

Przejdź na stronę panel.dpay.pl i kliknij Zarejestruj się. Po wypełnieniu formularza otrzymasz e-mail z linkiem aktywacyjnym. Szczegółowy opis procesu znajdziesz w Rejestracja.

Ile trwa weryfikacja konta?

Proces weryfikacji (KYC) trwa zwykle 1-2 dni robocze. W tym czasie nasz zespół weryfikuje przesłane dokumenty.

Czy dpay.pl oferuje środowisko testowe (sandbox)?

Tak. Po rejestracji możesz przetestować integrację bez obciążania prawdziwych kont. Skontaktuj się z obsługą techniczną przez panel, aby uzyskać dane testowe.


Integracja techniczna

Jaki jest bazowy URL API?

Główne API:

https://api-payments.dpay.pl/api/v1_0/

Dla Direct Carrier Billing:

https://secure.dpay.pl/dcb/

Co to jest Secret Hash i gdzie go znajdę?

Secret Hash to prywatny klucz używany do generowania sum kontrolnych (checksum). Znajdziesz go w panelu: Punkty Płatności > Twój punkt > Ustawienia techniczne.

uwaga

Nigdy nie udostępniaj Secret Hash publicznie. Nie umieszczaj go w kodzie frontendowym ani w repozytorium kodu.

Otrzymuję błąd "Invalid checksum". Co robić?

Najczęstsze przyczyny:

  1. Zła kolejność pól - sprawdź, czy pola są w prawidłowej kolejności (patrz Generowanie checksum)
  2. Zły Secret Hash - upewnij się, że używasz aktualnego klucza z panelu
  3. Dodatkowe białoznaki - sprawdź, czy wartości nie zawierają spacji ani znaków nowej linii
  4. Zły separator - wszędzie użyj separatora | (pipe)

Jak testować IPN lokalnie?

Użyj narzędzia do tunelowania, np. ngrok:

ngrok http 3000

Wygenerowany adres (np. https://abc123.ngrok.io/api/ipn) użyj jako url_ipn w zapytaniach testowych.

Czy mogę przekazywać adresy URL dynamicznie?

Tak. Pola url_success, url_fail i url_ipn można przekazać w każdym zapytaniu API. Wartości przekazane w zapytaniu mają priorytet nad ustawieniami w panelu.

W jakim formacie podawać kwotę?

Dla większości metod płatności użyj formatu z kropką dziesiętną jako string: "29.99".

Wyjątkiem jest DCB (Direct Carrier Billing), gdzie kwotę podaje się w groszach: "1023" oznacza 10.23 PLN.


Płatności

Jakie metody płatności obsługuje dpay.pl?

  • BLIK (kod jednorazowy)
  • BLIK BNPL (płatność odroczona)
  • Przelewy bankowe (Pay-by-Link)
  • Karty płatnicze (Visa, Mastercard) - przez bramkę lub S2S
  • Google Pay
  • Apple Pay
  • MB WAY (Portugalia)
  • Bizum (Hiszpania)
  • Banki czeskie i słowackie (white-label)
  • SMS Premium
  • Direct Carrier Billing (DCB)

Jak działa BLIK Level 0?

BLIK Level 0 pozwala klientowi wpisać 6-cyfrowy kod BLIK bezpośrednio na Twojej stronie, bez przekierowania do bramki. Wymaga to dodatkowych pól w zapytaniu: blik_code, user_ip, user_agent. Szczegóły: BLIK Level 0.

Co oznacza błąd "ER_WRONG_TICKET" przy płatności BLIK?

Kod BLIK jest nieprawidłowy lub wygasł. Kody BLIK są ważne przez ok. 2 minuty. Poproś klienta o wygenerowanie nowego kodu w aplikacji bankowej.

Czy mogę wykonać zwrot częściowy?

Tak. dpay.pl obsługuje zwroty częściowe dla wybranych metod płatności: BLIK, karty płatnicze (Visa/Mastercard) oraz MB WAY. Możesz też wykonać wiele zwrotów częściowych do jednej transakcji, dopóki suma zwrotów nie przekroczy kwoty pierwotnej. Szczegóły: Zwroty.

Jak długo mogę wykonać zwrot?

Zwrot można wykonać w ciągu 180 dni od daty transakcji. Po tym okresie zwrot nie jest możliwy.

Jakie waluty są obsługiwane?

WalutaMetody płatności
PLNBLIK, PBL, karty, Google Pay, Apple Pay, SMS, DCB
EURKarty, Google Pay, Apple Pay, MB WAY, Bizum, banki słowackie
CZKBanki czeskie
USDKarty płatnicze

IPN (Instant Payment Notification)

Czym jest IPN?

IPN to automatyczne powiadomienie HTTP POST wysyłane przez dpay.pl na Twój serwer po zmianie statusu transakcji. Jest to jedyne wiarygodne źródło informacji o statusie płatności.

Jaką odpowiedź powinien zwracać mój endpoint IPN?

Twój endpoint musi odpowiedzieć kodem HTTP 200 i treścią "OK". Jeśli odpowie innym kodem, dpay.pl ponowi próbę dostarczenia.

Ile razy dpay.pl ponowi IPN?

dpay.pl ponawia próby dostarczenia do 10 razy z rosnącymi opóźnieniami (exponential backoff - 2, 4, 8, 16, 32, 64, 128, 256, 512 minut). Po 10 próbach powiadomienie nie będzie już ponawiane.

Czy mogę ręcznie sprawdzić status transakcji?

Tak, w panelu panel.dpay.pl w sekcji Transakcje możesz sprawdzić status każdej transakcji.

Dlaczego IPN przychodzi z tymi samymi danymi wielokrotnie?

Może to być spowodowane:

  • Twój serwer nie odpowiedział kodem 200
  • Timeout połączenia
  • Błąd po stronie serwera

Upewnij się, że Twój endpoint odpowiada szybko (w ciągu kilku sekund) i że jest idempotentny (potrafi obsłużyć wielokrotne powiadomienia o tej samej transakcji).


Bezpieczeństwo

Czy mój serwer musi obsługiwać HTTPS?

Tak. Wszystkie adresy URL (success, fail, IPN) muszą używać protokołu HTTPS. dpay.pl nie wyśle powiadomień na adresy HTTP.

Jak weryfikować podpis IPN?

Wygeneruj SHA-256 z połączenia pól IPN i Twojego Secret Hash, a następnie porównaj wynik z polem signature. Szczegóły: Obsługa IPN.

Czy mogę przechowywać dane kart na swoim serwerze?

Nie. Nigdy nie przechowuj surowych danych kart (numerów, CVV, dat ważności). Dane karty powinny być szyfrowane RSA w przeglądarce klienta i przekazywane do dpay.pl w postaci zaszyfrowanej.

Co to jest 3D Secure?

3D Secure to dodatkowa warstwa autoryzacji płatności kartowych. Bank klienta może wymagać dodatkowego potwierdzenia (np. kodem SMS). dpay.pl obsługuje 3DS automatycznie - jeśli bank tego wymaga, API zwróci dane do przekierowania.


Panel administracyjny

Jak sprawdzić historię transakcji?

Zaloguj się do panel.dpay.pl i przejdź do sekcji Transakcje. Możesz filtrować po dacie, statusie, kwocie i identyfikatorze transakcji.

Jak zmienić adresy URL (success, fail, IPN)?

Przejdź do Punkty Płatności > Twój punkt > Ustawienia techniczne i zmień odpowiednie pola. Pamiętaj, że adresy URL przekazane dynamicznie w zapytaniu API mają priorytet.

Jak wygenerować nowy Secret Hash?

Przejdź do Punkty Płatności > Twój punkt > Ustawienia techniczne i kliknij Wygeneruj nowy. Pamiętaj, że po zmianie Secret Hash musisz zaktualizować go również w konfiguracji Twojego serwera.

ostrzeżenie

Po wygenerowaniu nowego Secret Hash stary klucz natychmiast przestaje działać. Zaplanuj zmianę, aby uniknąć przerw w działaniu płatności.


Kontakt

Jeśli nie znalazłeś odpowiedzi na swoje pytanie: