Kody błędów i statusy odpowiedzi
Kompletna lista kodów HTTP, statusów transakcji, błędów walidacji i kodów odpowiedzi API dpay.pl.
Kody odpowiedzi HTTP
| Kod | Znaczenie | Opis |
|---|---|---|
200 | Sukces | Zapytanie przetworzone poprawnie |
400 | Nieprawidłowe zapytanie | Błąd walidacji biznesowej (np. nieprawidłowy checksum rejestracji, wyłączony kanał, zła kwota) |
401 | Brak autoryzacji | Brakujące lub nieprawidłowe dane uwierzytelniające; także nieprawidłowy checksum przy zwrotach, szczegółach transakcji i wypłatach (Unauthorized request) |
403 | Dostęp zabroniony | Brak uprawnień do zasobu (errorcode: err01) |
404 | Nie znaleziono | Zasób nie istnieje |
422 | Błąd walidacji pól | Zapytanie nie przeszło walidacji formalnej pól (patrz format poniżej) |
500 | Błąd serwera | Wewnętrzny błąd serwera |
Formaty odpowiedzi
Odpowiedź sukcesu (rejestracja płatności)
{
"error": false,
"msg": "https://secure.dpay.pl/transfer@pay@A75AEBB4-4B89-4834-AD43-EF442C133769",
"status": true,
"transactionId": "A75AEBB4-4B89-4834-AD43-EF442C133769"
}
Pole msg w odpowiedzi sukcesu rejestracji przyjmuje różne wartości w zależności od scenariusza:
| Scenariusz | Wartość msg | Dodatkowe pola |
|---|---|---|
| Przekierowanie na bramkę płatności | URL bramki płatności | brak |
| Tryb testowy | URL wewnętrznej strony symulacji płatności | brak |
| Przetwarzanie wewnętrzne (bez przekierowania, np. płatność inicjowana kodem) | Internal processing | brak |
| Transakcja natychmiast opłacona | Transaction paid | additionalInfo.transaction ze szczegółami transakcji |
Odpowiedź sukcesu - transakcja opłacona
{
"error": false,
"msg": "Transaction paid",
"status": true,
"transactionId": "A75AEBB4-4B89-4834-AD43-EF442C133769",
"additionalInfo": {
"transaction": {
"payment_id": "A75AEBB4-4B89-4834-AD43-EF442C133769",
"pid": null,
"mtid": null,
"email": "klient@example.com",
"description": "Zamówienie #1234",
"name": null,
"surname": null,
"value": "29.99",
"status": "paid",
"creation_date": "2026-05-03 17:40:07",
"payment_date": "2026-05-03 17:40:12"
}
}
}
Statusy w polu additionalInfo.transaction.status opisuje sekcja Statusy transakcji.
Odpowiedź błędu transakcji (np. anulowana)
{
"error": true,
"msg": "Transaction canceled",
"status": false,
"transactionId": "42191111-A7AE-392E-8C09-7965C1DC6B0B"
}
Błąd walidacji biznesowej (HTTP 400)
Zwracany przy błędach po stronie merchanta (nieprawidłowy checksum, wyłączony kanał, zła kwota). Pole message zawiera konkretny komunikat błędu, a errors to obiekt mapujący nazwę pola na komunikat (nie tablica):
{
"status": "failed",
"message": "Invalid checksum",
"errors": {
"checksum": "Invalid checksum"
}
}
{
"status": "failed",
"message": "Amount is less than 0.01 PLN",
"errors": {
"value": "Invalid value"
}
}
Jeśli błąd nastąpił po utworzeniu transakcji (tak jest przy odrzuconym pobraniu na zapisanej
karcie - obciążenie wykonuje się w trakcie rejestracji), odpowiedź dodatkowo niesie transactionId
transakcji, o którą możesz zapytać w szczegółach transakcji,
a przy odmowie karty także blok cardError opisany w sekcji Kody odmowy kartowej:
{
"status": "failed",
"message": "Payment was declined by the card issuer.",
"errors": [],
"transactionId": "A75AEBB4-4B89-4834-AD43-EF442C133769",
"cardError": {
"code": "payment_declined",
"declineCode": "51",
"declineMessage": "Insufficient funds or over credit limit"
}
}
Oba klucze są opcjonalne - pojawiają się tylko wtedy, gdy jest co pokazać.
Błąd walidacji pól (HTTP 422)
Gdy zapytanie nie przejdzie walidacji formalnej pól (brak pola wymaganego, zły typ danych), API zwraca standardową odpowiedź walidacyjną. W tym formacie errors mapuje nazwę pola na tablicę komunikatów:
{
"message": "The value field is required.",
"errors": {
"value": [
"The value field is required."
]
}
}
Odpowiedź błędu z kodem (403)
{
"error": true,
"errorcode": "err01",
"message": "Access denied",
"status": false
}
Odpowiedź karty - sukces
{
"success": true,
"status": "success",
"message": {
"redirectText": "",
"redirectType": "SUCCESS",
"dccOffer": null
}
}
Przy sukcesie (success: true) pole message jest obiektem, w którym dccOffer występuje zawsze - przyjmuje null, gdy oferta przewalutowania nie została złożona. Przy błędzie (success: false) pole message jest stringiem z komunikatem błędu.
Odpowiedź karty - wymagane 3D Secure
{
"success": true,
"status": "success",
"message": {
"redirectText": "PGZvcm0gbWV0aG9kPSJQT1NUIi4uLg==",
"redirectType": "FORM",
"dccOffer": null
}
}
Odpowiedź karty - błąd
{
"success": false,
"status": "error",
"message": "DCC_OFFER_EXPIRED"
}
Gdy operacja została odrzucona przez wydawcę karty, odpowiedź niesie dodatkowo obiekt
error z kodem odmowy:
{
"success": false,
"status": "error",
"message": "Payment was declined by the card issuer.",
"error": {
"code": "payment_declined",
"declineCode": "05",
"declineMessage": "Do not honor"
}
}
Znaczenie pól opisuje sekcja Kody odmowy kartowej. Obiekt error
jest opcjonalny - pojawia się tylko wtedy, gdy odmowa niesie rozpoznany kod. Buduj
integrację tak, żeby jego brak nie był błędem, a pole message pozostaje źródłem komunikatu.
Odpowiedź karty - oferta DCC (karta zagraniczna)
{
"success": true,
"status": "success",
"message": {
"redirectText": null,
"redirectType": "DCC_OFFER",
"dccOffer": {
"currencyConversionId": "00509166251006151007",
"originalAmount": 3.00,
"originalCurrency": "EUR",
"convertedAmount": 13.52,
"convertedCurrency": "PLN",
"exchangeRate": 4.507968,
"validUntil": "2026-05-03T17:40:07+00:00",
"declarationText": "Make sure you understand the costs of currency conversions...",
"markup": [{ "rate": 6.0, "additionalInfo": "Mastercard" }],
"europeanEconomicArea": true
}
}
}
Pełen opis obsługi: Dynamic Currency Conversion (DCC).
Odpowiedź BLIK - błąd
{
"error": true,
"msg": "Transaction canceled",
"status": false,
"transactionId": "42191111-A7AE-392E-8C09-7965C1DC6B0B",
"additionalInfo": {
"error": "USER_DECLINED",
"error_description": null
}
}
Statusy transakcji
Pole status w odpowiedzi na zapytanie o szczegóły transakcji (pbl/details) oraz w statusach zwrotów:
| Status | Opis |
|---|---|
created | Transakcja utworzona, oczekuje na płatność |
processing | Płatność w trakcie przetwarzania |
paid | Płatność zakończona sukcesem |
captured | Środki pobrane po wcześniejszej preautoryzacji |
expired | Transakcja anulowana lub wygasła |
W polu additionalInfo.transaction.status odpowiedzi rejestracji (wariant Transaction paid) obowiązuje inne mapowanie: pending, paid, captured, canceled. Statusy pending i canceled pojawiają się wyłącznie w tym miejscu, a created, processing i expired wyłącznie w odpowiedzi szczegółów transakcji.
Statusy wypłat
Pole state w odpowiedzi na zapytanie o szczegóły wypłaty (pbl/withdraws/details):
| Wartość | Status | Opis |
|---|---|---|
0 | Oczekuje | Wypłata oczekuje na realizację |
1 | Zrealizowana | Wypłata została przetworzona |
-1 | Błąd | Wypłata zakończona niepowodzeniem |
Oprócz state, pól kwotowych (net, fee, gross) i daty utworzenia (creation_date) odpowiedź zawiera:
| Pole | Opis |
|---|---|
id | Identyfikator wypłaty |
paysafecard | 1, gdy wypłata rozlicza płatności Paysafecard; w przeciwnym razie 0 (obecne, gdy direct_settlement = 0) |
declined | 1, gdy wypłata została odrzucona; w przeciwnym razie 0 |
decline_reason | Powód odrzucenia wypłaty (obecne tylko, gdy declined = 1) |
decline_status | Status procesu odrzucenia (obecne tylko, gdy declined = 1) |
direct_settlement | 1, gdy wypłata jest realizowana jako rozliczenie kierowane na wskazane rachunki |
nrb | Numer rachunku wypłaty (obecne, gdy direct_settlement = 0) |
receiver | Obiekt z danymi odbiorców rozliczenia kierowanego (obecne zamiast nrb, gdy direct_settlement = 1) |
Zawartość wypłaty
Endpoint pbl/withdraws/details/full zwraca to samo, co pbl/withdraws/details, i dodatkowo transakcje, które składają się na wypłatę. Odpowiedź ma cztery części:
| Pole | Opis |
|---|---|
settlement | Nagłówek wypłaty - te same pola co w pbl/withdraws/details, uzupełnione o currency_code i export_date |
summary | Sumy net, fee, gross oraz count dla całej wypłaty, niezależnie od stronicowania |
transactions | Strona pozycji: payment_id, date, net, fee, gross, service_id, service_name, custom, ipksef |
meta | page, per_page, total, total_pages |
Wszystkie kwoty w tej odpowiedzi - w nagłówku, w summary i w pozycjach - są łańcuchami znaków z dwoma miejscami po przecinku (np. "27.15"). Walutę znajdziesz w settlement.currency_code.
Stronicowanie jest oparte na numerze strony (page od 1, per_page domyślnie 100, maksymalnie 500). Strona poza zakresem zwraca pustą listę transactions, a nie ostatnią stronę - dzięki temu możesz iterować aż do pustej odpowiedzi. Sumy w summary zawsze opisują całą wypłatę, więc nadają się do uzgodnienia kwoty przelewu bez pobierania wszystkich stron.
Wypłata obejmująca dokładnie jedną płatność (rozliczenie kierowane, wypłata z formularza zwrotu) zwraca jedną pozycję z kwotami z nagłówka - kontrakt jest ten sam dla każdego typu wypłaty. Gdy pozycje nie są znane, transactions jest pustą listą, a summary.count wynosi 0.
Dopasowanie pozycji do własnych zamówień
Każda pozycja niesie dwa identyfikatory, którymi zepniesz wypłatę ze swoim systemem bez zgadywania po kwocie i dacie:
| Pole | Znaczenie |
|---|---|
payment_id | Identyfikator transakcji dpay - ten sam, który dostajesz w IPN w polu id |
custom | Twoje dane własne przekazane przy rejestracji płatności - ta sama wartość, którą IPN zwraca jako custom (null, gdy płatność ich nie niosła) |
Prowizja jest liczona dla konkretnej płatności, nie rozdzielana proporcjonalnie na pozycje - transactions[].fee to rzeczywisty koszt tej transakcji.
Zwroty i obciążenia salda są osobnymi pozycjami z ujemnymi kwotami, a nie korektą w sumach nagłówka. Ich payment_id wskazuje źródło: ZWROT-{payment_id} dla zwrotu zleconego z panelu, REFUND-FORM-{uuid} dla zwrotu z formularza.
Znalezienie identyfikatora wypłaty
Endpoint pbl/withdraws zwraca listę Twoich wypłat, od najnowszej. Stamtąd bierzesz id, którym odpytujesz szczegóły:
| Pole | Opis |
|---|---|
withdraws[].id | Identyfikator wypłaty - użyj go jako withdraw_id |
withdraws[].type | standard, direct (wypłata jednej płatności) albo paysafecard |
withdraws[].state | Jak wyżej: 0 oczekuje, 1 zrealizowana, -1 błąd |
withdraws[].export_date | Kiedy przelew poszedł do banku; null, dopóki nie wyszedł |
meta | page, per_page, total, total_pages |
Filtry: date_from, date_to (po dacie utworzenia), state i type. Domyślnie per_page to 50, maksymalnie 200. Lista nie zawiera numeru rachunku ani danych odbiorcy - te wydaje dopiero szczegół wypłaty.
Błędy rejestracji płatności
Komunikaty zwracane w polu message odpowiedzi HTTP 400 (patrz Błąd walidacji biznesowej):
| Komunikat | Przyczyna | Rozwiązanie |
|---|---|---|
Invalid checksum | Nieprawidłowa suma kontrolna | Sprawdź kolejność pól i klucz Hash. Format: sha256(service|hash|value|url_success|url_fail|url_ipn) z value znormalizowanym do dwóch miejsc po przecinku |
Service not found | Nieznana nazwa serwisu | Sprawdź pole service w panelu dpay.pl |
Amount is less than 0.01 PLN | Kwota niższa niż minimalna | Podaj kwotę co najmniej 0.01 w formacie z kropką dziesiętną (np. "29.99"); w errors.value pojawia się wtedy Invalid value |
Kody błędów BLIK
Przy odmowie płatności BLIK pole additionalInfo.error zawiera surowy kod odmowy systemu BLIK, przekazywany 1:1 bez mapowania po stronie dpay. Lista kodów jest otwarta - zależy od banku klienta i systemu BLIK. Traktuj to pole jako informację diagnostyczną i nie buduj na nim logiki biznesowej.
W trybie testowym płatności są symulowane i pole additionalInfo.error przyjmuje jeden z następujących kodów:
| Kod | Opis |
|---|---|
DECLINE | Transakcja odrzucona przez wydawcę |
EXPIRED_CARD | Instrument płatniczy wygasł |
INSUFFICIENT_FUNDS | Niewystarczające środki |
USER_DECLINED | Użytkownik odrzucił transakcję |
TIMEOUT | Upłynął czas oczekiwania na potwierdzenie |
ALIAS_NOT_FOUND | Nie znaleziono aliasu |
SYSTEM_ERROR | Symulowany błąd systemowy |
Kody błędów MB WAY
Pole additionalInfo.error w odpowiedzi na płatność MB WAY (przy error: true, status: false):
| Kod | Opis | Rozwiązanie |
|---|---|---|
E0506 | Numer telefonu nie jest zarejestrowany w aplikacji MB WAY | Poproś klienta o rejestrację numeru w aplikacji MB WAY lub o podanie innego numeru |
E0508 | Numer telefonu chwilowo niedostępny w MB WAY | Spróbuj ponownie za chwilę lub użyj innej metody płatności |
E0099 | Operacja niedozwolona dla podanego numeru | Klient powinien skontaktować się z obsługą MB WAY |
E0103 | Niepoprawne dane żądania | Sprawdź format numeru telefonu (PT: 9 cyfr, prefix 351) oraz pozostałe pola |
E0309 | Transakcja nie znaleziona | Sprawdź transactionId lub zainicjuj nową płatność |
E0399 | Transakcja odrzucona | Klient odrzucił transakcję w aplikacji lub upłynął czas potwierdzenia |
E0000 | Kod zastępczy - system nie zwrócił kodu błędu | Potraktuj jak błąd generyczny; sprawdź error_description, przy powtórzeniach eskaluj do support |
inne E* | Generyczny błąd procesora MB WAY | Pole error_description zawiera szczegółowy komunikat - eskaluj do support jeśli powtarza się |
Format pełnej odpowiedzi błędu MB WAY:
{
"error": true,
"msg": "Transaction canceled",
"status": false,
"transactionId": "42191111-A7AE-392E-8C09-7965C1DC6B0B",
"additionalInfo": {
"error": "E0506",
"error_description": "The provided alias does not exists"
}
}
Kody odpowiedzi kart
Pole message.redirectType w odpowiedzi na płatność kartą. Poniższa lista wartości jest kompletna:
| Wartość | Znaczenie | Działanie |
|---|---|---|
SUCCESS | Płatność zakończona | Przekieruj klienta na stronę sukcesu |
FORM | Wymagane 3D Secure | Wyświetl formularz 3DS z redirectText (zakodowany Base64) |
URL | Przekierowanie na adres zewnętrzny | Przekieruj klienta na adres z redirectText |
DCC_OFFER | Oferta przewalutowania (DCC) | Pokaż klientowi obie kwoty z pola dccOffer, po decyzji wywołaj endpoint ponownie z dccDecision (patrz DCC) |
Kody odmowy kartowej
Odmowy kartowe zwracane przez API niosą obiekt z kodem odmowy - w odpowiedzi na operację kartową
pod kluczem error, a w szczegółach transakcji oraz
w odpowiedzi 400 rejestracji przy odrzuconym pobraniu na
zapisanej karcie pod kluczem cardError. Struktura wszystkich jest identyczna:
| Pole | Typ | Opis |
|---|---|---|
code | string|null | Stabilny identyfikator przyczyny nadany przez dpay - patrz tabela poniżej. Nie zmienia się między operacjami ani w czasie, więc nadaje się na warunek w kodzie. |
declineCode | string|null | Dwuznakowy kod odpowiedzi sieci kartowej (ISO 8583) otrzymany od wydawcy karty. null, gdy odmowa nie pochodzi z autoryzacji (np. odrzucenie na etapie walidacji operacji). |
declineMessage | string|null | Opis kodu declineCode po angielsku. Wartość jest deterministyczna - ta sama odmowa zawsze zwraca ten sam tekst, więc nadaje się do logowania i porównywania. Do prezentacji użytkownikowi tłumacz po declineCode, nie po tym polu. |
Blok pojawia się wyłącznie wtedy, gdy odmowa niesie rozpoznany kod. Traktuj jego brak jako
normalny przypadek i nie uzależniaj od niego obsługi błędu - message pozostaje źródłem komunikatu.
Wartości pola code
| Wartość | Znaczenie | Co zrobić |
|---|---|---|
payment_declined | Wydawca karty odrzucił autoryzację | Sprawdź declineCode; przy 05/51 zaproponuj inną metodę płatności |
invalid_card | Nieprawidłowe dane karty lub nieobsługiwany typ karty | Poproś o poprawienie danych albo o inną kartę |
card_already_registered | Karta jest już zapisana dla tej usługi | Użyj istniejącego zapisu zamiast dodawać kartę ponownie |
card_unavailable | Zapisana karta nie nadaje się do tej operacji | Poproś o ponowne dodanie karty |
card_not_saved | Nie udało się zapisać karty | Powtórz zapis karty |
refund_unavailable | Zwrot nie jest dostępny dla tej transakcji | Zweryfikuj stan transakcji przed ponowieniem |
transaction_not_found | Wskazana transakcja nie istnieje | Sprawdź identyfikator transakcji |
invalid_request | Żądanie nie przeszło walidacji | Popraw dane żądania |
provider_unavailable | Chwilowa niedostępność przetwarzania | Ponów operację po chwili |
payment_error | Płatności nie udało się przetworzyć | Ponów lub zaproponuj inną metodę płatności |
Wartości pola declineCode
Kody odpowiedzi sieci kartowej (ISO 8583). Kolumna „Opis" zawiera dokładny tekst zwracany
w polu declineMessage.
| Kod | Opis (declineMessage) | Znaczenie |
|---|---|---|
01 | Refer to card issuer | Skontaktuj się z wydawcą karty |
03 | Invalid merchant | Nieprawidłowy akceptant |
04 | Capture card | Zatrzymaj kartę |
05 | Do not honor | Transakcja odrzucona przez wydawcę karty |
08 | Honor with ID | Zatwierdzono po weryfikacji tożsamości |
10 | Partial approval | Transakcja częściowo zatwierdzona |
12 | Invalid transaction | Nieprawidłowa transakcja |
13 | Invalid amount | Nieprawidłowa kwota |
14 | Invalid card number | Nieprawidłowy numer karty |
15 | Invalid issuer | Nieprawidłowy wydawca karty |
30 | Format error | Błąd formatu danych |
41 | Lost card | Karta zgłoszona jako zagubiona |
43 | Stolen card | Karta zgłoszona jako skradziona |
46 | Closed account | Konto zostało zamknięte |
51 | Insufficient funds or over credit limit | Niewystarczające środki lub przekroczony limit kredytowy |
54 | Expired card | Karta straciła ważność |
55 | Invalid PIN | Nieprawidłowy PIN |
57 | Transaction not permitted to issuer or cardholder | Transakcja niedozwolona dla wydawcy lub posiadacza karty |
58 | Transaction not permitted to acquirer or terminal | Transakcja niedozwolona dla agenta rozliczeniowego lub terminala |
61 | Exceeds withdrawal amount limit | Przekroczono limit kwoty wypłaty |
62 | Restricted card | Karta objęta ograniczeniami |
63 | Security violation | Naruszenie zasad bezpieczeństwa |
65 | Exceeds withdrawal count limit | Przekroczono limit liczby wypłat |
70 | Contact card issuer | Skontaktuj się z wydawcą karty |
71 | PIN not changed | PIN nie został zmieniony |
72 | Account not yet activated | Konto nie zostało jeszcze aktywowane |
75 | Allowable number of PIN tries exceeded | Przekroczono dozwoloną liczbę prób wprowadzenia PIN-u |
76 | Invalid or nonexistent “To Account” specified | Wskazany rachunek docelowy jest nieprawidłowy lub nie istnieje |
77 | Invalid or nonexistent “From Account” specified | Wskazany rachunek źródłowy jest nieprawidłowy lub nie istnieje |
78 | Invalid or nonexistent account specified | Wskazany rachunek jest nieprawidłowy lub nie istnieje |
79 | Life cycle (Mastercard only) | Błąd cyklu życia transakcji (tylko Mastercard) |
80 | System not available | System jest niedostępny |
81 | Domestic debit transaction not allowed | Krajowa transakcja kartą debetową jest niedozwolona |
82 | Policy (Mastercard only) | Odrzucono z powodu polityki Mastercard |
83 | Fraud or security (Mastercard only) | Podejrzenie oszustwa lub naruszenia bezpieczeństwa (tylko Mastercard) |
84 | Invalid authorization life cycle | Nieprawidłowy cykl życia autoryzacji |
85 | Not declined | Transakcja nie została odrzucona |
86 | PIN validation not possible | Weryfikacja PIN-u nie jest możliwa |
87 | Purchase amount only; no cash back allowed | Dozwolony jest tylko zakup, bez wypłaty gotówki |
88 | Cryptographic failure | Błąd kryptograficzny |
89 | Unacceptable PIN; transaction declined; retry | PIN nie został zaakceptowany; ponów transakcję |
90 | Cutoff is in progress | Trwa zamknięcie okresu rozliczeniowego |
91 | Authorization system or issuer system inoperative | System autoryzacyjny lub system wydawcy jest niedostępny |
92 | Unable to route transaction | Nie można wyznaczyć trasy transakcji |
94 | Duplicate transaction detected | Wykryto zduplikowaną transakcję |
96 | System error | Błąd systemu |
1Z | Authorization system or issuer system inoperative | System autoryzacyjny lub system wydawcy jest niedostępny |
Kody 41 (karta zgubiona), 43 (karta skradziona) i 63 (naruszenie bezpieczeństwa) są
sygnałami dla Ciebie, nie dla płatnika. Pokazuj wtedy ogólny komunikat o odrzuceniu płatności -
szczegół podpowiada osobie posługującej się cudzą kartą, dlaczego transakcja nie przeszła.
Kody błędów DCC
Błędy DCC są zwracane z kodem HTTP 200 w formacie {"success": false, "status": "error", "message": "..."} - pole message jest wtedy stringiem z kodem błędu:
{
"success": false,
"status": "error",
"message": "DCC_OFFER_EXPIRED"
}
| Komunikat | HTTP | Przyczyna | Rozwiązanie |
|---|---|---|---|
DCC_OFFER_EXPIRED | 200 | Decyzja wysłana po validUntil z oferty DCC | Pokaż "Oferta wygasła", wróć do ekranu metody płatności i rozpocznij nowy flow |
INVALID_FLOW_STATE | 200 | dccDecision wysłane bez wcześniejszej oferty (np. na zfinalizowanej transakcji) | Błąd techniczny - log + redirect na error screen |
Nie rozpoznawaj tych błędów po kodzie HTTP - odpowiedź przychodzi z HTTP 200. Sprawdzaj pole success w body odpowiedzi.
Kody błędów DCB
Błędy rejestracji DCB (endpoint secure.dpay.pl/dcb/register)
Komunikaty zwracane w polu msg przy error: true:
| Komunikat | HTTP | Przyczyna | Rozwiązanie |
|---|---|---|---|
missing guid or value or url success/fail or chcksum | 400 | Brak jednego z wymaganych pól: guid, value, url_success, url_fail, checksum | Uzupełnij wszystkie wymagane pola zapytania |
Could not find service by GUID | 400 | Nieznany identyfikator GUID | Sprawdź GUID w panelu dpay.pl |
Service not verified. | 401 | Punkt płatności nie przeszedł weryfikacji | Dokończ weryfikację punktu płatności |
Invalid checksum | 400 | Nieprawidłowa suma kontrolna | Kwota w checksum w złotych z dwoma miejscami po przecinku, bez url_ipn - patrz Generowanie checksum |
Komunikat missing guid or value or url success/fail or chcksum zawiera literówkę (chcksum) po stronie API - jest zwracany dosłownie w tej formie.
Statusy płatności DCB
| Wartość | Status | Opis |
|---|---|---|
1 | PAID | Płatność zrealizowana |
0 | PENDING | Płatność oczekuje na potwierdzenie |
-1 | REJECTED | Płatność odrzucona |
2 | REFUNDED | Płatność zwrócona |
Statusy weryfikacji DCB
| Wartość | Status | Opis |
|---|---|---|
1 | VERIFIED | Numer zweryfikowany |
0 | NOT_VERIFIED | Numer niezweryfikowany |
-1 | BLOCKED | Numer zablokowany |
-2 | REQUIRES_CONTACT | Wymagany kontakt z obsługą |
Statusy kodów SMS
| Wartość | Status | Opis |
|---|---|---|
1 | USED | Kod wykorzystany |
0 | PENDING | Kod oczekuje na użycie |
-1 | REJECTED | Kod odrzucony |