---
# System prepended metadata

title: Open banking technical deep-dive

---

# Open banking technical deep-dive
* Scope: how can we build in open banking verification in a clean fashion without touching too much old code?

## Decisions / guidelines
* Setup something new, that doesn’t interfere with the old code, but does create sort of a blueprint for introducing new/changing existing verification methods
* We don’t want to use payments, this is a strong guideline
    * whenever we hit payments, we should split the code/refactor so that it works without payments
* Suggested changes:
    * BankAccount (Helper)
        * inject a service that can determine if the merchant is eligible for using open banking as a verification method
    * BankAccountVerificationPaymentDetector: this should be split into generic verification class and verification payment detection
* internal/BankAccounts: is a painful class, we need to hack something in here
* Integrate plaid with an isolated interface, so that it is swappable with another supplier
* Should be event driven, decoupled
* VerificationPayment side effects need to be investigated
    * Have insights on side effects of the verification payments
* Have an event storming session, also considering the existing events
* Clear boundaries

Important things to focus on: 
* Decouple bankaccounts from mollie-platform
* Synchronous EventDispatcher should become Asynchronous for Identity Verification events

