Ga naar hoofdinhoud

IBAN-verificatie (bankoverschrijving)

Zakelijke klanten (BEDRIJF-accounts met een gekoppelde organisatie) kunnen hun IBAN verifieren via een handmatige bankoverschrijving van EUR 0,01, als alternatief voor iDEAL. De machtiging wordt direct ondertekend; de IBAN-verificatie blijft daarna maximaal 30 dagen open. Als beheerder moet u af en toe handmatig ingrijpen bij niet-gematchte stortingen en heeft u inzicht in de cleanup-cyclus.

Alleen voor BEDRIJF

Bankoverschrijving is alleen beschikbaar voor authorisaties met een organizationId. Particuliere accounts gebruiken altijd iDEAL. De validatie gebeurt server-side in resolveVerificationPaymentMethod en retourneert een 400-fout bij een niet-zakelijke poging.

Levenscyclus van een verificatie

StatusBetekenis
PENDING (authorization)Machtiging is ondertekend, IBAN is nog niet geverifieerd — deadline ibanVerificationDeadlineAt staat 30 dagen in de toekomst
ACTIVE (authorization) + PENDING (iban)Klant heeft ondertekend, wacht op binnenkomende overboeking
VERIFIED (iban)Mollie-webhook heeft een betaling ontvangen, IBAN gematcht en ibanVerifiedAt gezet
EXPIRED (iban + authorization)30 dagen verstreken zonder storting — machtiging vervalt

De velden staan op de Authorization-tabel:

KolomDoel
ibanVerificationStatusPENDING / VERIFIED / EXPIRED
ibanVerificationDeadlineAtDeadline (30 dagen na ondertekening)
ibanVerifiedAtTijdstip waarop de verificatie succesvol werd afgerond
iban / accountHolderLeeg of "Onbekend" zolang verificatie PENDING is; gevuld na VERIFIED

Per poging wordt een AuthorizationVerificationAttempt bijgehouden met paymentMethod: "banktransfer", resolvedIban, resolvedAccountHolder en de statuscodes van Mollie.

Zicht op openstaande verificaties

Via gebruikersdetail

  1. Ga naar Admin > Gebruikers en open de detailpagina van de klant
  2. In de sectie Machtigingen ziet u de status per machtiging
  3. Bij bankoverschrijving verschijnt onder de machtiging een labeltje IBAN-verificatie PENDING met de deadline

Via organisatiedetail

  1. Ga naar Admin > Organisaties
  2. Open de organisatie — machtigingen met openstaande IBAN-verificatie zijn gemarkeerd
  3. Gebruik de filter op status om alleen PENDING-verificaties te tonen
Prisma-query voor lijstweergave

Een snelle overzicht via Prisma Studio: Authorization.findMany({ where: { organizationId: { not: null }, ibanVerificationStatus: "PENDING", ibanVerificationDeadlineAt: { gt: now } } }).

Handmatig matchen

Soms herkent Mollie het IBAN van de inkomende betaling niet automatisch (bijvoorbeeld omdat de klant vanaf een tussenrekening betaalt). De betaling wordt dan wel op paid gezet, maar resolvedIban op het AuthorizationVerificationAttempt blijft leeg — de machtiging schakelt in dat geval niet automatisch door naar VERIFIED.

Wanneer handmatig matchen?

  • Klant bevestigt dat de storting is gedaan maar status blijft PENDING
  • De Mollie-admin toont een paid betaling, maar geen IBAN in de details.consumerAccount
  • Er is een overboeking ontvangen van een IBAN die niet (meer) bij de klant hoort

Stappen

  1. Verifieer de binnenkomende betaling in het Mollie Dashboard (juist bedrag, referentie en afzender)
  2. Noteer het IBAN en de tenaamstelling van de afzender
  3. Open de gebruiker / organisatie in de admin-omgeving
  4. Open de machtiging en kies IBAN handmatig bevestigen (indien aanwezig) of neem contact op met development voor een scriptmatige update
  5. Leg de handmatige match vast in de admin notes bij de machtiging, inclusief Mollie payment-ID en de reden
Handmatig invullen ontkoppelt Mollie-verificatie

Zodra u een IBAN handmatig zet, schakelt de server de ibanVerificationStatus naar VERIFIED en wordt ibanVerifiedAt gevuld. Wees zeker van de juiste bron — de handmatige invoer wordt opgenomen in de auditLog.

Cleanup-jobs en termijnen

Er zijn twee cleanup-mechanismen die door elkaar worden gebruikt:

ScopeTermijnTriggerActie
Algemene stale authorisaties (iDEAL en bankoverschrijving)48 uurauthorizationCleanupJob (dagelijks 05:00) — paymentFailureCount >= 1, geen actieve Mollie-betalingVerwijder de authorisatie (cascade op EAN-codes)
Zakelijke IBAN-verificatievenster (bankoverschrijving)30 dagenZelfde job (cleanupStaleAuthorizations) plus expireAuthorizationIbanVerificationIfNeeded bij elk verify-bezoekZet status: EXPIRED, ibanVerificationStatus: EXPIRED, clear molliePaymentId
48 uur vs. 30 dagen

De 48-uursregel treft alleen authorisaties zonder lopend IBAN-verificatievenster of waarvan het venster al is verstreken (organizationId: null OR ibanVerificationDeadlineAt: null OR ibanVerificationDeadlineAt < now). Zakelijke bankoverschrijvingen binnen de 30-dagen-termijn blijven dus veilig staan, ook als er een eerdere mislukte betaalpoging was.

Handmatig triggeren

Voor noodgevallen kan de cleanup ook handmatig worden uitgevoerd:

# Via seed / script
npm run auth:cleanup # of directe import van cleanupStaleAuthorizations()

De job logt via auditLog (action: AUTH_CLEANUP_AUTO) hoeveel authorisaties verwerkt, verwijderd en verlopen zijn.

Monitoring en audit

BronWat staat erin
authorizationCleanupJob logregelsDagelijkse output met processed / deleted / expired
AuditLog (action: AUTH_CLEANUP_AUTO)Historie per run, inclusief eerste 10 foutmeldingen
AuthorizationVerificationAttemptAlle pogingen (iDEAL en bankoverschrijving), met Mollie paymentStatus, resolvedIban en resolvedAccountHolder
Mollie DashboardOriginele betaling met banktransfer-methode en referentiecode

Veelvoorkomende scenario's

Klant meldt: "Ik heb betaald, maar de machtiging staat nog PENDING"

  1. Controleer AuthorizationVerificationAttempt.status voor de bijbehorende machtiging
  2. Als status: "paid" maar resolvedIban: null — handmatig matchen nodig
  3. Als status nog "open" — wacht op Mollie-webhook (doorgaans binnen 1 werkdag na binnenkomst storting)
  4. Controleer altijd of ibanVerificationDeadlineAt nog in de toekomst ligt

Machtiging is per ongeluk verlopen

Als een klant aantoonbaar binnen 30 dagen heeft betaald maar door een bug of webhook-storing de machtiging toch op EXPIRED staat: rol de statuswijziging niet zelf terug via SQL. Meld dit bij development met het authorizationId en het Mollie payment-ID, zodat de toedracht kan worden gereconstrueerd en correctie plaatsvindt via een gecontroleerd script.

Storting ontvangen zonder bijbehorende authorisatie

Mollie leverde een betaling met een onbekende referentie. Dit kan gebeuren als de klant een oude referentie hergebruikt of handmatig heeft gewijzigd. In dat geval wordt het bedrag door de finance-afdeling teruggeboekt; de klant moet een nieuwe machtigingsflow doorlopen.