To integrate the Mono Connect into your current software solution, these steps need to be taken:
- Add a public key to your Mono connect widget.
- Prompt user to login to the widget.
- Fetch Customer's Account id via temporary authorisation token callback.
To add the public key to your Mono connect widget, ensure you have an App created on your dashboard. Once created, a pair of secret and public keys will be generated. It is this public key that you add to your callback which then spins up the widget for your user to login.
With your widget now spun up, an enrolment process begins whereby your user logs selects their desired financial institution and then proceeds to login with their mobile or internet banking credentials. In some cases, when multiple accounts are found, your user will be prompted to choose whichever one they would like to proceed with.
Once login is now successful, a temporary authorisation token is sent in the onSuccess callback. Right here, you can send this temporary auth. token to your backend to then exchange for a permanent Account ID (that identifies the authenticated account).
With this Account ID, you can start making API calls to Mono to access users' financial data. e.g Mono's Statement Endpoint
a. The temporary authorisation token lasts for 10 minutes.
b. The Account Id. has no expiry period.
a. After a successful login to a financial institution successfully, a webhook event (mono.events.account_connected) is sent with an Account ID present in the payload. With this, you can send an acknowledgement email to this user that his account has been linked successfully.
b. After the authorisation token has been exchanged for the connected Account ID, a webhook event (mono.events.account_updated) gets sent. The payload contains important information such as the current account balance, customer's name, customer's bank, account number, account type, the currency, the last 4 digits of the BVN, etc. This could take between 0.1 seconds to 1 minute depending on the speed and uptime with the linked bank before this event gets sent.
It is important to wait for this account_updated event to come in and confirm that the data_status in the payload is set to AVAILABLE, before calling our Statement, Transactions, Identity and Income Endpoints. Failure to wait will result in empty data returned on all endpoints.
Alternatively, the Information endpoint can be queried with the Account ID, to also confirm that the data_status in the payload is set to AVAILABLE.
Updated 15 days ago