Search..

API Reference

Learn how to integrate Monnify APIs into your applications.


Introduction

The Monnify API provides extensive access to the features available on our dashboard, enabling you to leverage them for your own application. To get started, you must first create a Monnify account on www.monnify.com and obtain the required API keys for all Monnify integrations. Please note that the Monnify API is secured through Basic Authentication or OAuth (Bearer Tokens).

Authentication

Monnify's core security protocol is OAuth 2.0, which authenticates API requests via associated API keys that can be managed directly from the dashboard. Monnify provides an API key, that is used together with a secret key to generate a basic token and a secret key that should be kept confidential and stored exclusively on...Read more


Webhooks

Webhooks is an API concept that enables applications to automatically communicate with each other without constant polling. Monnify integration sends ...Read more

Monnify Webhook Events and Structure

As part of the Monnify integration, notifications are automatically sent to your system when certain actions are completed. These notifications trigger corresponding activities on your system, and you can specify URLs for certain activities on your integration. The notifications include an event-type property that indicates what action has taken place, as well as event data containing details of the event.

Supported notification event types on Monnify include

  1. Successful Collection (for successful payments made on your account)
    ...Read more
  2. Successful Disbursement (for disbursement transactions with a successful definite status)
    ...Read more
  3. Failed Disbursement (for failed disbursement transactions)
    ...Read more
  4. Reversed Disbursement (for reversed disbursement transactions)
    ...Read more
  5. Successful Refund (for successfully processed initiated refunds)
    ...Read more
  6. Failed Refund (for failed initiated refunds)
    ...Read more
  7. Settlement Completion (for successfully processed settlements to your bank account or wallet)
    ...Read more
  8. Completed Oflline Payments
    ...Read more
  9. Notification for Rejected Payments
    ...Read more
  10. Mandate Status Change
    ...Read more


Structure and Sample

A typical event notification structure is of the format:

Sample event notification structure
Copy button
{
"eventType": "type_of_event",
"eventData": {
"prop1": "value1",
"prop2": "value2"
}
}

Transaction Hash Computation

As a security measure, Monnify computes a hash of the request body whenever it sends a notification and includes it in the request header with the key...Read more


Javascript, PHP, Java Sample Codes:

Expand to see Sample codes on how to compute Transaction Hash in Javascript, PHP, Java etc....Read more


Going Live

After successfully uploading necessary documents and meeting compliance requirements, your Monnify account will be activated, and you will be ready to go live. However, before doing so, it is important to check that certain components are properly set up to ensure smooth payment collection, communication between Monnify and your business, and communication between your customers and your business.

Seamless Payment Collection And Notification

This guide will outline the necessary steps for setting up seamless payment collection and notification through the use of webhook URLs on your Monnify dashboard...Read more


Disabling OTP API Disbursement And IP Whitelisting

If your application is planning to integrate our disbursement API, it is advisable to disable the sending of OTP to your business email when customers initiate a withdraw...Read more

Switching From Monnify Sandbox To Live Mode

It's recommended that you change all your Monnify sandbox credentials to their respective live credentials when going live. This includes the Monnify Sandbox base_url, API Key and Secret, and Contract Code.



Authentication

Generate Access Token

This endpoint allows the user to authenticate and obtain an access token.
POST
{{base_url}}/api/v1/auth/login


Headers

Authorization
basic
Authorize this API call by including Authorization header that contains the word 'Basic' followed by a space and a base64-encoded string 'apiKey:clientSecret' i.e. 'Basic base64(ApiKey:SecretKey)', include the Token in the request header.

Body Params

REQUEST
Copy button
curl --header "Content-Type: application/json"
--request POST
--data '{}'
{{sandbox_url}}/api/v1/auth/login
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibW9ubmlmeS12YWx1ZS1hZGRlZC1zZXJ2aWNlIiwibW9ubmlmeS1wYXltZW50LWVuZ2luZSIsIm1vbm5pZnktZGlzYnVyc2VtZW50LXNlcnZpY2UiLCJtb25uaWZ5LW9mZmxpbmUtcGF5bWVudC1zZXJ2aWNlIl0sInNjb3BlIjpbInByb2ZpbGUiXSwiZXhwIjoxNjU4MjIwNTk1LCJhdXRob3JpdGllcyI6WyJNUEVfTUFOQUdFX0xJTUlUX1BST0ZJTEUiLCJNUEVfVVBEQVRFX1JFU0VSVkVEX0FDQ09VTlQiLCJNUEVfSU5JVElBTElaRV9QQVlNRU5UIiwiTVBFX1JFU0VSVkVfQUNDT1VOVCIsIk1QRV9DQU5fUkVUUklFVkVfVFJBTlNBQ1RJT04iLCJNUEVfUkVUUklFVkVfUkVTRVJWRURfQUNDT1VOVCIsIk1QRV9ERUxFVEVfUkVTRVJWRURfQUNDT1VOVCIsIk1QRV9SRVRSSUVWRV9SRVNFUlZFRF9BQ0NPVU5UX1RSQU5TQUNUSU9OUyJdLCJqdGkiOiJhZmYwMTMyMi1kMmNmLTQzOGYtYWVkMC0wOGY0NTBhNmVhZWYiLCJjbGllbnRfaWQiOiJNS19URVNUX0pSUUFaUkZEMlcifQ.KOkMyFJIMKc6aZViDB3ekoiCPU2647eW_1RpySy9t_OXzfDSER2nn2QzXZsGPn8GlPJ4ZdhtuhevHQCLnEKQYIScgB9EQTPHTldiBG7uf9ta3NQK6Sxzq2pkM8heuO1v87tqtPLbBF7LlmI21liUPAPrxJVnw5PhCAOKbInIG-sj0BWbwMXJ2E8Cgz6yUeQ46-C0bmkyc0U6-FqENPSNl7oNXNY-nWaQfXd7tw2ybE4YoEzoRXcLTy0KLjlf3sxA5PizyT3nh9YqjVIRli-3sggnpvdjmIzw8784g_knNYmA8rj1Of7ROa_enDYmH6dWHbB1luchU9Y67FMhlBDWLg",
"expiresIn": 3567
}
}

Transactions

Initialize Transaction

This endpoint initialises the transaction that would be used for card payments and dynamic transfers.
POST
{{base_url}}/api/v1/merchant/transactions/init-transaction


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

amount
Float(required)

The amount(in Naira) to be paid, minimum is N20

customerName
String

The name of the customer

customerEmail
String(required)

The customer email

paymentReference
String(required)

A unique string of characters that identifies each transaction

paymentDescription
String

A description of the payment

currencyCode
String(required)

The currency code

contractCode
String(required)

The merchant contract code

redirectUrl
String

A url to redirect to after payment completion

paymentMethods
String

The method of payment collection

incomeSplitConfig
List<IncomeSplitConfig>

A way to split payments among subAccounts. IncomeSplitConfig { String subAccountCode; Float feePercentage; Float splitPercentage; Float splitAmount; Boolean feeBearer; }

metaData
Map<String,Object>

This field can be used to pass extra information from customers

incomeSplitConfig.subAccountCode
String(required)

The unique reference for the sub account that should receive the split.

incomeSplitConfig.feeBearer
Boolean

Boolean to determine if the sub account should bear transaction fees or not

incomeSplitConfig.feePercentage
Float

The percentage of the transaction fee to be borne by the sub account

incomeSplitConfig.splitPercentage
Float

The percentage of the amount paid to be split into the sub account.

incomeSplitConfig.splitAmount
Float

The value of the amount paid that should be split into the sub account

REQUEST
Copy button
{
"amount": 100.00,
"customerName": "Stephen Ikhane",
"customerEmail": "[email protected]",
"paymentReference": "123031klsadkad",
"paymentDescription": "Trial transaction",
"currencyCode": "NGN",
"contractCode":"32904822812",
"redirectUrl": "https://my-merchants-page.com/transaction/confirm",
"paymentMethods":["CARD","ACCOUNT_TRANSFER"]
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"transactionReference": "MNFY|20190915200044|000090",
"paymentReference": "1568577644707",
"merchantName": "Test Limited",
"apiKey": "MK_TEST_VR7J3UAACH",
"enabledPaymentMethod": [
"ACCOUNT_TRANSFER",
"CARD"
],
"checkoutUrl": "https://sandbox.sdk.monnify.com/checkout/MNFY|20190915200044|000090"
}
}

Pay With Bank Transfer

This endpoint generates a dynamic account number and its associated bank for one time payment.
POST
{{base_url}}/api/v1/merchant/bank-transfer/init-payment


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String(required)

A unique Monnify reference returned as part of the response from the initialize transaction endpoint

bankCode
String

A valid bank code to enable the creation of USSD string associated with such bank

REQUEST
Copy button
{
"transactionReference": "MNFY|24|20220721134824|000081",
"bankCode": "058"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"accountNumber": "5000610089",
"accountName": "Test01-Tri",
"bankName": "Wema bank",
"bankCode": "035",
"accountDurationSeconds": 2309,
"ussdPayment": "*737*2*100.00*5000610089#",
"requestTime": "2022-07-21T13:52:31",
"expiresOn": "2022-07-21T14:32:31",
"transactionReference": "MNFY|24|20220721134824|000081",
"paymentReference": "123---03--1klsa--dkad",
"amount": 100,
"fee": 10,
"totalPayable": 100,
"collectionChannel": "API_NOTIFICATION",
"productInformation": null
}
}

Pay with USSD

This endpoint allows you get short USSD codes for a transaction using the transactionReference of an initialized transaction and the bank code of the customer’s bank from the get banks endpoint.
POST
{{base_url}}/api/v1/merchant/ussd/initialize


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String(required)

Transaction refrence of the initialized transaction

bankUssdCode
String(required)

USSD code of the desired bank from which payment would be made.

REQUEST
Copy button
{
"transactionReference":"MNFY|73|20241204103608|000002",
"bankUssdCode":"737"
}
RESPONSE
Copy button
{
"requestSuccessful": false,
"responseMessage": "USSD provider not configured.",
"responseCode": "99"
}

Charge Card

This endpoint allows you to initiate charge on a card.
POST
{{base_url}}/api/v1/merchant/cards/charge


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String(required)

The transaction reference gotten as part of the response from the initialise transaction endpoint.

collectionChannel
String(required)

This field basically describes the channel of collection.

card
Object

An object containing the card information.

number
String(required)

The card pan or number on the card.

pin
String(required)

The pin associated with the card.

expiryMonth
String(required)

The card expiry month.

expiryYear
String(required)

The card expiry year

cvv
String(required)

The card cvv number.

REQUEST
Copy button
{
"transactionReference": "MNFY|99|20220725110839|000256",
"collectionChannel": "API_NOTIFICATION",
"card": {
"number": "4111111111111111",
"expiryMonth": "10",
"expiryYear": "2022",
"pin": "1234",
"cvv": "123"
}
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"status": "SUCCESS",
"message": "Transaction Successful",
"transactionReference": "MNFY|99|20220725110839|000256",
"paymentReference": "12-3---03--1klsa--dkad",
"authorizedAmount": 100
}
}

Authorize OTP

The endpoint authorizes an OTP to complete a charge on a card.
POST
{{base_url}}/api/v1/merchant/cards/otp/authorize


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String(required)

The transaction reference gotten from the initialise transaction endpoint.

collectionChannel
String(required)

This is the channel of collection and should always be "API_NOTIFICATION" in this endpoint.

tokenId
String(required)

This is an id of the token issued and is always part of the response from the charge card endpoint.

token
String(required)

This is the token(OTP) sent to the user device by his bank

REQUEST
Copy button
{
"transactionReference": "MNFY|20190512185357|000002",
"collectionChannel": "API_NOTIFICATION",
"tokenId": "1234567890",
"token": "123456"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"status": "SUCCESS",
"message": "Transaction Successful",
"transactionReference": "MNFY|54|20210429142945|000208",
"paymentReference": "1619702984105",
"authorizedAmount": 2000
}
}

Authorize 3DS Card

This endpoint authorizes charge on a card that uses 3DS Secure Authentication.
POST
{{base_url}}/api/v1/sdk/cards/secure-3d/authorize


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String(required)

The transaction reference gotten from the initialise transaction endpoint.

collectionChannel
String

This is the channel of collection and should always be "API_NOTIFICATION" in this endpoint.

card
Object(required)

An object containing the card information.

number
String(required)

The card pan or number on the card.

pin
String(required)

The pin associated with the card.

expiryMonth
String(required)

The card expiry month.

expiryYear
String(required)

The card expiry year

cvv
String(required)

The card cvv number.

apiKey
String(required)

The merchant API key

REQUEST
Copy button
{
"transactionReference": "MNFY|19|20210430115705|000243",
"collectionChannel": "API_NOTIFICATION",
"card": {
"cvv": "123",
"expiryMonth": "12",
"expiryYear": "2022",
"number": "4000000000000002",
"pin": "1234"
}
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"status": "BANK_AUTHORIZATION_REQUIRED",
"message": "3D Secure Authorization required",
"secure3dData": {
"id": "2000.00-59077a3e5157fae7ca9dd260d911ccbb",
"redirectUrl": "http://localhost:10001"
},
"transactionReference": "MNFY|19|20210430115705|000243",
"paymentReference": "1619780224192",
"authorizedAmount": 1000
}
}

Get All Transactions

This endpoint returns a list of transactions carried out on your integration.
GET
{{base_url}}/api/v1/transactions/search


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

page
Integer

The number of page of to be retrieved. It starts from 0.

size
Integer

The Size of transactions to be returned per page.

paymentReference
String

Unique reference generated by merchant for each transaction.

transactionReference
String

Unique transaction reference generated by Monnify for each transaction

fromAmount
Float

A number indicating minimum amount for the transactions to be returned

toAmount
Float

A number indicating maximum amount for the transactions to be returned

amount
Float

A number indicating exact amount for the transactions to be returned

customerName
String

Name of customer for the transactions to be returned

customerEmail
String

Email of customer for the transactions be returned.

paymentStatus
String

Transaction status for transactions to be returned

from
Timestamp

Time for transactions to be retrieved in milliseconds.

to
Timestamp

The maximum time for transactions to be retrieved in milliseconds.

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/transactions/search?
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"createdOn": "2022-07-25T11:53:52.000+0000",
"amount": 100,
"flagged": false,
"currencyCode": "NGN",
"completedOn": "2022-07-25T12:30:42.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "EXPIRED",
"transactionReference": "MNFY|99|20220725125351|000271",
"paymentReference": "12__0-3-031k^^ls0a--dk--ad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "CARD",
"createdOn": "2022-07-25T11:26:29.000+0000",
"amount": 100,
"flagged": false,
"currencyCode": "NGN",
"completedOn": "2022-07-25T12:00:42.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "EXPIRED",
"transactionReference": "MNFY|65|20220725122629|000296",
"paymentReference": "12__0-3-031kls0a--dk--ad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "CARD",
"createdOn": "2022-07-25T11:14:09.000+0000",
"amount": 100,
"flagged": false,
"currencyCode": "NGN",
"completedOn": "2022-07-25T11:50:42.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "EXPIRED",
"transactionReference": "MNFY|65|20220725121408|000291",
"paymentReference": "12__0-3-031kls0a--dkad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "CARD",
"createdOn": "2022-07-25T10:48:27.000+0000",
"amount": 100,
"flagged": false,
"currencyCode": "NGN",
"completedOn": "2022-07-25T11:20:42.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "EXPIRED",
"transactionReference": "MNFY|67|20220725114827|000285",
"paymentReference": "120-3-031kls0a--dkad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "CARD",
"createdOn": "2022-07-25T10:43:51.000+0000",
"amount": 100,
"flagged": false,
"currencyCode": "NGN",
"completedOn": "2022-07-25T11:20:42.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "EXPIRED",
"transactionReference": "MNFY|65|20220725114351|000289",
"paymentReference": "12-3-031kls0a--dkad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "CARD",
"createdOn": "2022-07-25T10:41:50.000+0000",
"amount": 100,
"flagged": false,
"currencyCode": "NGN",
"completedOn": "2022-07-25T11:20:42.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "EXPIRED",
"transactionReference": "MNFY|67|20220725114150|000284",
"paymentReference": "12-3---031kls0a--dkad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "CARD",
"createdOn": "2022-07-25T10:19:58.000+0000",
"amount": 100,
"flagged": false,
"fee": 10,
"currencyCode": "NGN",
"completedOn": "2022-07-25T10:20:20.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "PAID",
"transactionReference": "MNFY|67|20220725111957|000283",
"paymentReference": "12-3---03--1kls0a--dkad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"payableAmount": 100,
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "CARD",
"createdOn": "2022-07-25T10:08:39.000+0000",
"amount": 100,
"flagged": false,
"fee": 10,
"currencyCode": "NGN",
"completedOn": "2022-07-25T10:09:23.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "PAID",
"transactionReference": "MNFY|99|20220725110839|000256",
"paymentReference": "12-3---03--1klsa--dkad",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"payableAmount": 100,
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"paymentMethod": "ACCOUNT_TRANSFER",
"createdOn": "2022-07-22T13:23:39.000+0000",
"amount": 20,
"flagged": false,
"fee": 10,
"currencyCode": "NGN",
"completedOn": "2022-07-22T13:29:13.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "PAID",
"transactionReference": "MNFY|24|20220722142339|000144",
"paymentReference": "13i--0-00--lfuik93j",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"payableAmount": 20,
"completed": true,
"paymentMethodList": [
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Stephen Ikhane",
"merchantCode": "1X1SDUSYRD47"
},
"createdOn": "2022-07-22T13:22:57.000+0000",
"amount": 20,
"flagged": false,
"currencyCode": "NGN",
"completedOn": "2022-07-22T14:00:42.000+0000",
"paymentDescription": "Trial transaction",
"paymentStatus": "EXPIRED",
"transactionReference": "MNFY|69|20220722142257|000170",
"paymentReference": "13i--000--lfuik93j",
"merchantCode": "1X1SDUSYRD47",
"merchantName": "Test01",
"metaData": {},
"completed": true,
"paymentMethodList": [
"CARD",
"ACCOUNT_TRANSFER"
],
"collectionChannel": "WEB_SDK"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": false,
"totalElements": 115,
"totalPages": 12,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 10,
"size": 10,
"number": 0,
"empty": false
}
}

Get Transaction Status

This endpoint returns the status of a transaction (PENDING, OVERPAID, PARTIALLY_PAID, PAID, EXPIRED, FAILED, EXPIRED, CANCELLED)
GET
{{base_url}}/api/v2/transactions/MNFY%7C67%7C20220725111957%7C000283


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String(required)

Urlencoding of the said transaction reference

REQUEST
Copy button
curl -H "Accept: application/json"
https://sandbox.monnify.com/api/v2/transactions/MNFY%7C67%7C20220725111957%7C000283
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"transactionReference": "MNFY|67|20220725111957|000283",
"paymentReference": "12-3---03--1kls0a--dkad",
"amountPaid": "100.00",
"totalPayable": "100.00",
"settlementAmount": "90.00",
"paidOn": "25/07/2022 11:20:20 AM",
"paymentStatus": "PAID",
"paymentDescription": "Trial transaction",
"currency": "NGN",
"paymentMethod": "CARD",
"product": {
"type": "WEB_SDK",
"reference": "12-3---03--1kls0a--dkad"
},
"cardDetails": {
"cardType": "Sandbox Card Scheme",
"last4": "1111",
"expMonth": "10",
"expYear": "22",
"bin": "411111",
"bankCode": null,
"bankName": null,
"reusable": false,
"countryCode": null,
"cardToken": null,
"supportsTokenization": false,
"maskedPan": "411111******1111"
},
"accountDetails": null,
"accountPayments": [],
"customer": {
"email": "[email protected]",
"name": "Stephen Ikhane"
},
"metaData": {}
}
}

Get Status By Reference

This endpoint returns the status of a transaction using either the Monnify transaction reference or the merchant's payment reference as query parameters.
GET
{{base_url}}/api/v2/merchant/transactions/query


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String

The Monnify generated reference url encoded

paymentReference
String

The merchant generated reference url encoded

REQUEST
Copy button
curl -H "Accept: application/json"
https://sandbox.monnify.com/api/v2/transactions/query?transactionReference=MNFY%7C67%7C20220725111957%7C000283
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"transactionReference": "MNFY|67|20220725111957|000283",
"paymentReference": "12-3---03--1kls0a--dkad",
"amountPaid": "100.00",
"totalPayable": "100.00",
"settlementAmount": "90.00",
"paidOn": "25/07/2022 11:20:20 AM",
"paymentStatus": "PAID",
"paymentDescription": "Trial transaction",
"currency": "NGN",
"paymentMethod": "CARD",
"product": {
"type": "WEB_SDK",
"reference": "12-3---03--1kls0a--dkad"
},
"cardDetails": {
"cardType": "Sandbox Card Scheme",
"last4": "1111",
"expMonth": "10",
"expYear": "22",
"bin": "411111",
"bankCode": null,
"bankName": null,
"reusable": false,
"countryCode": null,
"cardToken": null,
"supportsTokenization": false,
"maskedPan": "411111******1111"
},
"accountDetails": null,
"accountPayments": [],
"customer": {
"email": "[email protected]",
"name": "Stephen Ikhane"
},
"metaData": {}
}
}

Customer Reserved Account

Create Reserved Account(General)

This endpoint allows the creation of dedicated virtual accounts for your customers.
POST
{{base_url}}/api/v2/bank-transfer/reserved-accounts


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountReference
String(required)

A unique reference generated by merchants.

accountName
String(required)

The name to be displayed during name enquiry

currencyCode
String(required)

The currency allowed,"NGN.

contractCode
String(required)

The merchant contract code

customerEmail
String(required)

The customer's email

bvn
String(required if nin is null)

The bvn attached to a reserve account

getAllAvailableBanks
Boolean(required)

This is always true in all cases.

incomeSplitConfig
List<IncomeSplitConfig>

A configuration on how payments are to be split among subaccounts IncomeSplitConfig { String subAccountCode; Float feePercentage; Float splitPercentage; Float splitAmount; Boolean feeBearer;

restrictPaymentSource
Boolean

Decides if payment should be restricted to some reserved accounts

allowedPaymentSource
Object

This captures bvns or account numbers or account names that are permitted to fund a reserved account. This is mandatory if restrictPaymentSource is set to true

nin
String(required if bvn is null)

The customer’s NIN

REQUEST
Copy button
{
"accountReference":"abc1niui23",
"accountName":"Test Reserved Account",
"currencyCode":"NGN",
"contractCode":"100693167467",
"customerEmail":"[email protected]",
"customerName":"John Doe",
"bvn":"21212121212",
"getAllAvailableBanks":true,
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"contractCode": "100693167467",
"accountReference": "abc1niui23",
"accountName": "MARVELOUS BENJI",
"currencyCode": "NGN",
"customerEmail": "[email protected]",
"customerName": "John Doe",
"accounts": [
{
"bankCode": "50515",
"bankName": "Moniepoint Microfinance Bank",
"accountNumber": "6839490147",
"accountName": "MARVELOUS BENJI"
}
],
"collectionChannel": "RESERVED_ACCOUNT",
"reservationReference": "96ZPXECUD84UQTB00931",
"reservedAccountType": "GENERAL",
"status": "ACTIVE",
"createdOn": "2024-11-25 07:35:17.566",
"incomeSplitConfig": [],
"bvn": "21212121212",
"restrictPaymentSource": false
}
}

Create Reserved Account(Invoice)

This endpoint allows the creation of an invoiced reserved account.
POST
{{base_url}}/api/v1/bank-transfer/reserved-accounts


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

contractCode
String(required)

The merchant's contract code.

accountName
String(required)

The name to be displayed during name enquiry.

currencyCode
String(required)

The currency allowed,"NGN.

accountReference
String(required)

A unique reference generated by the merchant

customerName
String

Full name of the customer

customerEmail
String(required)

Email address of the customer.

reservedAccountType
String

This should be "INVOICE".

bvn
String(required if nin is null)

The customer's BVN

nin
String(required if bvn is null)

The customer's NIN

REQUEST
Copy button
{
"contractCode":"7059707855",
"accountName":"Jane Doe",
"currencyCode":"NGN",
"accountReference": "janedoe1223--3",
"customerEmail": "[email protected]",
"customerName": "Jane Doe",
"reservedAccountType": "INVOICE"
}
RESPONSE
Copy button
{
"requestSuccessful": false,
"responseMessage": "You can not reserve two accounts with the same reference",
"responseCode": "99"
}

Get Reserved Account Details

This endpoint returns details of an account reserved for a customer
GET
{{base_url}}/api/v2/bank-transfer/reserved-accounts/{accountReference}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountReference
String(required)

The unique reference used in creating the reserved account.

REQUEST
Copy button
curl -H "Accept: application/json"
{{monnify_base_url}}/api/v2/bank-transfer/reserved-accounts/abc1niui23
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"contractCode": "100693167467",
"accountReference": "abc1niui23",
"accountName": "MfyInt-MARVELOUS BENJI",
"currencyCode": "NGN",
"customerEmail": "[email protected]",
"customerName": "John Doe",
"accounts": [
{
"bankCode": "50515",
"bankName": "Moniepoint Microfinance Bank",
"accountNumber": "6839490147",
"accountName": "MARVELOUS BENJI"
}
],
"collectionChannel": "RESERVED_ACCOUNT",
"reservationReference": "96ZPXECUD84UQTB00931",
"reservedAccountType": "GENERAL",
"status": "ACTIVE",
"createdOn": "2024-11-25 07:35:18.0",
"contract": {
"name": "Default Contract",
"code": "100693167467",
"description": null
},
"transactionCount": 0,
"bvn": "21212121212",
"restrictPaymentSource": false
}
}

Add Linked Accounts

This endpoint links accounts with another partner bank to an existing customer.
PUT
{{base_url}}/api/v1/bank-transfer/reserved-accounts/add-linked-accounts/{accountReference}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

getAllAvailableBanks
Boolean

Determine if all necessary banks should be used

preferredBanks
Array

Contains bank codes of desired banks

accountReference
String

The unique reference used in creating the reserved account.

REQUEST
Copy button
{
"getAllAvailableBanks": false,
"preferredBanks": ["50515"]
}
RESPONSE
Copy button
{
"requestSuccessful": false,
"responseMessage": "Cannot find reserved account",
"responseCode": "99"
}

Update BVN for a Reserve Account

This endpoint updates BVN of customers reserved account
PUT
{{base_url}}/api/v1/bank-transfer/reserved-accounts/update-customer-bvn/{accountReference}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

bvn
String(required)

The BVN used in creating the reserved account

accountReference
String

The unique reference used in creating the reserved account.

REQUEST
Copy button
{
"bvn": "21212121212"
}
RESPONSE
Copy button
{
"requestSuccessful": false,
"responseMessage": "Invalid BVN provided",
"responseCode": "99"
}

Allowed Payment Source(s)

This endpoint manages accounts that can fund a reserved account using either BVNs, Account Name or Account Number.
PUT
{{base_url}}/api/v1/bank-transfer/reserved-accounts/update-payment-source-filter/{accountReference}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

restrictPaymentSource
Boolean

This field activate or de-activate restricting of payment sources for a reserved account.

allowedPaymentSource
Object

A collection of possible payment sources.

bvns
Array

List of BVNs that should be validated

bankAccounts
Array

List of account numbers that can fund the reserved account.

accountNumbers
String

An account number from which reserved account can be funded.

bankCode
String

A 3 digit CBN code for the account

accountNames
Array

List of account names for accounts from which reserved accounts can be funded.

accountReference
String

The unique reference used in creating the reserved account.

REQUEST
Copy button
{
"restrictPaymentSource": true,
"allowedPaymentSources": {
"bvns": [
"21212121212",
"20202020202"
]
}
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"restrictPaymentSource": true,
"allowedPaymentSources": {
"bvns": [
"21212121212",
"20202020202"
],
"bankAccounts": [
{
"accountNumber": "0068687503",
"bankCode": "232"
},
{
"accountNumber": "2048714015",
"bankCode": "057"
}
],
"accountNames": [
"DAMILARE OGUNNAIKE SAMUEL"
]
}
}
}

Updating Split Config for Reserved Account

This endpoint updates the split config of a customer reserved account.
PUT
{{base_url}}/api/v1/bank-transfer/reserved-accounts/update-income-split-config/{accountReference}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

subAccountCode
String

The unique reference for the sub account that should receive the split

feeBearer
Boolean

This field determine if the sub account should bear transaction fees or not

feePercentage
Float

The percentage of the transaction fee to be borne by the sub account

splitPercentage
Float

The percentage of the amount paid to be split into the sub account.

accountReference
String

The unique reference used in creating the reserved account.

REQUEST
Copy button
[
{
"subAccountCode": "MFY_SUB_762212281785",
"feePercentage": 10.50
},
{
"subAccountCode": "MFY_SUB_322165393053",
"splitPercentage": 30
}
]
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"code": "HRCNXDSAYX",
"reservedAccountCode": "HRCNXDSAYX",
"feeBearer": "MERCHANT_ONLY",
"configDetails": [
{
"subAccountCode": "MFY_SUB_762212281785",
"feePercentage": 10.5,
"feeBearer": false,
"splitPercentage": 0,
"reservedAccountConfigCode": "HRCNXDSAYX"
},
{
"subAccountCode": "MFY_SUB_322165393053",
"feePercentage": 0,
"feeBearer": false,
"splitPercentage": 30,
"reservedAccountConfigCode": "HRCNXDSAYX"
}
]
}
}

Deallocating a reserved account

This endpoint allows you to deallocate/delete already created a reserved account.
DELETE
{{base_url}}/api/v1/bank-transfer/reserved-accounts/reference/{accountReference}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountReference
String

The unique reference used to identify this reserved account

REQUEST
Copy button
curl --header "Content-Type: application/json"
--request POST
--data '{}'
{{monnify_base_url}}/api/v1/bank-transfer/reserved-accounts/reference/{accountReference}
RESPONSE
Copy button
{
"requestSuccessful": false,
"responseMessage": "Cannot find reserved account",
"responseCode": "99"
}

Get Reserved Account Transactions

This endpoint returns the list of all transactions done on a reserved account.
GET
{{base_url}}/api/v1/bank-transfer/reserved-accounts/transactions


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountReference
String

The unique reference used in creating the reserved account.

page
Integer

The page of data you want returned by Monnify (Starts from 0).

size
Integer

The number of records you want returned in a page.

REQUEST
Copy button
curl -H "Accept: application/json"
https://sandbox.monnify.com/api/v1/bank-transfer/reserved-accounts/transactions
?accountReference={accountReference}&page=0&size=10
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"customerDTO": {
"email": "[email protected]",
"name": "Test Reserved Account",
"merchantCode": "ALJKHDALASD"
},
"providerAmount": 0.21,
"paymentMethod": "ACCOUNT_TRANSFER",
"createdOn": "2019-07-24T14:12:27.000+0000",
"amount": 100.00,
"flagged": false,
"providerCode": "98271",
"fee": 0.79,
"currencyCode": "NGN",
"completedOn": "2019-07-24T14:12:28.000+0000",
"paymentDescription": "Test Reserved Account",
"paymentStatus": "PAID",
"transactionReference": "MNFY|20190724141227|003374",
"paymentReference": "MNFY|20190724141227|003374",
"merchantCode": "ALJKHDALASD",
"merchantName": "Test Limited"
"payableAmount": 100.00,
"amountPaid": 100.00,
"completed": true
},
{
"customerDTO": {
"email": "[email protected]",
"name": "Test Reserved Account",
"merchantCode": "ALJKHDALASD"
},
"providerAmount": 0.11,
"paymentMethod": "ACCOUNT_TRANSFER",
"createdOn": "2019-07-24T11:14:45.000+0000",
"amount": 50.00,
"flagged": false,
"providerCode": "98271",
"fee": 0.79,
"currencyCode": "NGN",
"completedOn": "2019-07-24T11:14:45.000+0000",
"paymentDescription": "Test Reserved Account",
"paymentStatus": "PAID",
"transactionReference": "MNFY|20190724111444|003259",
"paymentReference": "MNFY|20190724111444|003259",
"merchantCode": "ALJKHDALASD",
"merchantName": "Test Limited",
"settleInstantly": true,
"payableAmount": 50.00,
"amountPaid": 50.00,
"completed": true
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"unpaged": false,
"paged": true
},
"totalElements": 2,
"totalPages": 1,
"last": true,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 2,
"size": 10,
"number": 0,
"empty": false
}
}

Update KYC Info

This endpoint links customers' BVN/NIN to their respective reserved accounts.
PUT
{{base_url}}/api/v1/bank-transfer/reserved-accounts/{accountReference}/kyc-info


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

bvn
String

The customer's BVN

nin
String

The customer’s NIN

accountReference
String

The account reference linked to the reserved account being updated.

REQUEST
Copy button
{
"bvn":{{bvn}}
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"accountReference": "a1fe1c73c6f985eb43e8ef35ec0d6a398698cdea",
"accountName": "MARVELOUS BENJI",
"customerEmail": "[email protected]",
"customerName": "mao Zhang",
"bvn": "21212121212"
}
}

Invoice

Create an Invoice

This endpoint creates invoice for payments on your integration.
POST
{{base_url}}/api/v1/invoice/create


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

amount
Float(required)

The amount to be paid by the customer

currencyCode
String(required)

The currency of the transaction being initialized. "NGN"

invoiceReference
String(required)

Merchant's Unique reference for the invoice

customerName
String(required)

Full name of the customer

customerEmail
String(required)

Email of the customer

contractCode
String(required)

Merchant's contract code

description
String(required)

Description of the transaction. Will be used as the account name for bank transfer payments

expiryDate
String(required)

The expiry date for the invoice. The format is:YYYY-MM-DD HH:MM:SS

incomeSplitConfig
List<IncomeSplitConfig>

This field contains specifications on how payments to this reserve account should be split.

redirectUrl
String

A URL which customer will be redirected to when payment is successfully completed

REQUEST
Copy button
{
"amount": "999",
"invoiceReference": "183891300182",
"description": "test invoice",
"currencyCode": "NGN",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-10-30 12:00:00",
"paymentMethods": [],
"incomeSplitConfig": [
{
"subAccountCode": "MFY_SUB_322165393053",
"feePercentage": 10.5,
"splitAmount": 20,
"feeBearer": true
}
],
"redirectUrl": "http://app.monnify.com"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 999,
"invoiceReference": "183891300182",
"invoiceStatus": "PENDING",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-10-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-07-31 12:14:14",
"checkoutUrl": "https://sandbox.sdk.monnify.com/checkout/MNFY|99|20220731121414|000867",
"accountNumber": "5000588061",
"accountName": "tes",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515",
"redirectUrl": "http://app.monnify.com",
"transactionReference": "MNFY|99|20220731121414|000867",
"incomeSplitConfig": [
{
"subAccountCode": "MFY_SUB_322165393053",
"splitAmount": 20,
"feePercentage": 10.5,
"feeBearer": true,
"splitPercentage": null
}
]
}
}

View Invoice Details

This endpoint returns details of an invoice on your integration.
GET
{{base_url}}/api/v1/invoice/{invoiceReference}/details


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

invoiceReference
String(required)

The unique reference used in creating the invoice.

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/invoice/18389130010082/details
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 999,
"invoiceReference": "18389130010082",
"invoiceStatus": "PENDING",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-10-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-07-31 12:29:26",
"checkoutUrl": "https://sandbox.sdk.monnify.com/checkout/MNFY|99|20220731122925|000868",
"accountNumber": "5000588060",
"accountName": "tes",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515",
"transactionReference": "MNFY|99|20220731122925|000868",
"incomeSplitConfig": [
{
"subAccountCode": "MFY_SUB_322165393053",
"splitAmount": 20,
"feePercentage": 10.5,
"feeBearer": true,
"splitPercentage": 0
}
]
}
}

Get All Invoices

This endpoint returns the list of all the invoice available on your integration.
GET
{{base_url}}/api/v1/invoice/all


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/invoice/all
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"amount": 999,
"invoiceReference": "18389130010082",
"invoiceStatus": "PENDING",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-10-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-07-31 12:29:26",
"accountNumber": "5000588060",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515"
},
{
"amount": 999,
"invoiceReference": "183891300182",
"invoiceStatus": "PENDING",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-10-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-07-31 12:14:15",
"accountNumber": "5000588061",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515"
},
{
"amount": 900,
"invoiceReference": "183891182",
"invoiceStatus": "PAID",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-05-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-05-20 10:07:52"
},
{
"amount": 999,
"invoiceReference": "1838913189",
"invoiceStatus": "EXPIRED",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-03-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-03-09 12:18:58",
"accountNumber": "5000654355",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515"
},
{
"amount": 999,
"invoiceReference": "1838913187",
"invoiceStatus": "EXPIRED",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-03-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-03-09 12:18:40",
"accountNumber": "5000654354",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515"
},
{
"amount": 999,
"invoiceReference": "1838913182",
"invoiceStatus": "EXPIRED",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-03-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-03-09 11:55:45",
"accountNumber": "5000654351",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"unpaged": false,
"paged": true
},
"last": true,
"totalElements": 6,
"totalPages": 1,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 6,
"size": 10,
"number": 0,
"empty": false
}
}

Cancel an Invoice

This endpoint cancels an Invoice on your integration.
DELETE
{{base_url}}/api/v1/invoice/{invoiceReference}/cancel


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

invoiceReference
String(required)

The unique reference used in creating the invoice.

REQUEST
Copy button
curl --header "Content-Type: application/json"
--request POST
--data '{}'
{{base_url}}/api/v1/invoice/18389130010082/cancel
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 999,
"invoiceReference": "18389130010082",
"invoiceStatus": "CANCELLED",
"description": "test invoice",
"contractCode": "7059707855",
"customerEmail": "[email protected]",
"customerName": "John Snow",
"expiryDate": "2022-10-30 12:00:00",
"createdBy": "MK_TEST_JRQAZRFD2W",
"createdOn": "2022-07-31 12:29:26",
"accountNumber": "5000588060",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515"
}
}

Attaching a Reserved Account to an Invoice

This endpoint attaches a Reserved Account to an Invoice.
POST
{{base_url}}/api/v1/invoice/create


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

amount
Float(required)

Amount to be paid

currencyCode
String(required)

The currency of the transaction being initialized. "NGN"

invoiceReference
String(required)

Merchant's Unique reference for the invoice.

customerName
String(required)

Full name of the customer

customerEmail
String(required)

Email address of the customer

contractCode
String(required)

Merchant's contract code

description
String(required)

Description for the transaction.

expiryDate
String(required)

Expiry date for the invoice

incomeSplitConfig
List<IncomeSplitConfig>

This field contains specifications on how payments to this reserve account should be split.

accountReference
String(required)

Your unique reference used to identify this reserved account

REQUEST
Copy button
{
"amount": "999",
"invoiceReference": "1838913182",
"accountReference": "janedoe12233",
"description": "test invoice",
"currencyCode": "NGN",
"contractCode": "38238193818",
"customerEmail": "[email protected]",
"customerName": "Jane Doe",
"expiryDate": "2019-10-30 12:00:00"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 999,
"invoiceReference": "1838913182",
"invoiceStatus": "PENDING",
"description": "test invoice",
"contractCode": "4876165459",
"customerEmail": "[email protected]",
"customerName": "Jane Doe",
"expiryDate": "2019-10-18 14:48:00",
"createdBy": "MK_TEST_VR7J3UAACH",
"createdOn": "2019-08-27 23:14:29",
"checkoutUrl": "https://sandbox.sdk.monnify.com/checkout/MNFY|20190827231429|000340",
"accountNumber": "1122334455",
"accountName": "Jane Doe",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515"
}
}

Recurring Payment

Charge Card Token

This endpoint allows you to charge an already tokenized card with it’s card token. **NOTE**: The customer email address used in the first successful charge should be stored along with the card token.
POST
{{base_url}}/api/v1/merchant/cards/charge-card-token


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

cardToken
String(required)

Card token gotten by performing a re-query on a card transaction using the Get Transaction Status API.

amount
Float(required)


customerName
String(required)

Full name of the customer

customerEmail
String(required)

Email of the customer

paymentReference
String(required)

A unique string of characters that identifies each transaction

paymentDescription
String(required)

A description of the payment

currencyCode
String(required)

The currency code

contractCode
String(required)

The merchant contract code

apiKey
String(required)

The merchant API key

metaData
Map<String,Object>

This field can be used to pass extra information from customers

incomeSplitConfig
List<IncomeSplitConfig>

A way to split payments among subAccounts. IncomeSplitConfig { String subAccountCode; Float feePercentage; Float splitPercentage; Float splitAmount; Boolean feeBearer; }

REQUEST
Copy button
{
"cardToken": "MNFY_64355FBB44534A3E8B484985436BE1BD",
"amount": 20,
"customerName": "Marvelous Benji",
"customerEmail": "[email protected]",
"paymentReference": "16427769909682937",
"paymentDescription": "Paying for Product A",
"currencyCode": "NGN",
"contractCode": "100693167467",
"apiKey": "MK_PROD_WTZLS10MX6",
"metaData": {
"ipAddress": "127.0.0.1",
"deviceType": "mobile"
}
}
RESPONSE
Copy button
{
"requestSuccessful": false,
"responseMessage": "Invalid card token",
"responseCode": "99"
}

Direct Debit

Create Mandate

This endpoint initiates the creation of a mandate
POST
{{base_url}}/api/v1/direct-debit/mandate/create


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

contractCode
String(required)

The merchant’s Monnify contract code

mandateReference
String(required)

Merchants generated reference to identify a mandate

autoRenew
Boolean

This informs Monnify wether the mandate will be renewed once it reaches end date. Set this parameter to true for Open Fixed and Open Flexible mandates and false otherwise.

customerName
String(required)

The customer's name

customerEmailAddress
String(required)

The customer's email address

customerPhoneNumber
String(required)

The customer's phone number

customerAddress
String(required)

The customer's home address

customerAccountNumber
String(required)

The customer's bank account number

customerAccountBankCode
String(required)

The bank code of the customer’s bank account

mandateDescription
String(required)

The description of the payment the mandate is associated to

mandateStartDate
String(required)

The start date for the mandate. The date format is: YYYY-MM-DD HH:MM:SS

mandateEndDate
String(required)

The end date for the mandate. The date format is: YYYY-MM-DD HH:MM:SS

mandateAmount
Float

Total lifetime amount debitable on the mandate.

debitAmount
Float

The amount to be debited periodically. Set this field for Open Fixed and Closed Fixed mandates to specify the amount to be charged periodically. Ignore for other mandate types

customerCancellation
Boolean

Informs Monnify if the Mandate can be cancelled by the customer

REQUEST
Copy button
{
"contractCode": "4934121686",
"mandateReference": "unique_ref3_02s600972",
"autoRenew": false,
"customerCancellation": true,
"customerName": "Ankit Kushwaha",
"customerPhoneNumber": "1234567890",
"customerEmailAddress": "[email protected]",
"customerAddress": "123 Example Street, City, Country",
"customerAccountName": "Ankit Kushwaha",
"customerAccountNumber": "0051762787",
"customerAccountBankCode": "998",
"mandateDescription": "Subscription Fee",
"mandateStartDate": "2024-05-22T10:15:30",
"mandateEndDate": "2025-05-22T10:15:30"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"responseMessage": "Your request for creating a mandate is submitted. An authorization instruction will be sent to the customer email.",
"mandateReference": "unique_ref3_02s600972",
"mandateCode": "MTDD|01HY8W3FBKHTFBZP9DQ9KNHR1G",
"mandateStatus": "INITIATED"
}
}

Get Mandate Status

This endpoint retrieves the details of a created mandate
GET
{{base_url}}/api/v1/direct-debit/mandate/


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

mandateReferences
String

Merchants generated reference to identify a mandate

REQUEST
Copy button
curl -H "Accept: application/json"
https://sandbox.monnify.com/api/v1/direct-debit/mandate/?mandateReferences=unique_ref3_02gs600s972
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": [
{
"mandateCode": "MTDD|01HY8WMN8JYKDRJC67QPQVS1N0",
"externalMandateReference": "unique_ref3_02gs600s972",
"startDate": "2024-05-19T09:15:30.000+0000",
"endDate": "2024-09-22T09:15:30.000+0000",
"mandateStatus": "ACTIVE",
"mandateAmount": 50000,
"contractCode": "4934121686",
"autoRenew": false,
"customerPhoneNumber": "1234567890",
"customerEmailAddress": "[email protected]",
"customerAddress": "123 Example Street, City, Country",
"customerName": "Ankit Kushwaha",
"customerAccountName": "Ankit Kushwaha",
"customerAccountNumber": "0051762787",
"customerAccountBankCode": "998",
"mandateDescription": "Subscription Fee",
"debitAmount": null,
"authorizationMessage": null,
"authorizationLink": null
}
]
}

Debit Mandate

This endpoint debits an active mandate
POST
{{base_url}}/api/v1/direct-debit/mandate/debit


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

paymentReference
String(required)

Merchants unique reference to identify a single direct debit payment

mandateCode
String(required)

Monnify generated mandate identifier

debitAmount
String(required)

Payment amount to be debited from a single debit transaction

narration
String(required)

Description of the single debit

customerEmail
String(required)

The customer's email address

REQUEST
Copy button
{
"paymentReference": "PR1234567991002",
"mandateCode": "MTDD|01HY8WMN8JYKDRJC67QPQVS1N0",
"debitAmount": 1000.00,
"narration": "Payment for Services",
"customerEmail":"[email protected]"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"transactionStatus": "PENDING",
"responseMessage": "Debit mandate request accepted for processing",
"transactionReference": "MNFY|20240519180055|000001",
"paymentReference": "PR1234567991002",
"debitAmount": 1000,
"narration": "Payment for Services",
"mandateCode": "MTDD|01HY8WMN8JYKDRJC67QPQVS1N0"
}
}

Get Debit Status

This endpoint gets the status of a debited mandate
GET
{{base_url}}/api/v1/direct-debit/mandate/debit-status


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

paymentReference
String

The payment reference used in debiting a mandate

REQUEST
Copy button
curl -H "Accept: application/json"
{{monnify_base_url}}/api/v1/direct-debit/mandate/debit-status?paymentReference=String
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"transactionStatus": "PAID",
"responseMessage": null,
"transactionReference": "MNFY|20240519180055|000001",
"paymentReference": "PR1234567991002",
"debitAmount": 1000,
"narration": "Payment for Services",
"mandateCode": "MTDD|01HY8WMN8JYKDRJC67QPQVS1N0"
}
}

Update Mandate

This endpoint cancels/deactivate a mandate
PATCH
{{base_url}}/api/v1/direct-debit/mandate/cancel-mandate/{{mandateCode}}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

mandateCode
String

Monnify generated mandate identifier

REQUEST
Copy button
curl --header "Content-Type: application/json"
--request POST
--data '{}'
https://sandbox.monnify.com/api/v1/direct-debit/mandate/cancel-mandate/MTDD%7C01HY8W3FBKHTFBZP9DQ9KNHR1G
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"responseMessage": "Mandate has been requested to be cancelled.",
"mandateReference": "unique_ref3_02s600972",
"mandateCode": "MTDD|01HY8W3FBKHTFBZP9DQ9KNHR1G",
"mandateStatus": "ACTIVE"
}
}

Sub Accounts

Create Sub Account(s)

This endpoint allows you to create a sub account to enable the spliting of payments between different accounts.
POST
{{base_url}}/api/v1/sub-accounts


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

currencyCode
String(required)

Settlement currency. "NGN"

accountNumber
String(required)

The account number that should be created as a sub account.

bankCode
String(required)

The 3 digit bank code of the bank where the account number is domiciled

email
String(required)

The email tied to the sub account

defaultSplitPercentage
Float(required)

The default percentage to be split into the sub account on any transaction.

REQUEST
Copy button
[
{
"currencyCode": "NGN",
"bankCode": "058",
"accountNumber": "0211319282",
"email": "[email protected]",
"defaultSplitPercentage": 20.87
}
]
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": [
{
"subAccountCode": "MFY_SUB_811397375865",
"accountNumber": "0211319282",
"accountName": "ALEMOH DANIEL MOSES",
"currencyCode": "NGN",
"email": "[email protected]",
"bankCode": "058",
"bankName": "GTBank",
"defaultSplitPercentage": 20.87,
"settlementProfileCode": "8717495899",
"settlementReportEmails": []
}
]
}

Delete Sub Account

This endpoint deletes a sub account on your integration.
DELETE
{{base_url}}/api/v1/sub-accounts/{subAccountCode}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

subAccountCode
String

The subAccountCode of the sub account you want to delete.

REQUEST
Copy button
curl --header "Content-Type: application/json"
--request POST
--data '{}'
{{base_url}}/api/v1/sub-accounts/MFY_SUB_811397375865
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0"
}

Get Sub Accounts

This endpoint returns the list of sub accounts that have been created on your integration.
GET
{{base_url}}/api/v1/sub-accounts


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/sub-accounts
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": [
{
"subAccountCode": "MFY_SUB_811397375865",
"accountNumber": "0211319282",
"accountName": "ALEMOH DANIEL MOSES",
"currencyCode": "NGN",
"email": "[email protected]",
"bankCode": "058",
"bankName": "GTBank",
"defaultSplitPercentage": 20.87,
"settlementProfileCode": "8717495899",
"settlementReportEmails": []
},
{
"subAccountCode": "MFY_SUB_322165393053",
"accountNumber": "2085886393",
"accountName": "Marvelous Benji",
"currencyCode": "NGN",
"email": "[email protected]",
"bankCode": "057",
"bankName": "Zenith bank",
"defaultSplitPercentage": 20,
"settlementProfileCode": "8717495899",
"settlementReportEmails": []
},
{
"subAccountCode": "MFY_SUB_687043136486",
"accountNumber": "8569214283",
"accountName": "MFY / 9jaCash-jaCash-ABODUNRIN OYELEKE MAICHEAL",
"currencyCode": "NGN",
"email": "[email protected]",
"bankCode": "50515",
"bankName": "Moniepoint Microfinance bank",
"defaultSplitPercentage": 20.87,
"settlementProfileCode": "8717495899",
"settlementReportEmails": []
}
]
}

Update Sub Account

This endpoint updates the details of an existing sub account.
PUT
{{base_url}}/api/v1/sub-accounts


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

currencyCode
String

Settlement currency. "NGN"

accountNumber
String

The account number that should be created as a sub account.

bankCode
String

The 3 digit bank code of the bank where the account number is domiciled

email
String

The email tied to the sub account

defaultSplitPercentage
Float

The default percentage to be split into the sub account on any transaction.

subAccountCode
String

The sub account code of the account to be updated.

REQUEST
Copy button
{
"subAccountCode": "MFY_SUB_811397375865",
"currencyCode": "NGN",
"bankCode": "058",
"accountNumber": "0211319282",
"email": "[email protected]",
"defaultSplitPercentage": "25"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"subAccountCode": "MFY_SUB_811397375865",
"accountNumber": "0211319282",
"accountName": "ALEMOH DANIEL MOSES",
"currencyCode": "NGN",
"email": "[email protected]",
"bankCode": "058",
"bankName": "GTBank",
"defaultSplitPercentage": 25,
"settlementProfileCode": "8717495899",
"settlementReportEmails": []
}
}

Transfers (Disbursement)

Initiate Transfer (Single)

This endpoint helps to initiate transfer to desired bank account.
POST
{{base_url}}/api/v2/disbursements/single


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

amount
Float(required)

Amount to disburse

reference
String(required)

The unique reference for the transaction

narration
String(required)

The Narration for the transactions being processed

destinationBankCode
String(required)

The 3 digit bank code representing the destination bank

destinationAccountNumber
String(required)

The beneficiary account number

currency
String(required)

The currency of the transaction being initialised - "NGN"

sourceAccountNumber
String(required)

Your Wallet Account Number

REQUEST
Copy button
{
"amount": 200,
"reference":"referen00ce---1290034",
"narration":"911 Transaction",
"destinationBankCode": "057",
"destinationAccountNumber": "2085886393",
"currency": "NGN",
"sourceAccountNumber": "3934178936"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 200,
"reference": "referen00ce---1290034",
"status": "SUCCESS",
"dateCreated": "2022-07-31T14:31:33.759+0000",
"totalFee": 35,
"destinationAccountName": "Marvelous Benji",
"destinationBankName": "Zenith bank",
"destinationAccountNumber": "2085886393",
"destinationBankCode": "057"
}
}

Initiate Transfer (Async)

This endpoint helps initiate transfer asynchronously to desired bank account.
POST
{{base_url}}/api/v2/disbursements/single


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

amount
Float(required)

Amount to disburse

reference
String(required)

The unique reference for the transaction

narration
String(required)

The Narration for the transactions being processed

destinationBankCode
String(required)

The 3 digit bank code representing the destination bank

destinationAccountNumber
String(required)

The beneficiary account number

currency
String(required)

The currency of the transaction being initialised - "NGN"

sourceAccountNumber
String(required)

Unique identifier of your wallet

async
Boolean

An option to process disbursment asynchronously

REQUEST
Copy button
{
"amount": 200,
"reference":"reference-0x1290034",
"narration":"911 Transaction",
"destinationBankCode": "057",
"destinationAccountNumber": "2085886393",
"currency": "NGN",
"sourceAccountNumber": "3934178936",
"async":true
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 200,
"reference": "reference-0x1290034",
"status": "PENDING",
"dateCreated": "2023-09-22T15:38:38.443+0000",
"totalFee": 35,
"destinationBankName": "Zenith bank",
"destinationAccountNumber": "2085886393",
"destinationBankCode": "057"
}
}

Initiate Transfer (Bulk)

This endpoint helps in Initiating Bulk Transfer transactions on your integration.
POST
{{base_url}}/api/v2/disbursements/batch


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

title
String

The title of the batch disbursement

batchReference
String

A unique reference identifying the batch disbursement

narration
String

A narration for the disbursement

sourceAccountNumber
String

The merchant WALLET ACCOUNT NUMBER.

onValidationFailure
Enum

Decision to be taken if any of the disbursement batches fail. Either BREAK or CONTINUE.

notificationInterval
Integer

This determines how often Monnify should notify the merchant of its progress when processing a batch transfer

transactionList
Array

A list of transactions to be processed

REQUEST
Copy button
{
"title" : "Game of Batches",
"batchReference":"batchreference--12934",
"narration":"911 Transaction",
"sourceAccountNumber": "3934178936",
"onValidationFailure" : "CONTINUE",
"notificationInterval": 25,
"transactionList" : [
{
"amount": 1300,
"reference":"Final-Refere-nce-1a",
"narration":"911 Transaction",
"destinationBankCode": "058",
"destinationAccountNumber": "0111946768",
"currency": "NGN"
},
{
"amount": 570,
"reference":"Final-Ref-erence-2a",
"narration":"911 Transaction",
"destinationBankCode": "058",
"destinationAccountNumber": "0111946768",
"currency": "NGN"
},
{
"amount": 230,
"reference":"Final-Refer-ence-3a",
"narration":"911 Transaction",
"destinationBankCode": "058",
"destinationAccountNumber": "0111946768",
"currency": "NGN"
}
]
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"totalAmount": 2100,
"totalFee": 105,
"batchReference": "batchreference--12934",
"batchStatus": "AWAITING_PROCESSING",
"totalTransactionsCount": 3,
"dateCreated": "2022-07-31T14:41:19.588+0000"
}
}

Authorize Single Transfers

This endpoint authorizes single transfers on your integration.
POST
{{base_url}}/api/v2/disbursements/single/validate-otp


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

reference
String

The unique reference for the transfer

authorizationCode
String

The OTP sent to merchant's email address

REQUEST
Copy button
{
"reference":"refere--n00ce---1290034",
"authorizationCode":"491763"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 200,
"reference": "refere--n00ce---1290034",
"status": "SUCCESS",
"dateCreated": "2022-07-31T15:36:16.000+0000",
"totalFee": 35,
"destinationAccountName": "Marvelous Benji",
"destinationBankName": "Zenith bank",
"destinationAccountNumber": "2085886393",
"destinationBankCode": "057"
}
}

Authorize Bulk Transfers

This endpoint authorizes bulk transfers on your integration.
POST
{{base_url}}/api/v2/disbursements/batch/validate-otp


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

reference
String

The batch reference used in the transfer

authorizationCode
String

The OTP sent to the merchant's email

REQUEST
Copy button
{
"reference":"batchre-ference--12934",
"authorizationCode":"122080"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"totalAmount": 2100,
"totalFee": 105,
"batchReference": "batchre-ference--12934",
"batchStatus": "AWAITING_PROCESSING",
"totalTransactionsCount": 3,
"dateCreated": "2022-07-31T15:49:03.000+0000"
}
}

Resend OTP

This endpoint generates a new OTP in the event that there were challenges with the former OTP sent.
POST
{{base_url}}/api/v2/disbursements/single/resend-otp


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

reference
String

The reference used for the transfer

REQUEST
Copy button
{
"reference" : "{{reference}}"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"message": "Authorization code will be processed and sent to predefined email addresses(s)"
}
}

Single Transfer Status

This endpoint verifies the status of a single transfer on your integration. **Transaction States** - PENDING - SUCCESS - FAILED - REVERSED - PENDING_AUTHORIZATION - OTP_EMAIL_DISPATCH_FAILED
GET
{{base_url}}/api/v2/disbursements/single/summary


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

reference
String

The reference used for the transfer

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v2/disbursements/single/summary?reference=referen00ce---1290034
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"amount": 200,
"reference": "referen00ce---1290034",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731033133AABQGN",
"createdOn": "2022-07-31T14:31:34.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "2085886393",
"destinationAccountName": "Marvelous Benji",
"destinationBankCode": "057",
"destinationBankName": "Zenith bank"
}
}

List All Single Transfers

This endpoint returns the list of all single transfers made on your integration.
GET
{{base_url}}/api/v2/disbursements/single/transactions


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

pageSize
Integer

The number of transfer records to return

pageNo
Integer

A number specifying what page of transfers to be retrieved

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v2/disbursements/single/transactions?pageSize=20&pageNo=1
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"amount": 10,
"reference": "hjkdd0odood0pl",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220516012053AAAYYN",
"createdOn": "2022-05-16T12:20:54.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "hjkddodood0pl",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220422013417AAAXSP",
"createdOn": "2022-04-22T12:34:18.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "hjkddodood0p9",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220422103648AAAXSG",
"createdOn": "2022-04-22T09:36:48.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "hjkddodood0p",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220422103636AAAXSF",
"createdOn": "2022-04-22T09:36:36.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "hjkddodood0",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220422103623AAAXSE",
"createdOn": "2022-04-22T09:36:23.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "hjkddodood",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220422090109AAAXRK",
"createdOn": "2022-04-22T08:01:10.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "reference234hh",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220420120659AAAXNY",
"createdOn": "2022-04-20T11:06:59.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "reference29034hh",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220420120252AAAXNX",
"createdOn": "2022-04-20T11:02:53.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "referene2934hh",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220326055912AAAWGE",
"createdOn": "2022-03-26T16:59:12.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "reference2934hh",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220322053101AAAVTO",
"createdOn": "2022-03-22T16:31:02.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 10,
"reference": "reference2934",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220317100514AAAVMO",
"createdOn": "2022-03-17T09:05:14.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 230,
"reference": "Final-Reference-",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220315094149AAAVDV",
"createdOn": "2022-03-15T08:41:49.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 230,
"reference": "Final-Reference-3c",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "FAILED",
"transactionDescription": "Account number could not be validated",
"transactionReference": "MFDS20220315094149AAAVDW",
"createdOn": "2022-03-15T08:41:49.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946788",
"destinationBankCode": "058"
},
{
"amount": 230,
"reference": "Final-Reference-3b",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "FAILED",
"transactionDescription": "Account number could not be validated",
"transactionReference": "MFDS20220315094149AAAVDX",
"createdOn": "2022-03-15T08:41:49.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111940768",
"destinationBankCode": "058"
},
{
"amount": 1300,
"reference": "Final-Reference-v",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220315094148AAAVDT",
"createdOn": "2022-03-15T08:41:49.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 570,
"reference": "Final-Reference-m",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220315094148AAAVDU",
"createdOn": "2022-03-15T08:41:49.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 570,
"reference": "Final-Reference-2",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220315093929AAAVDR",
"createdOn": "2022-03-15T08:39:30.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 230,
"reference": "Final-Reference-3",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220315093929AAAVDS",
"createdOn": "2022-03-15T08:39:30.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 1300,
"reference": "Final-Reference-1",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220315093929AAAVDQ",
"createdOn": "2022-03-15T08:39:29.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 1300,
"reference": "Final-Reference-1a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220315093339AAAVDN",
"createdOn": "2022-03-15T08:33:39.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 20,
"pageNumber": 1,
"offset": 20,
"paged": true,
"unpaged": false
},
"last": false,
"totalPages": 3,
"totalElements": 54,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": false,
"numberOfElements": 20,
"size": 20,
"number": 1,
"empty": false
}
}

List All Bulk Transfers

This endpoint returns the list of all bulk transfers made on your integration.
GET
{{base_url}}/api/v2/disbursements/bulk/transactions


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

pageSize
Integer

The number of transfer records to return

pageNo
Integer

A number specifying what page of transfers to be retrieved

REQUEST
Copy button
curl -H "Accept: application/json"
https://sandbox.monnify.com/api/v2/disbursements/single/transactions?pageSize=5
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"totalAmount": 45,
"totalFee": 80,
"batchReference": "Batch-1596666798811",
"batchStatus": "COMPLETED",
"totalTransactionsCount": 4,
"dateCreated": "2020-08-05T22:33:21.000+0000"
},
{
"totalAmount": 50,
"totalFee": 20,
"batchReference": "Batch-1593606495053",
"batchStatus": "COMPLETED",
"totalTransactionsCount": 1,
"dateCreated": "2020-07-01T12:28:16.000+0000"
},
{
"totalAmount": 50,
"totalFee": 20,
"batchReference": "Batch-1593606391931",
"batchStatus": "COMPLETED",
"totalTransactionsCount": 1,
"dateCreated": "2020-07-01T12:26:33.000+0000"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 3,
"pageNumber": 0,
"offset": 0,
"unpaged": false,
"paged": true
},
"totalPages": 3,
"last": false,
"totalElements": 7,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 3,
"size": 3,
"number": 0,
"empty": false
}
}

Get Bulk Transfer Transactions

This endpoint returns the list of all transactions in a bulk transfer batch and their status.
GET
{{base_url}}/api/v2/disbursements/bulk/batchreference--12934/transactions


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

pageSize
Integer

The number of transfer record to be returned per page

pageNo
Integer

A number specifying what page of transfers to be retrieved

batchReference
{{url_encoded_reference}}

A unique reference identifying the batch disbursement

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v2/disbursements/bulk/batchreference--12934/transactions
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"amount": 230,
"reference": "Final-Refer-ence-3a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034121AABQGQ",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 570,
"reference": "Final-Ref-erence-2a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034121AABQGP",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 1300,
"reference": "Final-Refere-nce-1a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034120AABQGO",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalPages": 1,
"totalElements": 3,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 3,
"size": 10,
"number": 0,
"empty": false
}
}

Bulk Transfer Status

This endpoint verifies the status of a bulk transfer on your integration.
GET
{{base_url}}/api/v2/disbursements/bulk/batchreference--12934/transactions


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

batchReference
String

A unique reference identifying the batch disbursement

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v2/disbursements/bulk/batchreference--12934/transactions
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"amount": 230,
"reference": "Final-Refer-ence-3a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034121AABQGQ",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 570,
"reference": "Final-Ref-erence-2a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034121AABQGP",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 1300,
"reference": "Final-Refere-nce-1a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034120AABQGO",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalPages": 1,
"totalElements": 3,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 3,
"size": 10,
"number": 0,
"empty": false
}
}

Search Disbursement Transactions

This endpoint returns the list of all disbursement transactions.
GET
{{base_url}}/api/v2/disbursements/search-transactions


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

sourceAccountNumber
String

The merchant's WALLET ACCOUNT NUMBER, this parameter is mandatory

pageSize
Integer

The number of records to return

pageNo
Integer

The current page from the total

startDate
String

A timestamp value specifying the date to start filtering disbursement transactions by the createdAt field

endDate
String

A timestamp value specifying the date to stop filtering disbursement transactions by the createdAt field

amountFrom
String

A number specifying the lower bound for filtering the transactions by the amount field

amountTo
String

A number specifying the upper bound for filtering the transactions by the amount field.

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v2/disbursements/search-transactions?sourceAccountNumber=3934178936
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"amount": 200,
"reference": "refere--n00ce---1290--034",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": true,
"status": "EXPIRED",
"transactionDescription": "Transaction has expired",
"transactionReference": "MFDS20220731044951AABQGV",
"createdOn": "2022-07-31T15:49:51.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "2085886393",
"destinationAccountName": "Marvelous Benji",
"destinationBankCode": "057",
"destinationBankName": "Zenith bank"
},
{
"amount": 230,
"reference": "Final-Ref--er-ence-3a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": true,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731044903AABQGU",
"createdOn": "2022-07-31T15:49:04.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 570,
"reference": "Final-Ref-e--rence-2a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": true,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731044903AABQGT",
"createdOn": "2022-07-31T15:49:04.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 1300,
"reference": "Final-Ref--ere-nce-1a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": true,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731044903AABQGS",
"createdOn": "2022-07-31T15:49:04.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 200,
"reference": "refere--n00ce---1290034",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": true,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731043616AABQGR",
"createdOn": "2022-07-31T15:36:16.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "2085886393",
"destinationAccountName": "Marvelous Benji",
"destinationBankCode": "057",
"destinationBankName": "Zenith bank"
},
{
"amount": 230,
"reference": "Final-Refer-ence-3a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034121AABQGQ",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 570,
"reference": "Final-Ref-erence-2a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034121AABQGP",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 1300,
"reference": "Final-Refere-nce-1a",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731034120AABQGO",
"createdOn": "2022-07-31T14:41:21.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "0111946768",
"destinationAccountName": "MEKILIUWA SMART CHINONSO",
"destinationBankCode": "058",
"destinationBankName": "GTBank"
},
{
"amount": 200,
"reference": "referen00ce---1290034",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "SUCCESS",
"transactionDescription": "Transaction successful",
"transactionReference": "MFDS20220731033133AABQGN",
"createdOn": "2022-07-31T14:31:34.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "2085886393",
"destinationAccountName": "Marvelous Benji",
"destinationBankCode": "057",
"destinationBankName": "Zenith bank"
},
{
"amount": 200,
"reference": "reference---12934",
"narration": "911 Transaction",
"currency": "NGN",
"fee": 35,
"twoFaEnabled": false,
"status": "FAILED",
"transactionDescription": "Name enquiry failed",
"transactionReference": "MFDS20220731031032AABQGM",
"createdOn": "2022-07-31T14:10:33.000+0000",
"sourceAccountNumber": "3934178936",
"destinationAccountNumber": "5000143115",
"destinationBankCode": "50515",
"destinationBankName": "Moniepoint Microfinance bank"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": false,
"totalPages": 6,
"totalElements": 54,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 10,
"size": 10,
"number": 0,
"empty": false
}
}

Get Wallet Balance

This endpoint returns the available balance in your monnify wallet.
GET
{{base_url}}/api/v2/disbursements/wallet-balance


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountNumber
String

The merchant's WALLET ACCOUNT NUMBER.

REQUEST
Copy button
curl -H "Accept: application/json"
https://sandbox.monnify.com/api/v2/disbursements/wallet-balance?accountNumber=String
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"availableBalance": 378.93,
"ledgerBalance": 378.93
}
}

Wallet

Create Wallet

This endpoint creates wallets for merchants' customers
POST
{{base_url}}/api/v1/disbursements/wallet


Headers

Authorization
basic
Authorize this API call by including Authorization header that contains the word 'Basic' followed by a space and a base64-encoded string 'apiKey:clientSecret' i.e. 'Basic base64(ApiKey:SecretKey)', include the Token in the request header.

Body Params

walletReference
String

A unique identifier for the wallet

walletName
String

The desired wallet name

customerName
String

The customer's name

customerEmail
String

The customer's email

bvn
String

The customer's bvn

bvnDateOfBirth
String

The date of birth associated with the bvn in the format yyyy-mm-dd

REQUEST
Copy button
{
"walletReference":"ref16842048425966",
"walletName":"Staging Wallet - ref16804248425966",
"customerName": "John Doe",
"bvnDetails": {
"bvn": "{{bvn}}",
"bvnDateOfBirth": "1997-04-08"
},
"customerEmail": "[email protected]"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"walletName": "Staging Wallet - ref16804248425966",
"walletReference": "ref16842048425966",
"customerName": "Test01-John Doe",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "1345947817",
"accountName": "Test01-John Doe"
}
}

Wallet Balance

This endpoint returns the balance associated with a wallet
GET
{{base_url}}/api/v1/disbursements/wallet/balance


Headers

Authorization
basic
Authorize this API call by including Authorization header that contains the word 'Basic' followed by a space and a base64-encoded string 'apiKey:clientSecret' i.e. 'Basic base64(ApiKey:SecretKey)', include the Token in the request header.

Body Params

walletReference
String

The unique identifier of the wallet

REQUEST
Copy button
curl -H "Accept: application/json"
{{monnify_base_url}}/api/v1/disbursements/wallet/balance?accountNumber=9318673649
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"availableBalance": 5000000000,
"ledgerBalance": 5000000000
}
}

Get Wallets

This endpoint returns all the wallets created by a merchant
GET
{{base_url}}/api/v1/disbursements/wallet


Headers

Authorization
basic
Authorize this API call by including Authorization header that contains the word 'Basic' followed by a space and a base64-encoded string 'apiKey:clientSecret' i.e. 'Basic base64(ApiKey:SecretKey)', include the Token in the request header.

Body Params

customerEmail

pageSize
Integer

The amount of records to be returned

pageNo
Integer

The page number of the requested records

REQUEST
Copy button
curl -H "Accept: application/json"
{{monnify_base_url}}/api/v1/disbursements/wallet?pageSize=10&pageNo=0
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"walletName": "Smart Wallet - 123",
"walletReference": "sgsjsjshsishs",
"customerName": "Test01-Smart Mek",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "2611645927",
"accountName": "Test01-Smart Mek",
"topUpAccountDetails": {
"accountNumber": "4999857145",
"accountName": "Test01-Smart Mek",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
},
{
"walletName": "Benj-Wallet-123",
"walletReference": "Wal232323",
"customerName": "Test01-Benji",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "4445668698",
"accountName": "Test01-Benji",
"topUpAccountDetails": {
"accountNumber": "2349242677",
"accountName": "Test01-Benji",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
},
{
"walletName": "Staging Wallet - ref1684248425966",
"walletReference": "ref1684248425966",
"customerName": "Test01-John Doe",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "9318673649",
"accountName": "Test01-John Doe",
"topUpAccountDetails": {
"accountNumber": "9373335565",
"accountName": "Test01-John Doe",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
},
{
"walletName": "Staging Wallet - ref1684248425966",
"walletReference": "ref16842x48425966",
"customerName": "Test01-John Doe",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "6389487462",
"accountName": "Test01-John Doe",
"topUpAccountDetails": {
"accountNumber": "3141756258",
"accountName": "Test01-John Doe",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
},
{
"walletName": "Staging Wallet - ref1703147389707",
"walletReference": "ref1703147389707",
"customerName": "Test01-John Doe",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "7728149563",
"accountName": "Test01-John Doe",
"topUpAccountDetails": {
"accountNumber": "5365119912",
"accountName": "Test01-John Doe",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
},
{
"walletName": "Staging Wallet - ref1703147486611",
"walletReference": "ref1703147486611",
"customerName": "Test01-John Doe",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "3892823488",
"accountName": "Test01-John Doe",
"topUpAccountDetails": {
"accountNumber": "6427372829",
"accountName": "Test01-John Doe",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
},
{
"walletName": "Staging Wallet - ref1703147617449",
"walletReference": "ref1703147617449",
"customerName": "Test01-John Doe",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "22445912580",
"bvnDateOfBirth": "2001-10-06"
},
"accountNumber": "4823894483",
"accountName": "Test01-John Doe",
"topUpAccountDetails": {
"accountNumber": "3346545623",
"accountName": "Test01-John Doe",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
},
{
"walletName": "Staging Wallet - ref16804248425966",
"walletReference": "ref16842048425966",
"customerName": "Test01-John Doe",
"customerEmail": "[email protected]",
"feeBearer": "SELF",
"bvnDetails": {
"bvn": "21212121212",
"bvnDateOfBirth": "1997-04-08"
},
"accountNumber": "1345947817",
"accountName": "Test01-John Doe",
"topUpAccountDetails": {
"accountNumber": "6356312549",
"accountName": "Test01-John Doe",
"bankCode": "001",
"bankName": "Monnify Test Bank"
}
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalElements": 8,
"totalPages": 1,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 8,
"size": 10,
"number": 0,
"empty": false
}
}

Wallet Transactions

This endpoint returns all the transactions performed by a wallet
GET
{{base_url}}/api/v1/disbursements/wallet/transactions


Headers

Authorization
basic
Authorize this API call by including Authorization header that contains the word 'Basic' followed by a space and a base64-encoded string 'apiKey:clientSecret' i.e. 'Basic base64(ApiKey:SecretKey)', include the Token in the request header.

Body Params

accountNumber
String

The wallet account number

REQUEST
Copy button
curl -H "Accept: application/json"
{{monnify_base_url}}/api/v1/disbursements/wallet/transactions?accountNumber=9318673649
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"walletTransactionReference": "MFDS50220230918031834001322SW440P",
"monnifyTransactionReference": "MFDS50220230918031834001322SW440P",
"availableBalanceBefore": null,
"availableBalanceAfter": null,
"amount": 2500000,
"transactionDate": "2023-09-18T14:18:34.751+0000",
"transactionType": "DEBIT",
"message": null,
"narration": null,
"status": "COMPLETED"
},
{
"walletTransactionReference": "MFDS50220230918031834001321H2NS28",
"monnifyTransactionReference": "MFDS50220230918031834001321H2NS28",
"availableBalanceBefore": null,
"availableBalanceAfter": null,
"amount": 105000,
"transactionDate": "2023-09-18T14:18:34.744+0000",
"transactionType": "DEBIT",
"message": null,
"narration": null,
"status": "COMPLETED"
},
{
"walletTransactionReference": "MFDS50220230918031734001319UUTAVX",
"monnifyTransactionReference": "MFDS50220230918031734001319UUTAVX",
"availableBalanceBefore": null,
"availableBalanceAfter": null,
"amount": 10000,
"transactionDate": "2023-09-18T14:17:40.988+0000",
"transactionType": "DEBIT",
"message": null,
"narration": null,
"status": "COMPLETED"
},
{
"walletTransactionReference": "MFDS50220230918031734001320XCKW5D",
"monnifyTransactionReference": "MFDS50220230918031734001320XCKW5D",
"availableBalanceBefore": null,
"availableBalanceAfter": null,
"amount": 25000,
"transactionDate": "2023-09-18T14:17:40.987+0000",
"transactionType": "DEBIT",
"message": null,
"narration": null,
"status": "COMPLETED"
}
],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalPages": 1,
"totalElements": 4,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"first": true,
"numberOfElements": 4,
"size": 10,
"number": 0,
"empty": false
}
}

Limit Profile

Create Limit Profile(s)

This endpoint creates limit profiles on a customer's account.
POST
{{base_url}}/api/v1/limit-profile/


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

limitProfileName
String(required)

The name of the Limit Profile

singleTransactionValue
Float(required)

The maximum amount that can be allowed per transaction on the reserved accounts.

dailyTransactionValue
Float(required)

The maximum amount per day in all transactions that can be allowed on the reserved accounts

dailyTransactionVolume
Float(required)

The maximum number of transaction count per day allowed on the reserved accounts

REQUEST
Copy button
{
"limitProfileName":"Profile0001",
"singleTransactionValue":2000,
"dailyTransactionVolume":500,
"dailyTransactionValue": 150000
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"limitProfileCode": "FSYVVWU8UPBD",
"limitProfileName": "Profile0001",
"singleTransactionValue": 2000,
"dailyTransactionVolume": 500,
"dailyTransactionValue": 150000,
"dateCreated": "02/08/2022 02:27:43 AM",
"lastModified": "02/08/2022 02:27:43 AM"
}
}

Get Limit Profiles

This endpoint returns the list of all Limit Profiles that have been created for your customers.
GET
{{base_url}}/api/v1/limit-profile/


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/limit-profile/
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"limitProfileCode": "3YXDEFS7ZWB4",
"limitProfileName": "Benji profile",
"singleTransactionValue": 2000,
"dailyTransactionVolume": 500,
"dailyTransactionValue": 150000,
"dateCreated": "13/07/2022 10:08:00 PM",
"lastModified": "13/07/2022 10:08:00 PM"
},
{
"limitProfileCode": "HW5YMHPFPS86",
"limitProfileName": "Profile001",
"singleTransactionValue": 2000,
"dailyTransactionVolume": 500,
"dailyTransactionValue": 150000,
"dateCreated": "02/08/2022 12:43:56 AM",
"lastModified": "02/08/2022 12:43:56 AM"
},
{
"limitProfileCode": "FSYVVWU8UPBD",
"limitProfileName": "prof991",
"singleTransactionValue": 70000,
"dailyTransactionVolume": 4000,
"dailyTransactionValue": 100000000,
"dateCreated": "02/08/2022 02:27:44 AM",
"lastModified": "02/08/2022 02:45:26 AM"
}
],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalElements": 3,
"totalPages": 1,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"first": true,
"numberOfElements": 3,
"size": 10,
"number": 0,
"empty": false
}
}

Update Limit Profile

This endpoint updates the information on an existing Limit Profile.
PUT
{{base_url}}/api/v1/limit-profile/FSYVVWU8UPBD


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

limitProfileName
String

The name of the Limit Profile

singleTransactionValue
Float

The maximum amount that can be allowed per transaction on the reserved accounts.

dailyTransactionValue
Float

The maximum amount per day in all transactions that can be allowed on the reserved accounts

dailyTransactionVolume
Float

The maximum number of transaction count per day allowed on the reserved accounts

limitProfileCode
String

The generated limit profile code passed as path parameter

REQUEST
Copy button
{
"limitProfileName":"prof991",
"singleTransactionValue":70000,
"dailyTransactionVolume":4000,
"dailyTransactionValue": 100000000
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"limitProfileCode": "FSYVVWU8UPBD",
"limitProfileName": "prof991",
"singleTransactionValue": 70000,
"dailyTransactionVolume": 4000,
"dailyTransactionValue": 100000000,
"dateCreated": "02/08/2022 02:27:44 AM",
"lastModified": "02/08/2022 02:45:25 AM"
}
}

Reserve Account with Limit

This endpoint reserves an account for your customers with a transaction limit profile on it.
POST
{{base_url}}/api/v2/bank-transfer/reserved-accounts/limit


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountReference
String

A unique reference generated by merchants.

accountName
String

The name to be displayed during name enquiry

currencyCode
String

The currency payments will be received with

contractCode
String

The merchant contract code

customerEmail
String

The customer's email

incomeSplitConfig
Object

A configuration on how payments are to be split among subaccounts

limitProfileCode
String

The unique identifier that references the limit profile to associate with the reserved account

String


REQUEST
Copy button
{
"contractCode":"7059707855",
"accountName":"Kan Yo' Reserved with Limit ",
"currencyCode":"NGN",
"accountReference": "ref-00--7",
"customerEmail": "[email protected]",
"customerName": "Kan Yo",
"limitProfileCode": "FSYVVWU8UPBD"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"contractCode": "7059707855",
"accountReference": "ref-00--7",
"accountName": "Kan",
"currencyCode": "NGN",
"customerEmail": "[email protected]",
"customerName": "Kan Yo",
"accountNumber": "5000578928",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515",
"collectionChannel": "RESERVED_ACCOUNT",
"reservationReference": "0B70FP4CNC61U334XFG1",
"reservedAccountType": "GENERAL",
"status": "ACTIVE",
"createdOn": "2022-08-02 02:53:25.617",
"incomeSplitConfig": [],
"restrictPaymentSource": false,
"limitProfileConfig": {
"limitProfileCode": "FSYVVWU8UPBD",
"singleTransactionValue": 70000,
"dailyTransactionVolume": 4000,
"dailyTransactionValue": 100000000
}
}
}

Update Reserve Account Limit

This endpoint updates the information on an existing Limit Profile for a Reserved Account.
PUT
{{base_url}}/api/v1/bank-transfer/reserved-accounts/limit


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountReference
String(required)

A unique reference generated by merchants.

limitProfileCode
String(required)

The unique identifier that references the limit profile to associate with the reserved accounts.

REQUEST
Copy button
{
"accountReference": "ref-00--7",
"limitProfileCode": "FSYVVWU8UPBD"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"contractCode": "7059707855",
"accountReference": "ref-00--7",
"currencyCode": "NGN",
"customerEmail": "[email protected]",
"customerName": "Kan Yo",
"accountNumber": "5000578928",
"bankName": "Moniepoint Microfinance bank",
"bankCode": "50515",
"collectionChannel": "RESERVED_ACCOUNT",
"reservationReference": "0B70FP4CNC61U334XFG1",
"reservedAccountType": "GENERAL",
"status": "ACTIVE",
"createdOn": "2022-08-02 02:53:26.0",
"restrictPaymentSource": false,
"limitProfileConfig": {
"limitProfileCode": "FSYVVWU8UPBD",
"singleTransactionValue": 70000,
"dailyTransactionVolume": 4000,
"dailyTransactionValue": 100000000
}
}
}

Refund

Initiate Refund

This endpoint allows you to Initiate a refund.
POST
{{base_url}}/api/v1/refunds/initiate-refund


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String(required)

Unique identifier for the transaction generated by Monnify.

refundAmount
Float(required)

Amount to refund.

refundReference
String(required)

Unique identifier for the transaction refund generated by the merchant.

refundReason
String(required)

A note describing reason why this transaction is being refunded.

customerNote
String(required)

This field serves as a narration in credit to the customer's bank account.

destinationAccountNumber
String

The account number to be refunded

destinationBankCode
String

The bank code for the destinationAccountNumber.

REQUEST
Copy button
{
"transactionReference": "MNFY|65|20220727094724|000477",
"refundReference":"202100op3456",
"refundAmount": 100,
"refundReason": "Order cancelled!",
"customerNote": "An optional note",
"destinationAccountNumber": "3270005594",
"destinationAccountBankCode": "050"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"refundReference": "202100op3456",
"transactionReference": "MNFY|65|20220727094724|000477",
"refundReason": "Order cancelled!",
"customerNote": "An optional note",
"refundAmount": 100,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Transaction refund is in progress.",
"completedOn": "02/08/2022 03:35:22 AM",
"createdOn": "02/08/2022 03:35:21 AM"
}
}

Get Refund Status

This endpoint returns the status of an initiated refund.
GET
{{base_url}}/api/v1/refunds/{refundReference}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

refundReference
String

The refund reference used for the refund.

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/refunds/202100op3456
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"refundReference": "202100op3456",
"transactionReference": "MNFY|65|20220727094724|000477",
"refundReason": "Order cancelled!",
"customerNote": "An optional note",
"refundAmount": 100,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Refund processed successfully.",
"completedOn": "02/08/2022 03:35:22 AM",
"createdOn": "02/08/2022 03:35:22 AM"
}
}

Get All Refunds

This endpoint returns the list of all refunds available on your integration.
GET
{{base_url}}/api/v1/refunds


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

page
Integer

An integer specifying the page of transactions to be retrieved. Page number starts from 0.

size
Integer

An integer specifying the size of transactions to be returned per page.

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/refunds
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"refundReference": "202100op3456",
"transactionReference": "MNFY|65|20220727094724|000477",
"refundReason": "Order cancelled!",
"customerNote": "An optional note",
"refundAmount": 100,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Refund processed successfully.",
"completedOn": "02/08/2022 03:35:22 AM",
"createdOn": "02/08/2022 03:35:22 AM"
},
{
"refundReference": "1237hdid--jdj0p99p",
"transactionReference": "MNFY|33|20220525090254|000848",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 900,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Refund processed successfully.",
"completedOn": "05/07/2022 01:18:16 PM",
"createdOn": "05/07/2022 01:18:15 PM"
},
{
"refundReference": "1237j890---9d-jdj0p99p",
"transactionReference": "MNFY|33|20220525110449|000855",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 1000,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Refund processed successfully.",
"completedOn": "05/07/2022 12:46:55 PM",
"createdOn": "05/07/2022 12:46:51 PM"
},
{
"refundReference": "1237j890-9d-jdj0p99p",
"transactionReference": "MNFY|33|20220525110449|000855",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 1000,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Refund processed successfully.",
"completedOn": "04/07/2022 08:22:30 AM",
"createdOn": "04/07/2022 08:22:26 AM"
},
{
"refundReference": "1237j89--9d-jdj0p99p",
"transactionReference": "MNFY|33|20220525110449|000855",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 1000,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Refund processed successfully.",
"completedOn": "29/06/2022 12:50:11 PM",
"createdOn": "29/06/2022 12:50:10 PM"
},
{
"refundReference": "1237j89--9d--jdj0p99p",
"transactionReference": "MNFY|33|20220525110449|000855",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 1000,
"refundType": "PARTIAL_REFUND",
"refundStatus": "COMPLETED",
"refundStrategy": "MERCHANT_WALLET",
"comment": "Refund processed successfully.",
"completedOn": "29/06/2022 12:16:02 PM",
"createdOn": "29/06/2022 12:16:01 PM"
},
{
"refundReference": "1237j899d--jdj0p99p",
"transactionReference": "MNFY|33|20220525090450|000849",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 1000,
"refundType": "PARTIAL_REFUND",
"refundStatus": "PENDING",
"refundStrategy": "MERCHANT_WALLET",
"comment": "",
"completedOn": "",
"createdOn": "29/06/2022 12:13:34 PM"
},
{
"refundReference": "1237j899djdj0p99p",
"transactionReference": "MNFY|33|20220525090450|000849",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 100,
"refundType": "PARTIAL_REFUND",
"refundStatus": "PENDING",
"refundStrategy": "MERCHANT_WALLET",
"comment": "",
"completedOn": "",
"createdOn": "29/06/2022 11:44:18 AM"
},
{
"refundReference": "1237jdjdj0p99p",
"transactionReference": "MNFY|23|20220526072803|000006",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 100.56,
"refundType": "PARTIAL_REFUND",
"refundStatus": "PENDING",
"refundStrategy": "MERCHANT_WALLET",
"comment": "",
"completedOn": "",
"createdOn": "29/06/2022 11:42:56 AM"
},
{
"refundReference": "1234567jdjdj0p99p",
"transactionReference": "MNFY|23|20220526072803|000006",
"refundReason": "Order cancelled! (limited to 64 characters)",
"customerNote": "A note",
"refundAmount": 100.56,
"refundType": "PARTIAL_REFUND",
"refundStatus": "PENDING",
"refundStrategy": "MERCHANT_WALLET",
"comment": "",
"completedOn": "",
"createdOn": "29/06/2022 11:31:46 AM"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 10,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": false,
"totalElements": 17,
"totalPages": 2,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 10,
"size": 10,
"number": 0,
"empty": false
}
}

Settlements

Get Transactions By Settlement Reference

This endpoint returns all transactions that made up a settlement.
GET
{{base_url}}/api/v1/transactions/find-by-settlement-reference


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

reference
String

The settlement reference

page
Integer

The current page of the record

size
Integer

The number of transactions per page

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/transactions/find-by-settlement-reference?reference=XUY3FHWRJP3CEM4N17BA&page=0&size=20
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"content": [
{
"transactionReference": "MNFY|28|20220718162222|066201",
"paymentReference": "1658157741945",
"amountPaid": "20.32",
"totalPayable": "20.32",
"settlementAmount": "20.00",
"paidOn": "18/07/2022 04:23:55 PM",
"paymentStatus": "PAID",
"paymentDescription": "lets pay",
"transactionHash": "218523babb5416ed29477d618c315f458d6a7e881edf9d7a7cfb5fa7a61a16857f80cb1a795ee07cdfd92f9502970cb71d59c4b21017952feacff99f17cbdb92",
"currency": "NGN",
"paymentMethod": "CARD",
"product": {
"type": "WEB_SDK",
"reference": "1658157741945"
},
"cardDetails": {
"cardType": "MasterCard",
"last4": "9098",
"expMonth": "07",
"expYear": "23",
"bin": "539941",
"bankCode": "057",
"bankName": "Zenith bank",
"reusable": true,
"countryCode": null,
"cardToken": "MNFY_1B4B8224C4A847DE847B094AB7B979F9",
"supportsTokenization": true,
"maskedPan": "539941******9098"
},
"accountDetails": null,
"accountPayments": [],
"customer": {
"email": "[email protected]",
"name": "Marvelous Benji"
},
"metaData": {
"name": "Damilare",
"age": "45"
}
},
{
"transactionReference": "MNFY|49|20220719101559|009531",
"paymentReference": "1658222158122",
"amountPaid": "20.32",
"totalPayable": "20.32",
"settlementAmount": "20.00",
"paidOn": "19/07/2022 10:17:40 AM",
"paymentStatus": "PAID",
"paymentDescription": "lets pay",
"transactionHash": "59cd9d38a82faacc5a44690236348d296d1b19c2a91786186b4b044f51d1feac0104fae1141ac5549ad74b5a4b93715a77088629e5ad3f64d36d1d9c963c92ec",
"currency": "NGN",
"paymentMethod": "CARD",
"product": {
"type": "WEB_SDK",
"reference": "1658222158122"
},
"cardDetails": {
"cardType": "MasterCard",
"last4": "9098",
"expMonth": "07",
"expYear": "23",
"bin": "539941",
"bankCode": "057",
"bankName": "Zenith bank",
"reusable": true,
"countryCode": null,
"cardToken": "MNFY_7FEB76238A0C4A5EA96FC448330C63A9",
"supportsTokenization": true,
"maskedPan": "539941******9098"
},
"accountDetails": null,
"accountPayments": [],
"customer": {
"email": "[email protected]",
"name": "Marvelous Benji"
},
"metaData": {}
},
{
"transactionReference": "MNFY|48|20220719101906|009342",
"paymentReference": "1658222346512",
"amountPaid": "20.32",
"totalPayable": "20.32",
"settlementAmount": "20.00",
"paidOn": "19/07/2022 10:20:22 AM",
"paymentStatus": "PAID",
"paymentDescription": "lets pay",
"transactionHash": "66a96618cb73aab85a09b875a34a5295007857b04705e990e26f1e97be3eea8cb4f6b377ffa01e9e4a0418ebb5a9e5ea919f68755e4b18387f5920cb9f1a8fea",
"currency": "NGN",
"paymentMethod": "CARD",
"product": {
"type": "WEB_SDK",
"reference": "1658222346512"
},
"cardDetails": {
"cardType": "MasterCard",
"last4": "9098",
"expMonth": "07",
"expYear": "23",
"bin": "539941",
"bankCode": "057",
"bankName": "Zenith bank",
"reusable": true,
"countryCode": null,
"cardToken": "MNFY_64355FBB44534A3E8B484985436BE1BD",
"supportsTokenization": true,
"maskedPan": "539941******9098"
},
"accountDetails": null,
"accountPayments": [],
"customer": {
"email": "[email protected]",
"name": "Marvelous Benji"
},
"metaData": {
"name": "Damilare",
"age": "45"
}
},
{
"transactionReference": "MNFY|39|20220719103424|010787",
"paymentReference": "16427--76682--937",
"amountPaid": "20.00",
"totalPayable": "20.32",
"settlementAmount": "19.68",
"paidOn": "19/07/2022 10:34:34 AM",
"paymentStatus": "PARTIALLY_PAID",
"paymentDescription": "Paying for Product A",
"transactionHash": "339a4383b8755d6ddf0d7b2f363e4fd820248d2a88caa22d1cf922fda82e7fb45d4eec71a90d7a212b68efed4a5df2bc63767e62e63bdb97ace7686f64d46896",
"currency": "NGN",
"paymentMethod": "CARD",
"product": {
"type": "API_NOTIFICATION",
"reference": "16427--76682--937"
},
"cardDetails": {
"cardType": "MasterCard",
"last4": "9098",
"expMonth": "07",
"expYear": "23",
"bin": "539941",
"bankCode": "057",
"bankName": "Zenith bank",
"reusable": true,
"countryCode": null,
"cardToken": "MNFY_64355FBB44534A3E8B484985436BE1BD",
"supportsTokenization": false,
"maskedPan": "539941******9098"
},
"accountDetails": null,
"accountPayments": [],
"customer": {
"email": "[email protected]",
"name": "Marvelous Benji"
},
"metaData": {
"deviceType": "mobile",
"ipAddress": "127.0.0.1"
}
}
],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"pageSize": 20,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalElements": 4,
"totalPages": 1,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"first": true,
"numberOfElements": 4,
"size": 20,
"number": 0,
"empty": false
}
}

Get Settlement Information for Transaction

This endpoint returns settlement information on transactions made to your settlement account.
GET
{{base_url}}/api/v1/settlement-detail


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String

The Monnify transaction reference of the desired transaction

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/settlement-detail?transactionReference=MNFY%7C28%7C20220718162222%7C066201
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"transaction": {
"transactionReference": "MNFY|28|20220718162222|066201",
"paymentReference": "1658157741945",
"amountPaid": "20.32",
"totalPayable": "20.32",
"settlementAmount": "20.00",
"paidOn": "18/07/2022 04:23:55 PM",
"paymentStatus": "PAID",
"paymentDescription": "lets pay",
"currency": "NGN",
"paymentMethod": "CARD",
"product": {
"type": "WEB_SDK",
"reference": "1658157741945"
},
"cardDetails": {
"cardType": "MasterCard",
"last4": "9098",
"expMonth": "07",
"expYear": "23",
"bin": "539941",
"bankCode": "057",
"bankName": "Zenith bank",
"reusable": true,
"countryCode": null,
"cardToken": "MNFY_1B4B8224C4A847DE847B094AB7B979F9",
"supportsTokenization": true,
"maskedPan": "539941******9098"
},
"accountDetails": null,
"accountPayments": [],
"customer": {
"email": "[email protected]",
"name": "Marvelous Benji"
},
"metaData": {
"name": "Damilare",
"age": "45"
}
},
"beneficiaries": [
{
"beneficiaryType": "MERCHANT_CONTRACT",
"beneficiaryCode": "100693167467",
"beneficiaryIncome": 20,
"incurredFee": 0.32,
"settlementStatus": "SUCCESS",
"settlementInformation": {
"settledDate": "2022-07-20T21:01:06.000+0000",
"settlementReference": "XUY3FHWRJP3CEM4N17BA",
"settlementAmount": 79.68,
"settlementFee": 0,
"destinationAccountNumber": "2085886393",
"destinationAccountName": "Marvelous Benji",
"destinationBankName": "Zenith bank",
"destinationBankCode": "057"
}
}
]
}
}

Verification APIs

Validate Bank Account

This endpoint validates a Customer's NUBAN Account.
GET
{{base_url}}/api/v1/disbursements/account/validate


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

accountNumber
String

The account number to be validated

bankCode
String

The bank code of the required account number

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/disbursements/account/validate?accountNumber=2085886393&bankCode=057
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"accountNumber": "0123456789",
"accountName": "Damilare Ogunnaike",
"bankCode": "057"
}
}

BVN Information Verification

This endpoint verifies the BVN information of your customers.
POST
{{base_url}}/api/v1/vas/bvn-details-match


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

bvn
String

The user's bvn

name
String

The user’s name

dateOfBirth
String

The user’s date of birth

mobileNo
String

The user's mobile number

REQUEST
Copy button
{
"bvn":"22222222226",
"name": "Benjamin Ranae RT",
"dateOfBirth": "03-Oct-1993",
"mobileNo": "08016857829"
}
RESPONSE
Copy button
{
"requestSuccessful": false,
"responseMessage": "Unable to process request. Invalid BVN provided",
"responseCode": "99"
}

BVN and Account Name Match

This endpoint verifies that the Bank verification number and the account number supplied by a user match the BVN and account number linked to that account.
POST
{{base_url}}/api/v1/vas/bvn-account-match


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

bankCode
String

The user’s bank code

accountNumber
String

The user's account number

bvn
String

The user’s bvn

REQUEST
Copy button
{
"bankCode":"044",
"accountNumber":"0105284275",
"bvn":"22222222226"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"bvn": "22222222226",
"accountNumber": "0103284175",
"accountName": "OLATUNDE JOSIAH OGUNBOYEJO",
"matchStatus": "FULL_MATCH",
"matchPercentage": 100
}
}

NIN Verification

This endpoint verifies the supplied NIN of the customer
POST
{{base_url}}/api/v1/vas/nin-details


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

nin
String

The customer’s NIN number

REQUEST
Copy button
{
"nin":"91919191913"
}
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": {
"nin": "91919191913",
"lastName": "WILES",
"firstName": "BENJAMIN",
"middleName": "CHUKS",
"dateOfBirth": "1996-10-08",
"gender": "OTHER",
"mobileNumber": "2348107248890"
}
}

Others

Get Banks

This endpoint returns a list of all banks supported by Monnify for collections and disbursements.
GET
{{base_url}}/api/v1/banks


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/banks
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": [
{
"name": "9 PAYMENT SOLUTIONS BANK",
"code": "120001",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "AB MICROFINANCE BANK ",
"code": "090270",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ABBEY MORTGAGE BANK",
"code": "070010",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ABOVE ONLY MICROFINANCE BANK ",
"code": "090260",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ABU MICROFINANCE BANK ",
"code": "090197",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Access bank",
"code": "044",
"ussdTemplate": "*901*Amount*AccountNumber#",
"baseUssdCode": "*901#",
"transferUssdTemplate": "*901*AccountNumber#"
},
{
"name": "ACCESS MONEY",
"code": "927",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ACCESS YELLO & BETA",
"code": "100052",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ACCION MICROFINANCE BANK",
"code": "090134",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ADDOSSER MICROFINANCE BANK",
"code": "090160",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ADEYEMI COLLEGE STAFF MICROFINANCE BANK",
"code": "090268",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "AFEKHAFE MICROFINANCE BANK",
"code": "090292",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "AG MORTGAGE BANK",
"code": "100028",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "AL-BARAKAH MICROFINANCE BANK",
"code": "090133",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ALEKUN MICROFINANCE BANK",
"code": "090259",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ALERT MICROFINANCE BANK",
"code": "090297",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ALLWORKERS MICROFINANCE BANK",
"code": "090131",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ALPHA KAPITAL MICROFINANCE BANK ",
"code": "090169",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "AMML MICROFINANCE BANK ",
"code": "914",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "APEKS MICROFINANCE BANK",
"code": "090143",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ARISE MICROFINANCE BANK",
"code": "090282",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ASO SAVINGS",
"code": "905",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ASSETMATRIX MICROFINANCE BANK",
"code": "090287",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ASTRAPOLARIS MICROFINANCE BANK",
"code": "090172",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "AUCHI MICROFINANCE BANK ",
"code": "090264",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BAINES CREDIT MICROFINANCE BANK",
"code": "090188",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BALOGUN GAMBARI MICROFINANCE BANK",
"code": "090326",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BC KASH MICROFINANCE BANK",
"code": "090127",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BIPC MICROFINANCE BANK",
"code": "090336",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BOCTRUST MICROFINANCE BANK LIMITED",
"code": "952",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BOSAK MICROFINANCE BANK",
"code": "090176",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Bowen Microfinance Bank",
"code": "50931",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BRENT MORTGAGE BANK",
"code": "070015",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "BRIGHTWAY MICROFINANCE BANK",
"code": "090308",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CASHCONNECT MICROFINANCE BANK",
"code": "090360",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CELLULANT",
"code": "919",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CEMCS Microfinance Bank",
"code": "50823",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CHAMS MOBILE",
"code": "929",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CHIKUM MICROFINANCE BANK",
"code": "090141",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CIT MICROFINANCE BANK",
"code": "090144",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Citibank Nigeria",
"code": "023",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "COASTLINE MICROFINANCE BANK",
"code": "090374",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CONPRO MICROFINANCE BANK",
"code": "090380",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CONSUMER MICROFINANCE BANK",
"code": "090130",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CONTEC GLOBAL INFOTECH LIMITED(NOWNOW)",
"code": "100032",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CORESTEP MICROFINANCE BANK",
"code": "090365",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Coronation Bank",
"code": "559",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "COVENANT MFB",
"code": "949",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "CREDIT AFRIQUE MICROFINANCE BANK",
"code": "090159",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "DAVODANI MICROFINANCE BANK",
"code": "090391",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "DAYLIGHT MICROFINANCE BANK",
"code": "090167",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Diamond bank",
"code": "063",
"ussdTemplate": "*710*777*AccountNumber*Amount#",
"baseUssdCode": "*710#",
"transferUssdTemplate": "*710*AccountNumber#"
},
{
"name": "E-BARCS MICROFINANCE BANK",
"code": "090156",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EAGLE FLIGHT MICROFINANCE BANK",
"code": "090294",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EARTHOLEUM",
"code": "935",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Ecobank Nigeria Plc",
"code": "050",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ECOBANK XPRESS ACCOUNT",
"code": "922",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ECOMOBILE",
"code": "307",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EK-RELIABLE MICROFINANCE BANK",
"code": "090389",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EKONDO MICROFINANCE BANK",
"code": "090097",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EMERALD MICROFINANCE BANK",
"code": "090273",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EMPIRE TRUST MICROFINANCE BANK",
"code": "913",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ENTERPRISE BANK",
"code": "084",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ESO-E MICROFINANCE BANK",
"code": "090166",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "eTRANZACT",
"code": "920",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EVANGEL MICROFINANCE BANK ",
"code": "090304",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "EVERGREEN MICROFINANCE BANK",
"code": "090332",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Eyowo",
"code": "50126",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FAST MICROFINANCE BANK",
"code": "090179",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FBNQUEST MERCHANT BANK",
"code": "911",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FCMB MOBILE",
"code": "100031",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FCT MICROFINANCE BANK",
"code": "090290",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FEDPOLY NASARAWA MICROFINANCE BANK",
"code": "090298",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FETS",
"code": "915",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FFS MICROFINANCE BANK",
"code": "090153",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Fidelity bank",
"code": "070",
"ussdTemplate": "*770*AccountNumber*Amount#",
"baseUssdCode": "*770#",
"transferUssdTemplate": "*770*AccountNumber#"
},
{
"name": "FIDELITY MOBILE",
"code": "933",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FIDFUND MICROFINANCE Bank",
"code": "090126",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FINATRUST MICROFINANCE BANK",
"code": "090111",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FINCA MICROFINANCE BANK",
"code": "090400",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FIRMUS MICROFINANCE BANK",
"code": "090366",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "First bank",
"code": "011",
"ussdTemplate": "*894*Amount*AccountNumber#",
"baseUssdCode": "*894#",
"transferUssdTemplate": "*894*AccountNumber#"
},
{
"name": "First City Monument Bank Plc",
"code": "214",
"ussdTemplate": "*329*Amount*AccountNumber#",
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FIRST GENERATION MORTGAGE BANK",
"code": "070014",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FIRST OPTION MICROFINANCE BANK",
"code": "090285",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FIRST TRUST MORTGAGE BANK PLC",
"code": "910",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FIRSTMONIE WALLET",
"code": "928",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FLUTTERWAVE TECHNOLOGY SOLUTIONS LIMITED",
"code": "110002",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FORTIS MICROFINANCE BANK",
"code": "948",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FORTIS MOBILE",
"code": "930",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FSDH",
"code": "400001",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FULLRANGE MICROFINANCE BANK",
"code": "090145",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "FUTO MICROFINANCE BANK",
"code": "090158",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GATEWAY MORTGAGE BANK",
"code": "070009",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Globus Bank",
"code": "00103",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GLORY MICROFINANCE BANK",
"code": "090278",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GOWANS MICROFINANCE BANK",
"code": "090122",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GREENBANK MICROFINANCE BANK",
"code": "090178",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GROOMING MICROFINANCE BANK",
"code": "090195",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GT MOBILE",
"code": "923",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GTBank",
"code": "058",
"ussdTemplate": "*737*2*Amount*AccountNumber#",
"baseUssdCode": "*737#",
"transferUssdTemplate": "*737*AccountNumber#"
},
{
"name": "GTI MICROFINANCE BANK",
"code": "090385",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Hackman Microfinance Bank",
"code": "51251",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "HAGGAI MORTGAGE BANK LIMITED",
"code": "070017",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Hasal Microfinance Bank",
"code": "50383",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "HEADWAY MICROFINANCE BANK",
"code": "090363",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "HEDONMARK",
"code": "931",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Heritage bank",
"code": "030",
"ussdTemplate": "*322*030*AccountNumber*Amount#",
"baseUssdCode": "*322#",
"transferUssdTemplate": "*322*AccountNumber#"
},
{
"name": "Ibile Microfinance Bank",
"code": "51244",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "IKENNE MICROFINANCE BANK",
"code": "090324",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "IKIRE MICROFINANCE BANK",
"code": "090275",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "IKIRE MICROFINANCE BANK",
"code": "090279",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ILISAN MICROFINANCE BANK",
"code": "090370",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "IMO STATE MICROFINANCE BANK",
"code": "090258",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "IMPERIAL HOMES MORTGAGE BANK",
"code": "938",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Infinity MFB",
"code": "50457",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "INFINITY TRUST MORTGAGE BANK",
"code": "070016",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "INNOVECTIVES KESH",
"code": "100029",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "INTELLFIN",
"code": "941",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "INTERLAND MICROFINANCE BANK",
"code": "090386",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "IRL MICROFINANCE BANK",
"code": "090149",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ISALEOYO MICROFINANCE BANK",
"code": "090377",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "JAIZ BANK",
"code": "301",
"ussdTemplate": "*389*301*AccountNumber*Amount#",
"baseUssdCode": "*389#",
"transferUssdTemplate": "*389*AccountNumber#"
},
{
"name": "JUBILEE LIFE",
"code": "906",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Keystone bank",
"code": "082",
"ussdTemplate": "*7111*Amount*AccountNumber#",
"baseUssdCode": "*7111#",
"transferUssdTemplate": "*7111*AccountNumber#"
},
{
"name": "KONTAGORA MICROFINANCE BANK",
"code": "090299",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Kuda Microfinance Bank",
"code": "50211",
"ussdTemplate": null,
"baseUssdCode": "*5573#",
"transferUssdTemplate": "*5573*AccountNumber#"
},
{
"name": "LAGOS BUILDING AND INVESTMENT COMPANY",
"code": "070012",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Lagos Building Investment Company Plc.",
"code": "90052",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "LAPO MICROFINANCE BANK",
"code": "090177",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "LAVENDER MICROFINANCE BANK",
"code": "090271",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "LEGEND MICROFINANCE BANK",
"code": "090372",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MAINSTREET MICROFINANCE BANK",
"code": "090171",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MANNY MICROFINANCE BANK",
"code": "090383",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MAYFAIR MICROFINANCE BANK",
"code": "090321",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MAYFRESH MORTGAGE BANK",
"code": "070019",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MEGAPRAISE MICROFINANCE BANK",
"code": "090280",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MICROCRED MICROFINANCE BANK",
"code": "090136",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MICROVIS MICROFINANCE BANK ",
"code": "090113",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MINT-FINEX MFB",
"code": "090281",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MOLUSI MICROFINANCE BANK",
"code": "090362",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MONEY BOX",
"code": "934",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MONEY TRUST MICROFINANCE BANK",
"code": "963",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MOZFIN MICROFINANCE BANK",
"code": "090392",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "MUTUAL TRUST MICROFINANCE BANK",
"code": "090151",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NDIORAH MICROFINANCE BANK",
"code": "090128",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NEPTUNE MICROFINANCE BANK",
"code": "090329",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NEW DAWN MICROFINANCE BANK",
"code": "090205",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NEW GOLDEN PASTURES MICROFINANCE BANK",
"code": "090378",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NIGERIAN NAVY MICROFINANCE BANK ",
"code": "090263",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NIRSAL NATIONAL MICROFINANCE BANK",
"code": "090194",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NNEW WOMEN MICROFINANCE BANK",
"code": "090283",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NOVA MERCHANT BANK",
"code": "637",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NPF MICROFINANCE BANK",
"code": "947",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NUTURE MICROFINANCE BANK",
"code": "090364",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "NWANNEGADI MICROFINANCE BANK",
"code": "090399",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "OCHE MICROFINANCE BANK",
"code": "090333",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "OHAFIA MICROFINANCE BANK",
"code": "090119",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "OKPOGA MICROFINANCE BANK",
"code": "090161",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "OLABISI ONABANJO UNIVERSITY MICROFINANCE ",
"code": "090272",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "OMIYE MICROFINANCE BANK",
"code": "090295",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "OMOLUABI",
"code": "950",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ONE FINANCE",
"code": "940",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "OPAY",
"code": "304",
"ussdTemplate": null,
"baseUssdCode": "",
"transferUssdTemplate": null
},
{
"name": "OPAY 2",
"code": "305",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PAGA",
"code": "100002",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PAGE MFBank",
"code": "951",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PALMPAY",
"code": "100033",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PARALLEX",
"code": "907",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PARKWAY-READYCASH",
"code": "917",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PATRICKGOLD MICROFINANCE BANK",
"code": "090317",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PAYATTITUDE ONLINE",
"code": "943",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PAYSTACK PAYMENTS LIMITED",
"code": "110006",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PECANTRUST MICROFINANCE BANK",
"code": "090137",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PENNYWISE MICROFINANCE BANK ",
"code": "090196",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PERSONAL TRUST MICROFINANCE BANK",
"code": "090135",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Petra Mircofinance Bank Plc",
"code": "50746",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PILLAR MICROFINANCE BANK",
"code": "090289",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PLATINUM MORTGAGE BANK",
"code": "070013",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Polaris Bank",
"code": "076",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "POLYUNWANA MICROFINANCE BANK",
"code": "090296",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PRESTIGE MICROFINANCE BANK",
"code": "090274",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Providus Bank",
"code": "101",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "PURPLEMONEY MICROFINANCE BANK",
"code": "090303",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "QUICKFUND MICROFINANCE BANK",
"code": "090261",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "RAND MERCHANT BANK",
"code": "502",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "REFUGE MORTGAGE BANK",
"code": "070011",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "REGENT MICROFINANCE BANK",
"code": "955",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "RENMONEY MICROFINANCE BANK ",
"code": "090198",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "REPHIDIM MICROFINANCE BANK",
"code": "090322",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "RICHWAY MICROFINANCE BANK",
"code": "090132",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Rolez Microfinance Bank",
"code": "50515",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ROYAL EXCHANGE MICROFINANCE BANK",
"code": "090138",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Rubies Micro-finance Bank",
"code": "125",
"ussdTemplate": "090175",
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "RUBIES MICROFINANCE BANK",
"code": "090175",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "SAFE HAVEN MICROFINANCE BANK",
"code": "090286",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "SAFETRUST",
"code": "909",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "SAGAMU MICROFINANCE BANK",
"code": "966",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "SEED CAPITAL MICROFINANCE BANK",
"code": "609",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "SEEDVEST MICROFINANCE BANK",
"code": "090369",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Sparkle Microfinance Bank",
"code": "51310",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "STANBIC IBTC @Ease WALLET",
"code": "921",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Stanbic IBTC Bank Ltd.",
"code": "221",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Standard Chartered Bank Nigeria Ltd.",
"code": "068",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "STELLAS MICROFINANCE BANK ",
"code": "090262",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Sterling bank",
"code": "232",
"ussdTemplate": "*822*5*Amount*AccountNumber#",
"baseUssdCode": "*822#",
"transferUssdTemplate": "*822*AccountNumber#"
},
{
"name": "STERLING MOBILE",
"code": "936",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "SULSPAP MICROFINANCE BANK",
"code": "090305",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Suntrust Bank Nigeria Limited",
"code": "100",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "TAGPAY",
"code": "937",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Taj Bank",
"code": "302",
"ussdTemplate": null,
"baseUssdCode": "*898#",
"transferUssdTemplate": "*898*AccountNumber#"
},
{
"name": "TCF MFB",
"code": "51211",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "TEASY MOBILE",
"code": "924",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "THINK FINANCE MICROFINANCE BANK",
"code": "090373",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Titan Bank",
"code": "102",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "TRIDENT MICROFINANCE BANK",
"code": "090146",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "TRUST MICROFINANCE BANK",
"code": "090327",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "TRUSTBANC J6 MICROFINANCE BANK LIMITED",
"code": "090123",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "TRUSTFUND MICROFINANCE BANK ",
"code": "090276",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "U & C MICROFINANCE BANK",
"code": "090315",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "UNAAB MICROFINANCE BANK",
"code": "090331",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Unical Microfinance Bank",
"code": "50871",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Union bank",
"code": "032",
"ussdTemplate": "*826*2*Amount*AccountNumber#",
"baseUssdCode": "*826#",
"transferUssdTemplate": "*826*AccountNumber#"
},
{
"name": "United Bank For Africa Plc",
"code": "033",
"ussdTemplate": "*919*4*AccountNumber*Amount#",
"baseUssdCode": "*919#",
"transferUssdTemplate": "*919*AccountNumber#"
},
{
"name": "Unity Bank Plc",
"code": "215",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "UNIVERSITY OF NIGERIA, NSUKKA MICROFINANCE BANK",
"code": "090251",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "VENTURE GARDEN NIGERIA LIMITED",
"code": "110009",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "VFD microfinance bank",
"code": "566",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "VIRTUE MICROFINANCE BANK",
"code": "090150",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "VISA MICROFINANCE BANK",
"code": "090139",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "VT NETWORKS",
"code": "926",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Moniepoint Microfinance bank",
"code": "50515",
"ussdTemplate": "*945*AccountNumber*Amount#",
"baseUssdCode": "*945#",
"transferUssdTemplate": "*945*AccountNumber#"
},
{
"name": "WETLAND MICROFINANCE BANK",
"code": "954",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "XSLNCE MICROFINANCE BANK",
"code": "090124",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "YES MICROFINANCE BANK",
"code": "090142",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "YOBE MICROFINANCE BANK",
"code": "090252",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Zenith bank",
"code": "057",
"ussdTemplate": "*966*Amount*AccountNumber#",
"baseUssdCode": "*966#",
"transferUssdTemplate": "*966*AccountNumber#"
},
{
"name": "ZENITH MOBILE",
"code": "932",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "ZINTERNET - KONGAPAY",
"code": "939",
"ussdTemplate": null,
"baseUssdCode": null,
"transferUssdTemplate": null
}
]
}

Get Banks With USSD Short Code

This endpoint returns the list of all supported banks with their valid USSD short code.
GET
{{base_url}}/api/v1/sdk/transactions/banks


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

REQUEST
Copy button
curl -H "Accept: application/json"
{{base_url}}/api/v1/sdk/transactions/banks
RESPONSE
Copy button
{
"requestSuccessful": true,
"responseMessage": "success",
"responseCode": "0",
"responseBody": [
{
"name": "Access bank",
"code": "044",
"ussdTemplate": "*901*Amount*AccountNumber#",
"baseUssdCode": "*901#",
"transferUssdTemplate": "*901*AccountNumber#"
},
{
"name": "Diamond bank",
"code": "063",
"ussdTemplate": "*710*777*AccountNumber*Amount#",
"baseUssdCode": "*710#",
"transferUssdTemplate": "*710*AccountNumber#"
},
{
"name": "Fidelity bank",
"code": "070",
"ussdTemplate": "*770*AccountNumber*Amount#",
"baseUssdCode": "*770#",
"transferUssdTemplate": "*770*AccountNumber#"
},
{
"name": "First bank",
"code": "011",
"ussdTemplate": "*894*Amount*AccountNumber#",
"baseUssdCode": "*894#",
"transferUssdTemplate": "*894*AccountNumber#"
},
{
"name": "First City Monument Bank Plc",
"code": "214",
"ussdTemplate": "*329*Amount*AccountNumber#",
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "GTBank",
"code": "058",
"ussdTemplate": "*737*2*Amount*AccountNumber#",
"baseUssdCode": "*737#",
"transferUssdTemplate": "*737*AccountNumber#"
},
{
"name": "Heritage bank",
"code": "030",
"ussdTemplate": "*322*030*AccountNumber*Amount#",
"baseUssdCode": "*322#",
"transferUssdTemplate": "*322*AccountNumber#"
},
{
"name": "JAIZ BANK",
"code": "301",
"ussdTemplate": "*389*301*AccountNumber*Amount#",
"baseUssdCode": "*389#",
"transferUssdTemplate": "*389*AccountNumber#"
},
{
"name": "Keystone bank",
"code": "082",
"ussdTemplate": "*7111*Amount*AccountNumber#",
"baseUssdCode": "*7111#",
"transferUssdTemplate": "*7111*AccountNumber#"
},
{
"name": "Rubies Micro-finance Bank",
"code": "125",
"ussdTemplate": "090175",
"baseUssdCode": null,
"transferUssdTemplate": null
},
{
"name": "Sterling bank",
"code": "232",
"ussdTemplate": "*822*5*Amount*AccountNumber#",
"baseUssdCode": "*822#",
"transferUssdTemplate": "*822*AccountNumber#"
},
{
"name": "Union bank",
"code": "032",
"ussdTemplate": "*826*2*Amount*AccountNumber#",
"baseUssdCode": "*826#",
"transferUssdTemplate": "*826*AccountNumber#"
},
{
"name": "United Bank For Africa Plc",
"code": "033",
"ussdTemplate": "*919*4*AccountNumber*Amount#",
"baseUssdCode": "*919#",
"transferUssdTemplate": "*919*AccountNumber#"
},
{
"name": "Moniepoint Microfinance bank",
"code": "50515",
"ussdTemplate": "*945*AccountNumber*Amount#",
"baseUssdCode": "*945#",
"transferUssdTemplate": "*945*AccountNumber#"
},
{
"name": "Zenith bank",
"code": "057",
"ussdTemplate": "*966*Amount*AccountNumber#",
"baseUssdCode": "*966#",
"transferUssdTemplate": "*966*AccountNumber#"
}
]
}

PayCode APIs

Create Paycode

The endpoint allows merchant create paycodes via API
POST
{{base_url}}/api/v1/paycode


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

beneficiaryName
String(required)

The customer's name

amount
Float(required)

The amount to be withdrawn

paycodeReference
String(required)

A unique reference generated by the merchant

expiryDate
String(required)

The expiry date for the paycode. The format is:YYYY-MM-DD HH:MM:SS

clientId
String(required)

The merchant's APIKey

REQUEST
Copy button
{
"beneficiaryName": "Marvelous Benji",
"amount": 50,
"paycodeReference": "ghehdekdkefkefjekjfejj",
"expiryDate": "2023-02-19 11:00:26",
"clientId":"MK_PROD_WTZLS10MX6"
}
RESPONSE
Copy button
{
"responseMessage": "success",
"responseCode": "M00",
"responseBody": {
"paycode": "11467409",
"transactionReference": "MFY-39A78F78E6C341759ACA344297A8CF70",
"paycodeReference": "ghehdekdkefkefjekjfejj",
"beneficiaryName": "Marvelous Benji",
"amount": 50,
"fee": 100,
"transactionStatus": "PENDING",
"expiryDate": "2023-02-19 11:00:26",
"createdOn": "2023-02-16T12:32:01.591+0000",
"createdBy": "MK_PROD_WTZLS10MX6",
"modifiedBy": "MK_PROD_WTZLS10MX6"
}
}

Get Paycode

This endpoint returns paycode information for a given paycode reference
GET
{{base_url}}/api/v1/paycode/{{paycodeReference}}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

paycodeReference
String

The unique reference for the paycode

REQUEST
Copy button
curl -H "Accept: application/json"
https://api.monnify.com/api/v1/paycode/ghehdekdkefkefjekjfejj
RESPONSE
Copy button
{
"responseMessage": "success",
"responseCode": "M00",
"responseBody": {
"paycode": "******09",
"transactionReference": "MFY-39A78F78E6C341759ACA344297A8CF70",
"paycodeReference": "ghehdekdkefkefjekjfejj",
"beneficiaryName": "Marvelous Benji",
"amount": 50,
"fee": 100,
"transactionStatus": "PENDING",
"expiryDate": "2023-02-19 11:00:26",
"createdOn": "2023-02-16T12:32:02.000+0000",
"createdBy": "MK_PROD_WTZLS10MX6",
"modifiedBy": "MK_PROD_WTZLS10MX6"
}
}

Get Clear Paycode

This endpoint is necessary when the you want the paycode information returned unmasked
GET
{{base_url}}/api/v1/paycode/{{paycodeReference}}/authorize


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

paycodeReference
String

The unique reference for the paycode

REQUEST
Copy button
curl -H "Accept: application/json"
https://api.monnify.com/api/v1/paycode/ghehdekdkefkefjekjfejj/authorize
RESPONSE
Copy button
{
"responseMessage": "success",
"responseCode": "M00",
"responseBody": {
"paycode": "11467409",
"transactionReference": "MFY-39A78F78E6C341759ACA344297A8CF70",
"paycodeReference": "ghehdekdkefkefjekjfejj",
"beneficiaryName": "Marvelous Benji",
"amount": 50,
"fee": 100,
"transactionStatus": "EXPIRED",
"expiryDate": "2023-02-19 11:00:26",
"createdOn": "2023-02-16T12:32:02.000+0000",
"createdBy": "MK_PROD_WTZLS10MX6",
"modifiedBy": "SYSTEM"
}
}

Fetch Paycodes

This endpoint returns a history of generated Paycodes over a period of time using some search criteria.
GET
{{base_url}}/api/v1/paycode


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

transactionReference
String

The Monnify transactionReference

beneficiaryName
String

The customer name

transactionStatus
String

The status of the paycode

from
Integer

A unix timestamp for the start date being considered

to
Integer

A unix timestamp for the end date being considered

REQUEST
Copy button
curl -H "Accept: application/json"
https://api.monnify.com/api/v1/paycode?transactionReference=&beneficiaryName=Marvelous Benji&transactionStatus=EXPIRED&from=1676131853000&to=1676823053000
RESPONSE
Copy button
{
"responseMessage": "success",
"responseCode": "M00",
"responseBody": {
"content": [
{
"paycode": "******09",
"transactionReference": "MFY-39A78F78E6C341759ACA344297A8CF70",
"paycodeReference": "ghehdekdkefkefjekjfejj",
"beneficiaryName": "Marvelous Benji",
"amount": 50,
"fee": 100,
"transactionStatus": "EXPIRED",
"expiryDate": "2023-02-19 11:00:26",
"createdOn": "2023-02-16T12:32:02.000+0000",
"createdBy": "MK_PROD_WTZLS10MX6",
"modifiedBy": "SYSTEM"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageSize": 50,
"pageNumber": 0,
"offset": 0,
"unpaged": false,
"paged": true
},
"last": true,
"totalPages": 1,
"totalElements": 1,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"first": true,
"numberOfElements": 1,
"size": 50,
"number": 0,
"empty": false
}
}

Delete Paycode

This endpoint cancels or invalidates a generated Paycode.
DELETE
{{base_url}}/api/v1/paycode/{{paycodeReference}}


Headers

Authorization
bearer
Authorize this API call by generating a token here , include the Token in the request header.

Body Params

paycodeReference
String

The unique reference for the paycode

REQUEST
Copy button
curl --header "Content-Type: application/json"
--request POST
--data '{}'
https://api.monnify.com/api/v1/paycode/ur74904jhke993u93o
RESPONSE
Copy button
{
"responseMessage": "success",
"responseCode": "M00",
"responseBody": {
"paycode": "******22",
"transactionReference": "MFY-1695D2BF32A34227ABDF77466D8C45A0",
"paycodeReference": "ur74904jhke993u93o",
"beneficiaryName": "Marvelous Benji",
"amount": 30,
"fee": 100,
"transactionStatus": "CANCELLED",
"expiryDate": "2023-02-28 11:00:26",
"createdOn": "2023-02-19T16:05:42.000+0000",
"cancelDate": "2023-02-20T11:28:56.365+0000",
"createdBy": "MK_PROD_WTZLS10MX6",
"modifiedBy": "MK_PROD_WTZLS10MX6"
}
}
Was this page helpful? Tell us what you think..
Copyright © 2024 Monnify