Skip to main content
POST
/
v1
/
direct-debits
Create a Direct Debit Mandate
curl --request POST \
  --url https://api.nomba.com/v1/direct-debits \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'accountId: <accountid>' \
  --data '{
  "customerAccountNumber": "0212343456",
  "bankCode": "101",
  "customerName": "Kolapo Ojo",
  "customerAddress": "maryland Ikeja computer village",
  "customerAccountName": "Kolapo Ojo",
  "amount": 100,
  "frequency": "WEEKLY",
  "narration": "test e mandate response",
  "customerPhoneNumber": "08074332234",
  "merchantReference": "12003074001",
  "startDate": "2025-08-29T14:58",
  "endDate": "2025-08-30T10:40",
  "customerEmail": "[email protected]",
  "startImmediately": true
}'
{
  "responseMessage": "Success",
  "responseCode": "00",
  "data": {
    "mandateId": "e50b7835-502c-4cfe-9893-47657633d7a2",
    "merchantReference": "12003074001",
    "phoneNumber": "08073345562",
    "description": "Welcome to NIBSS e-mandate authentication service, a seamless and convenient authentication experience. Kindly proceed with a token payment of N50.00 into account number 9880218357 with Paystack-Titan Bank. This payment will trigger the authentication of your mandate. Thank You"
  }
}

Authorizations

Authorization
string
header
required

Nomba authenticates API calls with OAuth2 HTTP bearer tokens. There are two methods of authentication; Client-Credentials method and PKCE (Proof Key for Code Exchange) method. In each of the methods, You will get an ACCESS_TOKEN. You need to use an "Authorization" HTTP header to provide your ACCESS_TOKEN. For example: Authorization: {ACCESS_TOKEN}.

Headers

accountId
string
required

The vendor account ID

Body

application/json
customerAccountNumber
string
required
Example:

"0174534423"

bankCode
string
required
Example:

"101"

customerName
string
required
Example:

"Kolapo Ojo"

customerAccountName
string
required
Example:

"Kolapo Ojo"

amount
number
required
Example:

100

frequency
enum<string>
required
Available options:
VARIABLE,
WEEKLY,
EVERY_TWO_WEEKS,
MONTHLY,
EVERY_TWO_MONTHS,
EVERY_THREE_MONTHS,
EVERY_FOUR_MONTHS,
EVERY_FIVE_MONTHS,
EVERY_SIX_MONTHS,
EVERY_SEVEN_MONTHS,
EVERY_EIGHT_MONTHS,
EVERY_NINE_MONTHS,
EVERY_TEN_MONTHS,
EVERY_ELEVEN_MONTHS,
EVERY_TWELVE_MONTHS
Example:

"WEEKLY"

merchantReference
string
required
Example:

"12003074001"

startDate
string<date-time>
required
Example:

"2025-08-29T14:58"

endDate
string<date-time>
required
Example:

"2025-08-30T10:40"

customerEmail
string
required
customerAddress
string
Example:

"maryland Ikeja computer village"

narration
string
Example:

"test e mandate response"

customerPhoneNumber
string
Example:

"0807882343"

startImmediately
boolean
Example:

true

Response

Mandate created successfully

responseMessage
string
required
Example:

"Success"

responseCode
string
required
Example:

"00"

data
object
required
⌘I