# Zdarzenie: blik:alias_status_changed

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:

| Pole | Typ | Opis | Przykładowa wartość |
|  --- | --- | --- | --- |
| `id` | `UUID` | ID aliasu w systemie SimPay | `019972b1-e4c0-714f-a10b-f88a158bee50` |
| `service_id` | `char(8)` | Identyfikator usługi | `e65c7519` |
| `type` | `string` | Typ aliasu | `PAYID` |
| `value` | `string` | Wartość aliasu | `AABBCCDD` |
| `label` | `string` | Etykieta wyświetlana w aplikacji mobilnej banku płacącego | `testy` |
| `blik_identifier` | `?integer` | Identyfikator aliasu w systemie BLIK (wysyłany tylko przy type === UID) | `testy` |
| `status` | `BlikAliasStatusEnum` | Aktualny [status aliasu](/payment/statuses#statusGroup=Statusy+alias%C3%B3w+BLIK) | `alias_active` |
| `created_at` | `ISO 8601` | Data utworzenia aliasu | `2025-09-22T20:31:25+02:00` |
| `updated_at` | `ISO 8601` | Data ostatniej aktualizacji aliasu | `2025-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).*


```json
{
  "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"
}
```

details
summary
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
<?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).*


```json
{
  "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"
}
```

details
summary
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
<?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`.