Przejdź do treści
Ostatnia aktualizacja

Zdarzenie blik:alias_status_changed informuje Twój system o każdej zmianie statusu aliasu BLIK. Alias to specjalny identyfikator, który pozwala na powiązanie konta klienta w Twoim sklepie z jego aplikacją bankową, co w przyszłości umożliwia inicjowanie szybkich płatności OneClick lub automatyczne pobieranie środków (Subskrypcje).

Kiedy wysyłany jest ten event?

Powiadomienie to jest wysyłane w momencie, gdy obsługujesz metody płatności oparte na zapisywaniu BLIKa (np. BLIK Płatności Powtarzalne lub OneClick).

Otrzymasz je między innymi, gdy:

  • Klient poprawnie zatwierdzi zaproszenie do subskrypcji w swojej aplikacji bankowej (status zmieni się na alias_active).
  • Ważność aliasu wygaśnie lub klient samodzielnie wyrejestruje/usunie Twój sklep z zaufanych w swojej aplikacji bankowej (zmiana na alias_expired lub alias_unregistered).

Struktura obiektu data

Gdy pole type w głównym obiekcie powiadomienia ma wartość blik:alias_status_changed, obiekt data będzie zawierał następujące informacje:

PoleTypOpisPrzykładowa wartość
idUUIDID aliasu w systemie SimPay019972b1-e4c0-714f-a10b-f88a158bee50
service_idchar(8)Identyfikator usługie65c7519
typestringTyp aliasuPAYID
valuestringWartość aliasuAABBCCDD
labelstringEtykieta wyświetlana w aplikacji mobilnej banku płacącegotesty
blik_identifier?integerIdentyfikator aliasu w systemie BLIK (wysyłany tylko przy type === UID)testy
statusBlikAliasStatusEnumAktualny status aliasualias_active
created_atISO 8601Data utworzenia aliasu2025-09-22T20:31:25+02:00
updated_atISO 8601Data ostatniej aktualizacji aliasu2025-09-22T20:31:32+02:00
Wskazówka

Zawsze sprawdzaj wartość pola status. Zanim zdecydujesz się na zainicjowanie pierwszej płatności powtarzalnej obciążającej rachunek klienta, upewnij się, że otrzymany z webhooka alias posiada status alias_active. Próba obciążenia wygasłego (alias_expired) lub wyrejestrowanego aliasu zakończy się błędem transakcji.


Przykładowy Payload JSON (alias PAYID)

Poniżej znajduje się kompletny zrzut (payload) powiadomienia wysyłanego dla zdarzenia blik:alias_status_changed (w tym przypadku udana rejestracja i aktywacja aliasu).

(Przykładowa sygnatura została wygenerowana przy użyciu klucza IPN: UwSkKiIwlxIeOMF8MIq9iDkQWBTtjoJQ. Możesz użyć tego klucza i poniższych danych do przetestowania swojego algorytmu walidacji).

{
  "type": "blik:alias_status_changed",
  "notification_id": "019972b2-0233-73d7-ad91-c114b62d56e3",
  "date": "2025-09-22T20:31:32+02:00",
  "data": {
    "id": "019972b1-e4c0-714f-a10b-f88a158bee50",
    "service_id": "e65c7519",
    "type": "PAYID",
    "value": "AABBCCDD",
    "label": "testy",
    "status": "alias_active",
    "created_at": "2025-09-22T20:31:25+02:00",
    "updated_at": "2025-09-22T20:31:32+02:00"
  },
  "signature": "8f1a0f6de3eb5c050e70ca0d7407588e380e8e607e131e289afb0a3a2996d4a1"
}
Zobacz wyliczenie sygnatury
  1. Flatten wszystkich elementów po kolei + separacja |:

Nasz ciąg będzie wyglądać tak:

blik:alias_status_changed|019972b2-0233-73d7-ad91-c114b62d56e3|2025-09-22T20:31:32+02:00|019972b1-e4c0-714f-a10b-f88a158bee50|e65c7519|PAYID|AABBCCDD|testy|alias_active|2025-09-22T20:31:25+02:00|2025-09-22T20:31:32+02:00
  1. Dodaj klucz IPN na końcu ciągu: ...|UwSkKiIwlxIeOMF8MIq9iDkQWBTtjoJQ

  2. Oblicz SHA256 z powyższego ciągu i zakoduj go w hex:

<?php

$signature = hash('sha256', 'blik:alias_status_changed|019972b2-0233-73d7-ad91-c114b62d56e3|2025-09-22T20:31:32+02:00|019972b1-e4c0-714f-a10b-f88a158bee50|e65c7519|PAYID|AABBCCDD|testy|alias_active|2025-09-22T20:31:25+02:00|2025-09-22T20:31:32+02:00|UwSkKiIwlxIeOMF8MIq9iDkQWBTtjoJQ');
  1. Porównaj bezpieczną funkcją porównującą (np. hash_equals w PHP) obliczoną sygnaturę z tą przesłaną w polu signature powiadomienia. W tym przypadku wynikiem hashowania będzie 8f1a0f6de3eb5c050e70ca0d7407588e380e8e607e131e289afb0a3a2996d4a1.

Przykładowy Payload JSON (alias UID)

Poniżej znajduje się kompletny zrzut (payload) powiadomienia wysyłanego dla zdarzenia blik:alias_status_changed (w tym przypadku udana rejestracja i aktywacja aliasu).

(Przykładowa sygnatura została wygenerowana przy użyciu klucza IPN: UwSkKiIwlxIeOMF8MIq9iDkQWBTtjoJQ. Możesz użyć tego klucza i poniższych danych do przetestowania swojego algorytmu walidacji).

{
  "type": "blik:alias_status_changed",
  "notification_id": "019e41ce-92d8-7193-a466-ae753719545f",
  "date": "2026-05-19T21:55:17+02:00",
  "data": {
    "id": "019e41ce-65f6-71ac-a9b8-dcc7134591bf",
    "service_id": "e65c7519",
    "type": "UID",
    "value": "aaaaaa",
    "label": "SuperStore",
    "blik_identifier": 953832,
    "status": "alias_active",
    "expires_at": "2028-05-19T21:55:11+02:00",
    "created_at": "2026-05-19T21:55:06+02:00",
    "updated_at": "2026-05-19T21:55:17+02:00"
  },
  "signature": "6f551ef38eef4c352f92656c17cb43bc75fe32a5250238d64a4f4f25cf8eaec7"
}
Zobacz wyliczenie sygnatury
  1. Flatten wszystkich elementów po kolei + separacja |:

Nasz ciąg będzie wyglądać tak:

  blik:alias_status_changed|019e41ce-92d8-7193-a466-ae753719545f|2026-05-19T21:55:17+02:00|019e41ce-65f6-71ac-a9b8-dcc7134591bf|e65c7519|UID|aaaaaa|SuperStore|953832|alias_active|2026-05-19T21:55:06+02:00|2026-05-19T21:55:17+02:00
  1. Dodaj klucz IPN na końcu ciągu: ...|UwSkKiIwlxIeOMF8MIq9iDkQWBTtjoJQ

  2. Oblicz SHA256 z powyższego ciągu i zakoduj go w hex:

<?php

$signature = hash('sha256', 'blik:alias_status_changed|019e41ce-92d8-7193-a466-ae753719545f|2026-05-19T21:55:17+02:00|019e41ce-65f6-71ac-a9b8-dcc7134591bf|e65c7519|UID|aaaaaa|SuperStore|953832|alias_active|2026-05-19T21:55:06+02:00|2026-05-19T21:55:17+02:00|UwSkKiIwlxIeOMF8MIq9iDkQWBTtjoJQ');
  1. Porównaj bezpieczną funkcją porównującą (np. hash_equals w PHP) obliczoną sygnaturę z tą przesłaną w polu signature powiadomienia. W tym przypadku wynikiem hashowania będzie 6f551ef38eef4c352f92656c17cb43bc75fe32a5250238d64a4f4f25cf8eaec7.