Obsługa BLIK Level 0 w SimPay
BLIK Level 0 to uproszczona metoda płatności BLIK, w której użytkownik wpisuje kod BLIK bezpośrednio na stronie Partnera, bez potrzeby przekierowania na stronę eblik.pl.
Twoim obowiązkiem jest spełnienie warunków checklisty BLIK do płatności Level 0, która jest dostępna tutaj.
Generowanie transakcji
- Podczas generowania transakcji należy:
- ustawić pole
directChannel
na wartośćblik-level0
, - przesłać antifraud.useragent płacącego,
- przesłać customer.email płacącego,
- przesłać customer.ip płacącego,
- przesłać customer.countryCode płacącego (obecnie obsługiwany tylko PL),
- ustawić walutę transakcji na PLN (BLIK obecnie wspiera tylko PLN).
- Następnie należy wysłać request na:
POST https://api.simpay.pl/payment/:serviceId/blik/level0/:transactionId
w body należy przesłać:
{
"ticket":{
"T6":"KOD_BLIK"
}
}
W przypadku poprawnego kodu BLIK zwrócony zostanie status HTTP 204
Zwrócenie kodu 204 nie oznacza, że transakcja jest opłacona. Musisz obsłużyć obydwa eventy IPN podane poniżej.
W przypadku błędnego kodu odpowiedź wygląda następująco: HTTP 4xx
{
"success": false,
"message": "Error message",
"errorCode": "ERROR_CODE"
}
Wartości errorCode dostępne są w tabeli pod sekcją IPNv2.
Obsługa eventu IPNv2
W przypadku transakcji BLIK Level 0, SimPay wysyła 2 wiadomości IPN:
transaction:status_changed
(ten sam co przy każdej metodzie),transaction_blik_level0:code_status_changed
. Ta wiadomość zawiera informację o ważności kodu BLIK (pole data.ticket_status). Przykładowy IPN:
{
"type": "transaction_blik_level0:code_status_changed",
"notification_id": "019736c4-50c3-7108-944c-11a0f9c12b72",
"date": "2025-06-03T19:08:44+02:00",
"data": {
"ticket_status": "VALID",
"transaction": {
"id": "70bc5ab3-4973-4275-a0eb-08e3f2ab54f2",
"payer_transaction_id": "6PB8JKKN",
"service_id": "e65c7519",
"status": "transaction_paid",
"amount": {
"final_currency": "PLN",
"final_value": "360.00",
"original_currency": "PLN",
"original_value": "360.00",
"commission_system": "5.36",
"commission_partner": "354.64",
"commission_currency": "PLN"
},
"control": "111122223333"
}
},
"signature": "236197b1a75a8e1c33b0feea94cab753f4b0d7f5ffd044abeea36ea8b89566cc"
}
W przypadku ticket_status innego niż VALID należy poinformować płacącego co było powodem odrzucenia transakcji. Tutaj kierujemy do checklisty BLIKA (sekcja Authorization errors).
od "INSUFFICIENT_FUNDS" w dół.
Lista błędów przy podawaniu kodu BLIK
Kod | Znaczenie |
---|---|
INVALID_BLIK_CODE | Nieprawidłowy kod BLIK. |
PAYER_APP_NOT_ACTIVE | BLIK nie został aktywowany w aplikacji bankowej płacącego. |
PAYER_APP_NOT_FOUND | Nie znaleziono BLIK w aplikacji bankowej płacącego. |
INVALID_BLIK_CODE_FORMAT | Nieprawidłowy format kodu BLIK. |
BLIK_CODE_EXPIRED | Kod BLIK wygasł. |
BLIK_CODE_LIMIT | Przekroczono limit dla tego kodu. |
BLIK_CODE_CANCELLED | Kod BLIK został anulowany. |
BLIK_CODE_NOT_SUPPORTED | Kod BLIK nie jest obsługiwany. |
BLIK_CODE_USED | Kod BLIK został już użyty. |
BLIK_GENERAL_ERROR | Ogólny błąd BLIK. |
BLIK_TECHNICAL_BREAK | Przerwa techniczna w działaniu BLIK. |
Lista testowych kodów T6
Aby kody testowe T6 zadziałały wymagane jest włączenie trybu testowego w ustawieniach usługi w Panelu Klienta SimPay.
Kod T6 | Znaczenie kodu |
---|---|
999000 | Poprawny kod BLIK |
100001 | PAYER_APP_NOT_ACTIVE |
100002 | PAYER_APP_NOT_FOUND |
100003 | INVALID_BLIK_CODE_FORMAT |
100004 | BLIK_CODE_EXPIRED |
100005 | BLIK_CODE_LIMIT |
100006 | BLIK_CODE_CANCELLED |
100007 | BLIK_CODE_NOT_SUPPORTED |
100008 | BLIK_CODE_USED |
100009 | BLIK_GENERAL_ERROR |
100010 | BLIK_TECHNICAL_BREAK |
200001 | INSUFFICIENT_FUNDS |
200002 | LIMIT_EXCEEDED |
200003 | TIMEOUT |
200004 | GENERAL_ERROR |
200005 | SYSTEM_ERROR |
200006 | SEC_DECLINED |
200007 | USER_DECLINED |
200008 | TAS_DECLINED |
{każdy inny} | INVALID_BLIK_CODE |
Kody testowe zaczynające się od 1
oznaczają błąd zwrócony przy inicjacji transakcji Level 0.
Kody testowe zaczynające się od 2
oznaczają błąd przesłany w IPN w evencie transaction_blik_level0:code_status_changed
.