Direct Debits

Monnify Account Direct Debit is a simple, secure and convenient ‘pull’ payment method that allows merchants to automatically collect recurring payments from a payer directly from their Account.

Key Processes

Monnify Direct Debit comprises three main processes:

Mandate Management Workflow

To create and manage a mandate, here is the workflow of every possible status a Monnify Mandate can be through its life cycle.

Mandate StatusDescription
PENDINGMandate creation is in progress.
PENDING AUTHORIZATIONMandate is awaiting customer authorization
PENDING ACTIVATIONMandate has been authorized by the customer and awaiting activation by the customers financial intuition.
ACTIVATEDMandate has been activated and can now be debited.
AUTHORIZATION EXPIREDMandate authorization expired because the customer didn’t authorize it within the available timeframe.
EXPIREDMandate has reached its expiration time.
CANCELLEDMandate was canceled by the merchant.
SUSPENDEDMandate was suspended by the customer’s financial intuition.

Ways To Use

One of these four ways to use will be suitable for your business depending on your requirement.

  1. Open Flexible:Enable merchants to debit varying amounts from a customer's account based on the actual consumption of services or products without a predetermined end date.
    A utility company provides electricity vending. The bill varies depending on the amount of electricity to be consumed. The company can set up an open flexible mandate to debit varying amounts from the customer’s account each time based on their demand, with no predetermined end date.
  2. Open Fixed: Enable merchants to debit fixed amounts from a customer's account based on the actual consumption of services or products without a predetermined end date.
    A streaming platform offers a monthly subscription fee to their customers. The platform can use an open fixed mandate to debit fee from the customer's account every month, continuing indefinitely until the customer cancels the subscription.
  3. Closed Flexible: Enable merchants to debit varying amounts from a customer's account based on the actual consumption of services or products with a predetermined end date.
    A car dealer offers an instalment payment plan for purchasing a car. Customers can choose to pay off the total amount at their own pace, but all payments must be completed within 12 months. The store can use a closed flexible mandate to debit varying amounts from the customer’s account based on the payments they make, ensuring the total amount is paid before the end date.
  4. Closed Fixed: Enable merchants to debit fixed amounts from a customer's account based on the actual consumption of services or products with a predetermined end date.
    An insurance company offers a one-year health insurance plan with monthly premiums of N10000. The company can use a closed fixed mandate to debit N10000 from the customer’s account each month for 12 months. After 12 months, the mandate expires.

API Integration Workflow

The process of setting up a direct debit involves three key steps: the creation of a mandate by the merchant, its authorization by the customer, and the actual debiting of funds as per the mandate's terms.

1. Creating a Mandate:
  1. The merchant requests to set up a direct debit using the customer's account details.
  2. The Mandate Creation request is successful, and the mandate status will be "Pending"
  3. Once Monnify creates mandate, the status will be changed to “Pending Authorization”

2. Authorizing a Mandate:
  1. The customer authorizes the mandate. Authorization instructions can be received through:
    - An authorization email sent directly by Monnify to the customer's email address.
    - An authorization link returned from the status API response, which the merchant can present to their customer this link lasts for 30 days.
3. Debiting a Mandate:
  1. Once authorized successfully, the mandate status will be ‘Activated’ and merchants can use the Debit APIs to debit the account linked to the mandate as per the agreed terms.
  2. The APIs accommodate different use cases, whether fixed or flexible debits, open or closed mandates based on set up.

Mandate APIs

  1. Create Mandate: This endpoint helps to create mandate on the customer's bank account, see Create Mandate API for more information.
  2. Get Mandate Status: This endpoint helps to check the status of on an existing andate, check Get Mandate Status API for more information.
  3. Debit Mandate: This endpoint is called to debit desired amount on the customer's bank account after a mandate has been created on his account.
  4. Get Debit Status: This endpoint helps to check the debit status on a mandate
  5. Update Mandate: This endpoint helps cancel/invalidate a mandate initiated on a customer's account

Sample Error Messages

Error MessageMeaningAction
Mandate start date cannot be in the pastThis means that the mandate start date was set to a time earlier than the current timeAdjust the date to a time that is not in the past
Unable to validate account informationThis usually means that account name validation of the supplied account number and bank code wasn't successfulConfirm that account number and the bank code are correct
Unable to find bank against customerAccountBankCodeThis means that the bank code supplied does not exist on MonnifyReconfirm that the bankCode is for a CBN approved bank
Mandate with provided mandate reference already exist.This implies that the mandateReference has been previously used by youRetry with a unique mandateReference
Was this page helpful? Tell us what you think..
Copyright © 2024 Monnify