Skip to content
Last updated

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.

Uwaga

Twoim obowiązkiem jest spełnienie warunków checklisty BLIK do płatności Level 0, która jest dostępna tutaj.

Generowanie transakcji

  1. 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).
  1. 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

Uwaga

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).

Checklista BLIK

od "INSUFFICIENT_FUNDS" w dół.

Lista błędów przy podawaniu kodu BLIK

KodZnaczenie
INVALID_BLIK_CODENieprawidłowy kod BLIK.
PAYER_APP_NOT_ACTIVEBLIK nie został aktywowany w aplikacji bankowej płacącego.
PAYER_APP_NOT_FOUNDNie znaleziono BLIK w aplikacji bankowej płacącego.
INVALID_BLIK_CODE_FORMATNieprawidłowy format kodu BLIK.
BLIK_CODE_EXPIREDKod BLIK wygasł.
BLIK_CODE_LIMITPrzekroczono limit dla tego kodu.
BLIK_CODE_CANCELLEDKod BLIK został anulowany.
BLIK_CODE_NOT_SUPPORTEDKod BLIK nie jest obsługiwany.
BLIK_CODE_USEDKod BLIK został już użyty.
BLIK_GENERAL_ERROROgólny błąd BLIK.
BLIK_TECHNICAL_BREAKPrzerwa techniczna w działaniu BLIK.

Lista testowych kodów T6

Kody testowe

Aby kody testowe T6 zadziałały wymagane jest włączenie trybu testowego w ustawieniach usługi w Panelu Klienta SimPay.

Kod T6Znaczenie kodu
999000Poprawny kod BLIK
100001PAYER_APP_NOT_ACTIVE
100002PAYER_APP_NOT_FOUND
100003INVALID_BLIK_CODE_FORMAT
100004BLIK_CODE_EXPIRED
100005BLIK_CODE_LIMIT
100006BLIK_CODE_CANCELLED
100007BLIK_CODE_NOT_SUPPORTED
100008BLIK_CODE_USED
100009BLIK_GENERAL_ERROR
100010BLIK_TECHNICAL_BREAK
200001INSUFFICIENT_FUNDS
200002LIMIT_EXCEEDED
200003TIMEOUT
200004GENERAL_ERROR
200005SYSTEM_ERROR
200006SEC_DECLINED
200007USER_DECLINED
200008TAS_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.