Połączenie usług BLIK Level 0 oraz OneClick pozwala na stworzenie najszybszego procesu zakupowego (checkoutu) na polskim rynku. W tym modelu klient wpisuje 6-cyfrowy kod BLIK bezpośrednio na stronie Twojego sklepu (Level 0), a przy okazji pierwszej płatności może zapisać Twój sklep jako zaufany. Każda kolejna płatność w Twoim serwisie będzie wymagała od niego już tylko jednego kliknięcia i potwierdzenia w aplikacji bankowej – całkowicie bez przepisywania kodu BLIK.
Uruchomienie płatności bez kodu wiąże się z restrykcyjnymi procedurami bezpieczeństwa narzuconymi przez Polski Standard Płatności (PSP - operatora BLIK).
Zgłoszenie do usług BLIK Level 0 oraz OneClick jest dostępne wyłącznie dla podmiotów posiadających zarejestrowaną działalność gospodarczą ("z firmą"). SimPay nie oferuje wsparcia w tym zakresie dla osób prowadzących działalność nierejestrowaną.
- Zaloguj się do Panelu Partnera SimPay.
- Przejdź do zakładki Szczegóły usługi > Kanały płatności.
- Włącz najpierw kanał BLIK Level 0 – jest on fundamentem technicznym.
- Dopiero po aktywacji Level 0, możesz wysłać zgłoszenie o rejestrację modułu OneClick.
Twój sklep przed produkcyjnym uruchomieniem OneClick musi bezwzględnie spełniać oficjalne wytyczne i wymagania wizerunkowe. Zapoznaj się z nimi i dostosuj swój serwis: 👉 Oficjalna Checklista BLIK - Payment without code
Aby klient mógł płacić w przyszłości bez kodu, podczas jego pierwszej płatności musisz utworzyć tzw. alias (powiązanie Twojego konta użytkownika z systemem BLIK).
W tym celu wysyłasz standardowe żądanie do BLIK Level 0, przekazując 6-cyfrowy kod w obiekcie ticket.T6, a dodatkowo dołączasz obiekt alias.
👉 Zobacz dokładną specyfikację endpointu w API Reference
{
"ticket": {
"T6": "123456"
},
"alias": {
"label": "Label zgodny z certyfikacją BLIK",
"value": "unikalne_id_playera_lub_klienta_w_twoim_systemie",
"type": "UID"
}
}label– Etykieta, która wyświetli się klientowi w jego aplikacji bankowej podczas potwierdzania zapytania o dodanie sklepu do zaufanych. Musi być zgodna z certyfikacją BLIK.value– Twój wewnętrzny, unikalny identyfikator klienta (np. ID użytkownika z bazy danych).type– Typ aliasu, dla integracji handlowych zawsze używaj wartościUID.
Po udanej płatności z kodem, aplikacja mobilna banku wyświetla komunikat podobny do: "Czy chcesz zapisać ten sklep jako zaufany?". Proces ten odbywa się asynchronicznie.
Twój system musi teraz nasłuchiwać dedykowanego powiadomienia IPN dotyczącego zmiany statusu aliasu: blik:alias_status_changed.
W odpowiedzi webhooka otrzymasz m.in. pole data.id zawierające unikalny identyfikator tego powiązania. Gdy status zmieni się na alias_active, możesz zapisać identyfikator aliasu SimPay w swojej bazie danych przy koncie użytkownika.
👉 Sprawdź strukturę powiadomienia blik:alias_status_changed
Gdy alias jest aktywny, kolejna płatność nie wymaga już od klienta podawania kodu. Inicjując nową transakcję, całkowicie pomijasz obiekt ticket.
Nasze API oferuje dwie metody na zidentyfikowanie powracającego klienta.
👉 Zobacz endpoint płatności OneClick w API Reference
Przekazujesz indywidualny identyfikator aliasu zarejestrowany w SimPay, który otrzymałeś wcześniej w powiadomieniu IPN. Ponieważ wskazuje on na jedną konkretną aplikację bankową, transakcja zawsze przejdzie bezbłędnie.
{
"alias": {
"uuid": "019972b1-e4c0-714f-a10b-f88a158bee50",
"label": "Label zgodny z certyfikacją BLIK"
}
}Przekazujesz swoje własne ID użytkownika z bazy danych. Jeśli użytkownik ma podpiętych kilka banków pod to ID, ta metoda może wymagać dodatkowej obsługi (zobacz sekcję błędu poniżej).
{
"alias": {
"value": "unikalne_id_playera_lub_klienta_w_twoim_systemie",
"type": "UID",
"label": "Label zgodny z certyfikacją BLIK"
}
}W obu przypadkach, po udanym żądaniu, aplikacja mobilna banku wyśle powiadomienie push bezpośrednio na telefon klienta z prośbą o autoryzację transakcji. Nasze API odpowie statusem HTTP 204 No Content.
(Uwaga: Ten błąd może wystąpić wyłącznie wtedy, gdy do autoryzacji używasz Metody B – czyli własnego value + type).
Bardzo częstym scenariuszem jest sytuacja, w której klient posiada ten sam unikalny identyfikator aliasu (np. ten sam login/e-mail w Twoim sklepie) zarejestrowany w kilku różnych aplikacjach bankowych jednocześnie (np. aplikacja VeloBanku oraz PKO BP na jednym telefonie).
W takim wypadku system BLIK nie wie, do którego banku wysłać prośbę o płatność, a API SimPay zwróci błąd HTTP 400 Bad Request o kodzie ALIAS_NOT_UNIQUE.
{
"success": false,
"message": "Alias is not unique. Select interested alias by providing alias.blik_id alongside with alias.value and alias.type.",
"data": {
"alternatives": [
{
"value": "SIMSIM",
"type": "UID",
"label": "TEST APP 222",
"blik_id": 953824
},
{
"value": "SIMSIM",
"type": "UID",
"label": "TEST APP 111",
"blik_id": 953793
}
]
},
"errorCode": "ALIAS_NOT_UNIQUE"
}Gdy Twój backend otrzyma taki błąd, musisz wyświetlić użytkownikowi na stronie okienko z wyborem banku (wykorzystując nazwy przesłane w polach label, np. "Wybierz aplikację bankową: TEST APP 222 czy TEST APP 111").
Gdy użytkownik kliknie w odpowiedni bank, ponawiasz żądanie płatności OneClick, dopisując do obiektu alias otrzymany identyfikator blik_id:
{
"alias": {
"value": "SIMSIM",
"type": "UID",
"label": "TEST APP 222",
"blik_id": 953824
}
}Oprócz opisanego w Kroku 2 powiadomienia o statusie rejestracji samego aliasu (blik:alias_status_changed), przy każdej realizowanej transakcji (zarówno pierwszej autoryzowanej kodem, jak i każdej kolejnej OneClick) Twój system otrzyma standardowe powiadomienia IPN informujące o przepływie pieniędzy.
W momencie, gdy klient autoryzuje (lub odrzuci) płatność na swoim telefonie, SimPay wyśle do Twojej aplikacji dwa równoległe eventy:
transaction:status_changed– Ogólne powiadomienie systemowe o zmianie statusu transakcji w SimPay (np. przejście ze statusu nowej na opłaconątransaction_paidlub odrzuconą). To na jego podstawie powinieneś finalizować zamówienie i wydawać towar.transaction_blik_level0:code_status_changed– Dedykowane powiadomienie specyficzne dla modułu BLIK Level 0. Zawiera ono szczegółowe, niskopoziomowe informacje techniczne bezpośrednio z Polskiego Standardu Płatności (PSP) dotyczące statusu samej próby autoryzacji kodu lub aliasu.