Initiate Transfer (Deprecated)

Single Transfers

To initiate a single transfer,  you will need to send a request to the endpoint below:

Endpoint

POST: https://sandbox.monnify.com/api/v1/disbursements/single

This endpoint is protected with Basic Authentication

Below is a sample request for initiating a single transfer

Initiate Transfer (Single)
{
    "amount": 10,
    "reference":"reference12934",
    "narration":"911 Transaction",
    "bankCode": "058",
    "accountNumber": "0111946768",
    "currency": "NGN",
    "walletId": "4794983C91374AD6B3ECD76F2BEA296D"
} 

If the merchant does not have Two Factor Authentication (2FA) enabled, the transaction will be processed instantly and the response will be as follows:

Initiate Transfer (Single) Response 2FA Disabled
{
    "requestSuccessful": true,
    "responseMessage": "success",
    "responseCode": "0",
    "responseBody": {
        "amount": 10,
        "reference": "reference12934",
        "status": "SUCCESS",
        "dateCreated": "13/11/2019 09:34:32 PM"
    }
}

If the merchant has Two Factor Authentication (2FA) enabled, a One Time Password (OTP) will be sent to the designated email address(es). That OTP will need to be supplied via the VALIDATE OTP REQUEST before the transaction can be approved. If 2FA is enabled, the response will be as follows:

Initiate Transfer (Single) Response 2FA Enabled
{
    "requestSuccessful": true,
    "responseMessage": "success",
    "responseCode": "0",
    "responseBody": {
        "amount": 10,
        "reference": "reference12934",
        "status": "PENDING_AUTHORIZATION",
        "dateCreated": "13/11/2019 08:48:32 PM"
    }
}

Bulk Transfers

To initiate a bulk transfer,  you will need to send a request to the endpoint below:

Endpoint

POST: https://sandbox.monnify.com/api/v1/disbursements/batch

This endpoint is protected with Basic Authentication

Bulk transfers allows you send a single request with a list of disbursements you want to be processed. Below is a sample request for initiating a bulk transfer

Initiate Transfer (Bulk)
{
	"title" : "Game of Batches",
    "batchReference":"batchreference12934",
    "narration":"911 Transaction",
    "walletId": "4794983C91374AD6B3ECD76F2BEA296D",
    "onValidationFailure" : "CONTINUE",
    "notificationInterval": 10,
    "transactionList" : [
    	{
	    	"amount": 1300,
	    	"reference":"Final-Reference-1a",
	    	"narration":"911 Transaction",
	    	"bankCode": "058",
	    	"accountNumber": "0111946768",
	    	"currency": "NGN"
    	},{
    		"amount": 570,
	    	"reference":"Final-Reference-2a",
	    	"narration":"911 Transaction",
	    	"bankCode": "058",
	    	"accountNumber": "0111946768",
	    	"currency": "NGN"
    	},{
    		"amount": 230,
	    	"reference":"Final-Reference-3a",
	    	"narration":"911 Transaction",
	    	"bankCode": "058",
	    	"accountNumber": "0111946768",
	    	"currency": "NGN"
    	}

   	]
} 

When a bulk transfer request is sent, it is simply acknowledged by the system and then processed in the background. Monnify goes through each account to attempt to validate them and depending on what value is set for the onValidationFailure  field, Monnify will either continue processing with the valid transfers or reject the entire batch.

If the merchant does not have Two Factor Authentication (2FA) enabled, the transaction will be processed instantly and the response will be as follows:

Initiate Transfer (Bulk) Response 2FA Disabled
{
    "requestSuccessful": true,
    "responseMessage": "success",
    "responseCode": "0",
    "responseBody": {
        "totalAmount": 2108.48,
        "totalFee": 8.48,
        "batchReference": "batch-1573681308355",
        "batchStatus": "COMPLETED",
        "totalTransactions": 3,
        "dateCreated": "13/11/2019 09:42:06 PM"
    }
}

If the merchant has Two Factor Authentication (2FA) enabled, a One Time Password (OTP) will be sent to the designated email address(es). That OTP will need to be supplied via the VALIDATE OTP REQUEST before the transaction can be approved. If 2FA is enabled, the response will be as follows:

Initiate Transfer (Bulk) Response 2FA Enabled
{
    "requestSuccessful": true,
    "responseMessage": "success",
    "responseCode": "0",
    "responseBody": {
        "totalAmount": 2108.48,
        "totalFee": 8.48,
        "batchReference": "batch-1573684027157",
        "batchStatus": "PENDING_AUTHORIZATION",
        "totalTransactions": 3,
        "dateCreated": "13/11/2019 10:27:25 PM"
    }
}

Field Reference

(M) indicates fields that are mandatory in the request body. (m) Indicates fields that are mandatory only if the parent object is not empty.

FieldDescription
amount (M)The amount to be disbursed to the beneficiary
reference (M)The unique reference for a transaction. Also to be specified for each transaction in a bulk transaction request.
batchReference (M)The unique reference for the entire batch of transactions being sent.
narration (M)The Narration for the transactions being processed
bankCode (M)The 3 digit bank code representing the destination bank
accountNumber (M)The beneficiary account number
currency (M)The currency of the transaction being initialized. "NGN"
walletId (M)Unique reference to identify the wallet to be debited
onValidationFailureUsed to determine how Monnify should handle failed transaction validations in a batch. The two options are BREAK & CONTINUE. Use Break to tell Monnify to reject the entire batch and use CONTINUE to tell Monnify to process the valid transactions.
notificationIntervalUsed to determine how often Monnify should notify the merchant of progress when processing a batch transfer. The options are 10, 20, 50 and 100 and they represent percentages. i.e. 20 means notify me at intervals of 20% (20%, 40%, 60%, 80% ,100%).
statusThe status  of a single transfer request. (SUCCESS, FAILED, PENDING, OTP_EMAIL_DISPATCH_FAILED, PENDING_AUTHORIZATION)
batchStatusThe status of the processing of the entire Batch. (FAILED_ON_ACCOUNTS_VALIDATION, OTP_EMAIL_DISPATCH_FAILED, PENDING, PENDING_AUTHORIZATION, AWAITING_PROCESSING, IN_PROGRESS ,COMPLETED)
totalTransactionsThe total number of transactions in the batch.
totalAmountThe total amount deducted for all the transactions in the batch
totalFeeThe total transaction fees deducted for all the transactions in the batch.