achtergrond

Techniek achter PSD2: API’s

Het PSD2-me-niet-register maakt het filteren van gegevens nodig. Om te weten hoe dit technisch ontwikkeld moet worden, willen we beter weten hoe de communicatie tussen rekeninginformatiedienstverlener en bank verloopt. In dit artikel werken we uit hoe de PSD2 technisch tot uitvoer komt. Daarvoor moeten we de code in. Hiervoor gebruiken we de openbare API documentatie die banken beschikbaar stellen. We richten ons alleen op de AISP’s, de rekeninginformatiediensten.

Bank en AISP praten via een API

Om beter te weten welke informatie van een bank met een AISP wordt gedeeld hebben we naar verschillende API's van banken gekeken. De AISP en de bank communiceren via een API. In de API is gedefinieerd hoe een verzoek er uit ziet, en welke informatie de bank retour stuurt. Er lijkt geen industriestandaard te zijn die door alle banken wordt gebruikt. Iedere API zal anders zijn, maar de functionaliteit zal overeenkomen doordat dit beschreven is in de PSD2 en de RTS (technische uitwerkingen).

Binnen API nauwelijks beperking mogelijk

Zodra een klant een rekeninginformatiedienst wil gebruikt, zal hij een AISP toestemming geven en dit bevestigen bij de bank (zie ook het artikel PSD2 en privacy). Via de API praten de AISP en de bank met elkaar. Hoe de API eruit ziet bepaald welke informatie wordt overgezet. Een AISP kan bijvoorbeeld het volgende verzoek doen. We hebben een stuk code omgezet naar beter leesbare tekst. De inhoud van het verzoek is hieronder weergegeven.

  • accounts:
    • iban:…an IBAN,
    • balances:iban:…an IBAN,
    • transactions:iban:…an IBAN,
  • recurringIndicator:true, (kan ook false zijn)
  • validUntil:2019-05-30, (er is geen defaultwaarde, wel geldt een maximum van 90 dagen)
  • frequencyPerDay:4 (aantal malen dat gegevens opgehaald kunnen worden)
Consent request with recurring access (bron: Triodos)

Uitsnede van de respons (bron: Triodos)

AISP kan gegevens eenmalig of periodiek vragen en maximaal 90 dagen

Een aanbieder kan opgeven of gegevens eenmalig of periodiek en hoe lang de toestemming geldig blijft. dit kan niet langer zijn dan 90 dagen.

De tijd dat een AISP toegang heeft tot de rekening is 90 dagen, tenzij de AISP aangeeft dat de tijd korter kan zijn. Veel banken lijken uit te gaan van de maximale termijn.

Welke rekeninggegevens worden gedeeld?

In hun voorlichting zijn banken niet eenduidig welke gegevens opgevraagd kunnen worden.

Om beter te snappen wat dit betekent en hoe gedetailleerd gegevens zijn hebben we een normale bank betaling gedaan naar Privacy First. Vervolgens hebben we de transactie gedownload naar een .csv bestand en MT940 bestand. We gaan er van uit dat geen andere gegevens worden gedeeld. De rekeningafschriften laten de volgende informatie zien:

Wat ziet een donateur op het rekeningafschrift

Wat ziet Privacy First op het rekeningafschrift staan?

(In vet gedrukt de elementen die ook via de API ontvangen kunnen worden).

Boekdatum16-7-2019
RekeningnummerNL17TRIO1234567890 (IBAN aangepast)
Bedrag3 (debet en credit kan afgeleid worden uit de +/+ of -/-)
Debet / CreditDebet
Naam tegenrekeningStichting Privacy First via Mollie
TegenrekeningRABONL2U NL70RABO0115600000
CodeID
OmschrijvingOrdernummer M1661161M12LSZDX / Transactienummer 0020002514859230 / 16-07-19 11:28 / anoniem privacyfirst.nl

Wanneer we de normale bankafschriften vergelijken met de API, lijkt het alsof de API minder gegevens deelt dan je nu kan zien in de transactie. Enkele velden kunnen afgeleid worden uit de transactie, zoals debet of credit en een type zoals een overboeking of incasso. Niet duidelijk is of ook de omschrijving wordt gedeeld.

Hoe zit het met locatiegegevens?

Locatiegegevens kunnen afgeleid worden uit de locatie van een rekeninghouder, zoals een (online)winkel, horecagelegenheid of pinapparaat. Deze locatiegegevens verdienen nader onderzoek omdat het de vraag is of deze afgeleid kunnen worden uit de rekeningafschriften wanneer de omschrijving niet wordt meegegeven.

ING deelt anders dan verwacht

De ING geeft aan dat je in de mijnING omgeving “altijd een actueel overzicht van uw af- en bijschrijvingen heeft en kunt u deze afdrukken. Voor uw betaalrekening kunt u het huidige jaar terugkijken en de 9 jaren daarvoor.” Maar, in de API documentatie staat onder het kopje Country specific information in de API documentatie staat dat bij de ING 2 jaar van Transaction history available after SCA ontvangen kan worden. We hebben dit bij ze gemeld, het is natuurlijk wel belangrijk dat documentatie op orde is.

Wat doen we met Mollie en Buckaroo?

Hoe moeten we omgaan met rekeningnummers van tussenpersonen zoals Mollie en Buckaroo? Bijvoorbeeld, de politieke partij D66 maakt gebruik van een Buckeroo rekening. Bij een transactie staat in het opmerkingen veld onder meer ‘Politieke Partij Democraten 66: Contributie D66, februari 2020’, maar de tegenrekening is van Buckaroo. In dit geval zou opname in het register op grond van de tegenrekening niet juist zijn omdat Buckeroo ook door andere organisaties wordt gebruikt. Omwille van de zuiverheid kiezen we er op dit moment voor de Buckaroo rekening niet op te nemen. Daarmee echter blijft informatie over het lidmaatschap aanwezig in het omschrijvingen veld.