Direct Debit Integration Guide
Last updated May 8th, 2024
Introduction
Welcome to the Mono Direct Debit Integration Guide, designed to assist developers in seamlessly incorporating the Mono Direct Debit (MDD) APIs into their applications. This comprehensive guide provides step-by-step instructions, enabling you to leverage these resources for direct debit purposes.
Prerequisites
Before you begin, make sure to complete the following essential steps:
- Register on the Mono dashboard. You can find a detailed guide here.
- Create an application with the product specified as "DirectPay" and obtain the associated secret key. Refer to the guide here for assistance.
Re: Sandbox/Test Enviroment
Kindly note that to test Direct Debit in sandbox you simply need to pass your test keys as headers. You can create and find the test keys on your dashboard, by simply following this guide.
We also send test webhooks in sandbox to simplify your integration experience
Mandate Endpoints
We currently support two endpoints for setting up a mandate. You can choose either of them depending on your integration preferences
- Create-mandate endpoint: This allows you to customise the initial mandate setup experience for your users.
- Initiate-mandate-link endpoint: This generates a link to widget for your users to complete the mandate setup process.
Integration Guide
After satisfying the prerequisites outlined above, you'll navigate through three key stages to successfully integrate the Mono Direct Debit functionality into your application:
Customer Profile Creation:
In this initial stage, you will establish a customer profile by providing basic KYC (Know Your Customer) information. This includes details such as the customer's first name, last name, phone number, and BVN (Bank Verification Number).Bank Mandate Setup:
In this step, you'll configure a Fixed or Variable on the customer's bank account. This Fixed or Variable mandate can be authorized as either a signed mandate or e-mandate or global standing mandate (gsm). Each mandate creation/setup is a one-time authorization process, simplifying subsequent debit transactions.Debiting Bank Accounts:
With everything in place, you can initiate direct debit transactions from a customer's account at your convenience. Simply provision the necessary details, including the amount, reference, and narration.
Re: Debitting an Account
Please take note that the third step - Debit an Account is only necessary for Variable Mandates. The debits for fixed mandates are scheduled when creating the mandate and automatically debitted from the customer's account on the set date.
By following these stages, you'll seamlessly integrate Mono Direct Debit capabilities into your application, providing efficient direct debit services to your users.