Przejdź do głównej zawartości

Transakcje AIS

Dla sesji z purpose=account_data (AIS/PSD2) po zakończeniu weryfikacji możesz pobrać historię transakcji z połączonych banków klienta.

Endpoint

GET /api/v1/verifications/{id}/transactions

Wymagania

  • Sesja musi mieć purpose: account_data
  • Sesja musi być w stanie completed
  • Provider to ais_psd2

Parametry query

ParametrTypOpis
bank_keystringFiltruj po kluczu banku (np. pko_bp, mbank)
account_iduuidFiltruj po ID konkretnego rachunku
per_pageintegerWyników na stronę (1-200, domyślnie 50)

Przykład

curl "https://hub.dpay.pl/api/v1/verifications/a1b2c3d4-e5f6-7890-abcd-ef1234567890/transactions?per_page=50" \
-H "Authorization: Bearer deid_live_xxx"

Odpowiedź (200 OK)

{
"data": [
{
"id": "tx-uuid-1",
"amount": "150.00",
"currency": "PLN",
"category": "DEBIT",
"description": "Przelew do Jan Kowalski",
"booking_date": "2026-04-05",
"trade_date": "2026-04-05",
"counterparty": "Jan Kowalski",
"account_id": "acc-uuid-1"
},
{
"id": "tx-uuid-2",
"amount": "5000.00",
"currency": "PLN",
"category": "CREDIT",
"description": "Wynagrodzenie",
"booking_date": "2026-04-01",
"trade_date": "2026-04-01",
"counterparty": "Firma XYZ Sp. z o.o.",
"account_id": "acc-uuid-1"
}
],
"meta": {
"current_page": 1,
"total": 45,
"per_page": 50,
"last_page": 1
}
}

Schemat transakcji

PoleTypOpis
iduuidUnikalny ID transakcji w HUB
amountstringKwota transakcji (jako string dla dokładności decimal)
currencystringKod waluty (ISO 4217, np. PLN, EUR)
categorystringCREDIT (wpływ) lub DEBIT (wydatek)
descriptionstring|nullOpis transakcji z systemu banku
booking_datedate|nullData księgowania (YYYY-MM-DD)
trade_datedate|nullData operacji (YYYY-MM-DD)
counterpartystring|nullKontrahent (nadawca lub odbiorca)
account_iduuidID konta bankowego, z którego pochodzi transakcja

Błędy

KodBłądOpis
403TRANSACTIONS_NOT_AVAILABLESesja nie jest typu account_data
404SESSION_NOT_COMPLETEDSesja niezakończona lub nie istnieje

Przykład błędu 403

{
"error": {
"code": "TRANSACTIONS_NOT_AVAILABLE",
"message": "Transaction data is only available for account_data sessions."
}
}

Filtrowanie

Transakcje z jednego banku

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

Transakcje z konkretnego rachunku

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

Paginacja

Endpoint zwraca dane paginowane:

  • Domyślnie: 50 transakcji na stronę
  • Maksymalnie: 200 transakcji na stronę (per_page=200)

Dla pobrania kolejnych stron użyj parametru page:

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

Bezpieczeństwo i RODO

Wrażliwe dane finansowe

Dane transakcyjne są szczególnie wrażliwe w rozumieniu RODO. Zobowiązania:

  • Przechowuj je zaszyfrowane (AES-256 lub silniejsze)
  • Ograniczaj dostęp do niezbędnego minimum (RBAC)
  • Prowadź audit log dostępów
  • Stosuj ścisłe zasady retencji - usuwaj gdy tylko przestaną być potrzebne
  • Jasno informuj klienta w klauzuli informacyjnej jak długo przechowujesz dane finansowe

Patrz również: Dane PII - ogólne wytyczne RODO.