Przejdź do głównej zawartości

AIS / PSD2

Provider: ais_psd2

Dostęp do danych rachunków bankowych klienta poprzez Open Banking (PSD2 AIS - Account Information Service). Pozwala pobrać saldo, listę rachunków oraz historię transakcji z banków klienta - po jego wyraźnej zgodzie.

Jak to działa

  1. Klient otwiera verification_url i wybiera bank z listy obsługiwanych
  2. HUB przekierowuje go do bankowości internetowej przez API PSD2
  3. Klient autoryzuje dostęp w aplikacji bankowej (SCA - Strong Customer Authentication)
  4. Bank zwraca dane rachunków i transakcje do HUB
  5. Webhook verification.completed trafia na Twój endpoint
  6. Pobierasz transakcje przez GET /verifications/{id}/transactions

Kiedy używać?

  • Scoring kredytowy - analiza wpływów i wydatków klienta
  • Onboarding fintechów - PFM, BNPL, digital lending
  • Anti-fraud - weryfikacja źródeł dochodu
  • Aggregacja kont - jednolity widok finansów klienta

Cel sesji - account_data

AIS/PSD2 wymaga ustawienia purpose=account_data (a nie identity_verification). To zmienia kilka rzeczy:

  • TTL sesji: 60 minut (zamiast 30)
  • Dostępne tryby: tylko single, sequential, dynamic
  • Wynik: dostęp do GET /verifications/{id}/transactions

Tryb dynamic - wiele banków

Najczęściej używany tryb dla AIS. Umożliwia połączenie wielu banków w jednej sesji.

curl -X POST https://hub.dpay.pl/api/v1/verifications \
-H "Authorization: Bearer deid_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"purpose": "account_data",
"provider": "ais_psd2",
"bank_selection": "user_driven",
"max_banks": 5,
"min_banks": 1,
"external_id": "scoring-12345"
}'

Parametry trybu dynamic

ParametrTypDomyślnieOpis
bank_selectionstringuser_drivenfixed (z góry przez API) lub user_driven (klient wybiera)
max_banksinteger10Maksymalna liczba banków (1-20)
min_banksinteger1Minimalna liczba banków (1-20) - sesja kończy się po podłączeniu tylu banków
ostrzeżenie

Dla purpose=account_data z bank_selection=user_driven (lub bez podania) tryb jest automatycznie ustawiany na dynamic.

Pobieranie transakcji

Po zakończeniu sesji (status completed) pobierz transakcje:

curl "https://hub.dpay.pl/api/v1/verifications/{id}/transactions?per_page=50" \
-H "Authorization: Bearer deid_live_xxx"

Pełna dokumentacja: Wyniki - Transakcje AIS.

Obsługiwane banki

DPay Web EID obsługuje następujące banki:

  • PKO BP (pl_pko_bp)
  • Intelligo (pl_intelligo)
  • mBank (pl_mbank)
  • Erste Bank Polska (pl_erste)
  • ING Bank Śląski (pl_ing)
  • Pekao SA (pl_pekao)
  • Millennium (pl_millennium)
  • Alior Bank (pl_alior)
  • Citi Handlowy (pl_citi)
  • BNP Paribas (pl_bnp)
  • Velo Bank (pl_velo)
  • Nest Bank (pl_nest)
  • Bank Pocztowy (pl_pocztowy)
  • Credit Agricole (pl_credit_agricole)
  • UniCredit (pl_unicredit)
  • BOŚ (pl_bos)
  • BOŚ Korpo (pl_bos_corpo)
  • Volkswagen Bank (pl_vwfs)
  • Toyota Bank (pl_toyota_bank)
  • Banki spółdzielcze SGB działające w ramach systemu SGB24 (pl_sgb24)

ORAZ międzynarodowe banki/fintechy:

  • Revolut (int_revolut)
  • Wise (int_wise)
  • N26 (de_n26)

Pełną aktualną listę pobierzesz przez GET /providers.

Koszt i czas

  • Koszt klienta: 0 PLN - brak opłat
  • Czas weryfikacji: 1-5 minut (zależnie od liczby banków i SCA)
  • TTL sesji: 60 minut od utworzenia
  • Ważność danych: zgodnie z PSD2 - 90 dni od autoryzacji