Created
February 18, 2025 15:57
-
-
Save Auwalms/892cd8b7c4342b89a103ef50810c9057 to your computer and use it in GitHub Desktop.
Testing Monnify New Doc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
openapi: 3.0.0 | |
info: | |
title: 'Monnify API ' | |
description: "# Overview\nMonnify API Collection is a collection of all endpoints that merchants and developers can take advantage of to build financial solutions in Nigeria. \n\n# ENVIRONMENTS & CREDENTIALS\nTEST - https://sandbox.monnify.com\n\n\nLIVE - https://api.monnify.com\n\n\n\n\n\n# PUBLIC CREDENTIALS:\n\n\n\nAPIKEY: MK_TEST_GC3B8XG2XX\n\nSecret Key:\tA663NRZA544DDPEM7KDN7Z8HRV6YXD8S\n\nContract Code:\t5867418298" | |
version: 1.0.0 | |
servers: | |
- url: undefined://{{monnify_base_url}} | |
- url: https://sandbox.monnify.com | |
tags: | |
- name: Authentication | |
- name: Transactions | |
- name: Transfers (Disbursement) | |
- name: Customer Reserved Account | |
- name: Invoice | |
- name: Recurring Payment | |
- name: Sub Accounts | |
- name: Limit Profile | |
- name: Refund | |
- name: Settlements | |
- name: Verification APIs | |
- name: Others | |
- name: Wallet | |
description: >- | |
This collection enables merchants create and manage subwallets for their | |
customers | |
paths: | |
/api/v1/auth/login: | |
post: | |
tags: | |
- Authentication | |
summary: Generate Access Token | |
requestBody: | |
content: {} | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/merchant/transactions/init-transaction: | |
post: | |
tags: | |
- Transactions | |
summary: Initialize Transaction | |
description: >- | |
This endpoint initialises the transaction that would be used for card | |
payments | |
and dynamic transfers. | |
#### **Request Payload** | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| amount | Float | This field is required | The amount(in Naira) to be | |
paid, minimum is N20 | | |
| customerName | String | This field is optional | The name of the | |
customer | | |
| customerEmail | String | This field is optional | The customer email | | |
| paymentReference | String | This field is required | A unique string | |
of characters that identifies each transaction | | |
| paymentDescription | String | This field is optional | A description | |
of the payment | | |
| currencyCode | String | Field is optional, defaults to NGN | The | |
currency code | | |
| contractCode | String | This field is required | The merchant contract | |
code | | |
| redirectUrl | String | This field is optional | A url to redirect to | |
after payment completion | | |
| paymentMethods | Array | This field is optional, defaults to all | |
available methods | The method of payment collection | | |
| incomeSplitConfig | Object | This field is optional | A way to split | |
payments among subAccounts. | | |
| metadata | Object | This field is optional | This field can be used to | |
pass extra information from customers | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
amount: 20 | |
customerEmail: [email protected] | |
paymentReference: 123-03hjsj--1klsa--dkad | |
paymentDescription: Trial transaction | |
currencyCode: NGN | |
contractCode: '100693167467' | |
redirectUrl: https://my-merchants-page.com/transaction/confirm | |
paymentMethods: | |
- CARD | |
- ACCOUNT_TRANSFER | |
metadata: | |
name: John Doe | |
age: 45 | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/merchant/bank-transfer/init-payment: | |
post: | |
tags: | |
- Transactions | |
summary: Pay With Bank Transfer | |
description: >- | |
This endpoint generates a dynamic account number and its associated bank | |
for one time payment. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| transactionReference | String | This field is required | A unique | |
Monnify reference returned as part of the response from the initialise | |
transaction endpoint | | |
| bankCode | String | This field is optional | A valid bank code to | |
enable the creation of USSD string associated with such bank | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
transactionReference: MNFY|24|20220721134824|000089 | |
bankCode: '058' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/merchant/cards/charge: | |
post: | |
tags: | |
- Transactions | |
summary: Authorize OTP | |
description: >- | |
The endpoint authorizes an OTP to complete a charge on a card. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| transactionReference | String | This field is required | The | |
transaction reference gotten from the initialise transaction endpoint. | | |
| collectionChannel | String | This field is optional and defaults to | |
"API_NOTIFICATION" | This is the channel of collection and should always | |
be "API_NOTIFICATION" in this endpoint. | | |
| tokenId | String | This field is required. | This is an id of the | |
token issued and is always part of the response from the charge card | |
endpoint. | | |
| token | String | This field is required | This is the token(OTP) sent | |
to the user device by his bank | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
transactionReference: MNFY|67|20220725114827|000285 | |
collectionChannel: API_NOTIFICATION | |
tokenId: 100.00-b66bef0aa8e660863c4e1177a08fefba | |
token: '123456' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/sdk/cards/secure-3d/authorize: | |
post: | |
tags: | |
- Transactions | |
summary: Authorize 3DS Card | |
description: >- | |
This endpoint authorizes charge on a card that uses 3DS Secure | |
Authentication. | |
#### Request Payloads | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| transactionReference | String | This field is required | The | |
transaction reference gotten from the initialise transaction endpoint. | | |
| apiKey | String | This field is required | The merchant API key | | |
| collectionChannel | String | This field is optional and defaults to | |
"API_NOTIFICATION" | This is the channel of collection and should always | |
be "API_NOTIFICATION" in this endpoint. | | |
| card | Object | This field is required | An object containing the card | |
information. | | |
| number | String | This field is required | The card pan or number on | |
the card. | | |
| expiryMonth | String | This field is required | The card expiry month. | |
| | |
| expiryYear | String | This field is required | The card year of | |
expiration. | | |
| pin | String | This field is required | The pin associated with the | |
card. | | |
| cvv | String | This field is required | The card cvv number. | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
transactionReference: MNFY|99|20220725125351|000271 | |
apiKey: MK_TEST_JRQAZRFD2W | |
collectionChannel: API_NOTIFICATION | |
card: | |
number: '4000000000000002' | |
expiryMonth: '12' | |
expiryYear: '2022' | |
pin: '1234' | |
cvv: '123' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/transactions/search: | |
get: | |
tags: | |
- Transactions | |
summary: Get All Transactions | |
description: >- | |
This endpoint returns a list of transactions carried out on your | |
integration. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| 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. | | |
| to | Timestamp | The maximum time for transactions to be retrieved. | | |
parameters: | |
- name: page | |
in: query | |
schema: | |
type: string | |
description: The number of page of to be retrieved. It starts from 0. | |
example: Integer | |
- name: size | |
in: query | |
schema: | |
type: string | |
description: The Size of transactions to be returned per page. | |
example: Integer | |
- name: paymentReference | |
in: query | |
schema: | |
type: string | |
description: Unique reference generated by merchant for each transaction. | |
example: String | |
- name: transactionReference | |
in: query | |
schema: | |
type: string | |
description: >- | |
Unique transaction reference generated by Monnify for each | |
transaction | |
example: String | |
- name: fromAmount | |
in: query | |
schema: | |
type: string | |
description: >- | |
A number indicating minimum amount for the transactions to be | |
returned | |
example: Float | |
- name: toAmount | |
in: query | |
schema: | |
type: string | |
description: >- | |
A number indicating maximum amount for the transactions to be | |
returned | |
example: Float | |
- name: amount | |
in: query | |
schema: | |
type: string | |
description: A number indicating exact amount for the transactions to be returned | |
example: Float | |
- name: customerName | |
in: query | |
schema: | |
type: string | |
description: Name of customer for the transactions to be returned | |
example: String | |
- name: customerEmail | |
in: query | |
schema: | |
type: string | |
description: Email of customer for the transactions be returned. | |
example: String | |
- name: paymentStatus | |
in: query | |
schema: | |
type: string | |
description: Transaction status for transactions to be returned | |
example: String | |
- name: from | |
in: query | |
schema: | |
type: string | |
description: Time for transactions to be retrieved. | |
example: Timestamp | |
- name: to | |
in: query | |
schema: | |
type: string | |
description: The maximum time for transactions to be retrieved. | |
example: Timestamp | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/transactions/MNFY%7C67%7C20220725111957%7C000283: | |
get: | |
tags: | |
- Transactions | |
summary: Get Transaction Status | |
description: |- | |
This endpoint returns the status of a transaction | |
#### Path Parameters | |
| **Field** | **Description** | | |
| --- | --- | | |
| transactionReference | Urlencoding of the said transaction reference | | |
parameters: | |
- name: transactionReference | |
in: query | |
schema: | |
type: string | |
description: Urlencoding of the said transaction reference | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/single: | |
post: | |
tags: | |
- Transfers (Disbursement) | |
summary: Initiate Transfer (Single) | |
description: >- | |
This endpoint helps to initiate transfer to desired bank account. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| amount | Float | This field is required | Amount to disburse | | |
| reference | String | This field is required | The unique reference for | |
a transaction | | |
| narration | String | This field is required | The Narration for the | |
transactions being processed | | |
| destinationBankCode | String | This field is required | The 3 digit | |
bank code representing the destination bank | | |
| destinationAccountNumber | String | This field is required | The | |
beneficiary account number | | |
| currency | String | This field is required | The currency of the | |
transaction being initialised - "NGN" | | |
| sourceAccountNumber | String | This field is required | Unique | |
identifier of your wallet | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
amount: 200 | |
reference: reference---1290034 | |
narration: 911 Transaction | |
destinationBankCode: '057' | |
destinationAccountNumber: '2085886873' | |
currency: NGN | |
sourceAccountNumber: '3934178936' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/batch: | |
post: | |
tags: | |
- Transfers (Disbursement) | |
summary: Initiate Transfer (Bulk) | |
description: >- | |
This endpoint helps in Initiating Bulk Transfer transactions on your | |
integration. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| title | String | This field is required | The title of the batch | |
disbursement | | |
| batchReference | String | This field is required | A unique reference | |
identifying the batch disbursement | | |
| narration | String | This field is required | A narration for the | |
disbursement | | |
| sourceAccountNumber | String | This field is required | The merchant | |
WALLET ACCOUNT NUMBER. | | |
| onValidationFailure | Enum | This field is required | What should | |
happen if any of the batch fails. Either BREAK or CONTINUE. | | |
| notificationInterval | Integer | This field is required | Used to | |
determine how often Monnify should notify the merchant of progress when | |
processing a batch transfer | | |
| transactionList | Array | This field is required | A list of | |
transactions to be processed | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
title: Game of Batches | |
batchReference: batchreference--12934 | |
narration: 911 Transaction | |
sourceAccountNumber: '9624937372' | |
onValidationFailure: CONTINUE | |
notificationInterval: 10 | |
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 | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/single/validate-otp: | |
post: | |
tags: | |
- Transfers (Disbursement) | |
summary: Authorize Single Transfers | |
description: >- | |
This endpoint authorizes single transfers on your integration. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| reference | String | This field is required | The unique reference for | |
the transfer | | |
| authorizationCode | String | This field is required | The OTP sent to | |
merchant's email | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
reference: refere--n00ce---1290034 | |
authorizationCode: '491763' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/batch/validate-otp: | |
post: | |
tags: | |
- Transfers (Disbursement) | |
summary: Authorize Bulk Transfers | |
description: >- | |
This endpoint authorizes bulk transfers on your integration. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| reference | String | This field is required | The batch reference used | |
in the transfer | | |
| authorizationCode | String | This field is required | The OTP sent to | |
the merchant's email | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
reference: batchre-ference--12934 | |
authorizationCode: '122080' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/single/resend-otp: | |
post: | |
tags: | |
- Transfers (Disbursement) | |
summary: Resend OTP | |
description: >- | |
This endpoint generates a new OTP in the event that there were | |
challenges with the former OTP sent. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| reference | String | This field is required | The reference for the | |
transfer | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
reference: refere--n00ce---1290--034 | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/single/summary: | |
get: | |
tags: | |
- Transfers (Disbursement) | |
summary: Single Transfer Status | |
description: >- | |
This endpoint verifies the status of a single transfer on your | |
integration. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| reference | String | The transfer reference | | |
parameters: | |
- name: reference | |
in: query | |
schema: | |
type: string | |
description: The reference used for the transfer | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/single/transactions: | |
get: | |
tags: | |
- Transfers (Disbursement) | |
summary: List All Single Transfers | |
description: >- | |
This endpoint returns the list of all single transfers made on your | |
integration. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| pageSize | Integer | The number of transfer records to return | | |
| pageNo | Integer | A number specifying what page of transfers to be | |
retrieved | | |
parameters: | |
- name: pageSize | |
in: query | |
schema: | |
type: string | |
description: The number of transfer records to return | |
example: Integer | |
- name: pageNo | |
in: query | |
schema: | |
type: string | |
description: A number specifying what page of transfers to be retrieved | |
example: Integer | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/bulk/transactions: | |
get: | |
tags: | |
- Transfers (Disbursement) | |
summary: List All Bulk Transfers | |
description: >- | |
This endpoint returns the list of all bulk transfers made on your | |
integration. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| pageSize | Integer | The number of transfer records to return | | |
| pageNo | Integer | A number specifying what page of transfers to be | |
retrieved | | |
parameters: | |
- name: pageSize | |
in: query | |
schema: | |
type: string | |
description: The number of transfer records to return | |
example: Integer | |
- name: pageNo | |
in: query | |
schema: | |
type: string | |
description: A number specifying what page of transfers to be retrieved | |
example: Integer | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/bulk/batchreference--12934/transactions: | |
get: | |
tags: | |
- Transfers (Disbursement) | |
summary: Bulk Transfer Status | |
description: >- | |
This endpoint verifies the status of a bulk transfer on your | |
integration. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| pageSize | Integer | Number of transfers to be returned per page | | |
| pageNo | Integer | Current page number | | |
parameters: | |
- name: batchReference | |
in: query | |
schema: | |
type: string | |
description: A unique reference identifying the batch disbursement | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/disbursements/search-transactions: | |
get: | |
tags: | |
- Transfers (Disbursement) | |
summary: Search Disbursement Transactions | |
description: >- | |
This endpoint returns the list of all disbursement transactions. | |
#### Query Parameters | |
| **Field** | **Data Type** | | | |
| --- | --- | --- | | |
| 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 | | |
parameters: | |
- name: sourceAccountNumber | |
in: query | |
schema: | |
type: string | |
description: The merchant's WALLET ACCOUNT NUMBER, this parameter is mandatory | |
example: String | |
- name: pageSize | |
in: query | |
schema: | |
type: string | |
description: The number of records to return | |
example: Integer | |
- name: pageNo | |
in: query | |
schema: | |
type: string | |
description: The current page from the total | |
example: Integer | |
- name: startDate | |
in: query | |
schema: | |
type: string | |
description: >- | |
A timestamp value specifying the date to start filtering | |
disbursement transactions by the createdAt field | |
example: String | |
- name: endDate | |
in: query | |
schema: | |
type: string | |
description: >- | |
A timestamp value specifying the date to stop filtering disbursement | |
transactions by the createdAt field | |
example: String | |
- name: amountFrom | |
in: query | |
schema: | |
type: string | |
description: >- | |
A number specifying the lower bound for filtering the transactions | |
by the amount field | |
example: String | |
- name: amountTo | |
in: query | |
schema: | |
type: string | |
description: >- | |
A number specifying the upper bound for filtering the transactions | |
by the amount field. | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/bank-transfer/reserved-accounts: | |
post: | |
tags: | |
- Customer Reserved Account | |
summary: Create Reserved Account(General) | |
description: >- | |
This endpoint allows the creation of dedicated virtual accounts for your | |
customers. | |
#### Request Payload | |
| **Field** | **Data type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| accountReference | String | This field is required | A unique | |
reference generated by merchants. | | |
| accountName | String | This field is required | The name to be | |
displayed during name enquiry | | |
| currencyCode | String | This field is not required, defaults to NGN | | |
The currency payments will be received with | | |
| contractCode | String | This field is required | The merchant contract | |
code | | |
| customerEmail | String | This field is not required | The customer's | |
email | | |
| bvn | String | This field is not required | The bvn attached to a | |
reserve account | | |
| getAllAvailableBanks | Boolean | This field is required, defaults | | |
This decides wether account numbers be generated to all allowable banks. | |
| | |
| preferredBanks | Array | This field is not required | This field helps | |
to choose certain banks for virtual account creation. This field is | |
needed if getAvailableBanks is false | | |
| incomeSplitConfig | Object | This field is not required | A | |
configuration on how payments are to be split among subaccounts | | |
| restrictPaymentSource | Boolean | This field is not required | Decides | |
if payment should be restricted to some reserved accounts | | |
| allowedPaymentSources | Object | This field is not required | 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 | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
accountReference: abc1niui--23 | |
accountName: Test Reserved Account | |
currencyCode: NGN | |
contractCode: '7059707855' | |
customerEmail: [email protected] | |
customerName: John Doe | |
bvn: '21212121212' | |
getAllAvailableBanks: true | |
incomeSplitConfig: | |
- subAccountCode: MFY_SUB_762212281785 | |
feePercentage: 10.5 | |
splitPercentage: 20 | |
feeBearer: true | |
restrictPaymentSource: true | |
allowedPaymentSources: | |
bankAccounts: | |
- accountNumber: '0068687503' | |
bankCode: '232' | |
accountNames: | |
- SAMUEL DAMILARE OGUNNAIKE | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts: | |
post: | |
tags: | |
- Customer Reserved Account | |
summary: Create Reserved Account(Invoice) | |
description: >- | |
This endpoint allows the creation of an invoiced reserved account. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| contractCode | String | This field is required | The merchant's | |
contract code. | | |
| accountName | String | This field is required | The name to be | |
displayed during name enquiry. | | |
| currencyCode | String | This field is required | The currency | |
allowed,"NGN. | | |
| accountReference | String | This field is required | A unique | |
reference generated by the merchant | | |
| customerName | String | This field is required | Full name of the | |
customer | | |
| customerEmail | String | This field is required | Email address of the | |
customer. | | |
| reservedAccountType | String | This field is required | This should be | |
"INVOICE". | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
contractCode: '7059707855' | |
accountName: Jane Doe | |
currencyCode: NGN | |
accountReference: janedoe12233 | |
customerEmail: [email protected] | |
customerName: Jane Doe | |
reservedAccountType: INVOICE | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v2/bank-transfer/reserved-accounts/{accountReference}: | |
get: | |
tags: | |
- Customer Reserved Account | |
summary: Get Reserved Account Details | |
description: >- | |
This endpoint returns details of an account reserved for a customer | |
#### Path Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| accountReference | String | The unique reference used in creating the | |
reserved account. | | |
parameters: | |
- name: accountReerence | |
in: query | |
schema: | |
type: string | |
description: The unique reference used in creating the reserved account. | |
example: String | |
- name: accountReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts/add-linked-accounts/{accountReference}: | |
put: | |
tags: | |
- Customer Reserved Account | |
summary: Add Linked Accounts | |
description: >- | |
This endpoint links accounts with another partner bank to an existing | |
customer. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| getAllAvailableBanks | Boolean | This field is required | Determine if | |
all necessary banks should be used | | |
| preferredBanks | Array | This field is required if | |
getAllAvailableBanks is false | Contains bank codes of desired banks | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
getAllAvailableBanks: false | |
preferredBanks: | |
- '232' | |
parameters: | |
- name: accountReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts/update-customer-bvn/{reservedAccountReference}: | |
put: | |
tags: | |
- Customer Reserved Account | |
summary: Update BVN for a Reserve Account | |
description: >- | |
This endpoint updates BVN of customers reserved account | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| bvn | String | This field is required | The BVN used in creating the | |
reserved account | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
bvn: '21212121212' | |
parameters: | |
- name: reservedAccountReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts/update-payment-source-filter/{accountReference}: | |
put: | |
tags: | |
- Customer Reserved Account | |
summary: Allowed Payment Source(s) | |
description: >- | |
This endpoint manages accounts that can fund a reserved account using | |
either BVNs, Account Name or Account Number. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| restrictPaymentSource | Boolean | This field is required | This field | |
activate or de-activate restricting of payment sources for a reserved | |
account. | | |
| allowedPaymentSources | Object | This field is required | A collection | |
of possible payment sources. | | |
| bvns | Array | This field is optional | List of BVNs that should be | |
validated | | |
| bankAccounts | Array | This field is optional | List of account | |
numbers that can fund the reserved account. | | |
| accountNumber | String | This field is optional | An account number | |
from which reserved account can be funded. | | |
| bankCode | String | This field is optional | A 3 digit CBN code for | |
the account | | |
| accountNames | String | This field is optional | List of account names | |
for accounts from which reserved accounts can be funded. | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
restrictPaymentSource: true | |
allowedPaymentSources: | |
bvns: | |
- '21212121212' | |
- '20202020202' | |
parameters: | |
- name: accountReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts/update-income-split-config/{accountReference}: | |
put: | |
tags: | |
- Customer Reserved Account | |
summary: Updating Split Config for Reserved Account | |
description: >- | |
This endpoint updates the split config of a customer reserved account. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| subAccountCode | String | This field is required | The unique | |
reference for the sub account that should receive the split | | |
| feeBearer | Boolean | This field is optional, defaults to false | This | |
field determine if the sub account should bear transaction fees or not | | |
| feePercentage | Float | This field is optional, defaults to 0 | The | |
percentage of the transaction fee to be borne by the sub account | | |
| splitPercentage | Float | This field is optional, defaults to 0 | The | |
percentage of the amount paid to be split into the sub account. | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
- subAccountCode: MFY_SUB_762212281785 | |
feePercentage: 10.5 | |
- subAccountCode: MFY_SUB_322165393053 | |
splitPercentage: 30 | |
parameters: | |
- name: accountReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts/{accountReference}: | |
delete: | |
tags: | |
- Customer Reserved Account | |
summary: Deallocating a reserved account | |
description: >- | |
This endpoint allows you to deallocate/delete already created a reserved | |
account. | |
#### Path Parameters | |
| **Field** | **Data Type** | **Desciption** | | |
| --- | --- | --- | | |
| accountReference | String | The unique reference used to identify this | |
reserved account | | |
parameters: | |
- name: accountReference | |
in: query | |
schema: | |
type: string | |
description: The unique reference used to identify this reserved account | |
example: String | |
- name: accountReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts/transactions: | |
get: | |
tags: | |
- Customer Reserved Account | |
summary: Get Reserved Account Transactions | |
description: >- | |
This endpoint returns the list of all transactions done on a reserved | |
account. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| 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. | | |
parameters: | |
- name: accountReference | |
in: query | |
schema: | |
type: string | |
description: The unique reference used in creating the reserved account. | |
example: String | |
- name: page | |
in: query | |
schema: | |
type: string | |
description: The page of data you want returned by Monnify (Starts from 0). | |
example: Integer | |
- name: size | |
in: query | |
schema: | |
type: string | |
description: The number of records you want returned in a page. | |
example: Integer | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/invoice/create: | |
post: | |
tags: | |
- Invoice | |
summary: Attaching a Reserved Account to an Invoice | |
description: >- | |
This endpoint attaches a Reserved Account to an Invoice. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| amount | Float | This field is required | Amount to be paid | | |
| invoiceReference | String | This field is required | Merchant's Unique | |
reference for the invoice. | | |
| accountReference | String | This field is required | Your unique | |
reference used to identify this reserved account | | |
| description | String | This field is required | Description for the | |
transaction. | | |
| currencyCode | String | This field is required | The currency of the | |
transaction being initialized. "NGN" | | |
| contractCode | String | This field is required | Merchant's contract | |
code | | |
| customer Name | String | This field is required | Full name of the | |
customer | | |
| customerEmail | String | This field is required | Email address of the | |
customer | | |
| expiryDate | String | This field is required | Expiry date for the | |
invoice | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
amount: '999' | |
invoiceReference: '18389131823445' | |
accountReference: janedoe1223--3 | |
description: test invoice | |
currencyCode: NGN | |
contractCode: '7059707855' | |
customerEmail: [email protected] | |
customerName: Jane Doe | |
expiryDate: '2022-10-30 12:00:00' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/invoice/{invoiceReference}/details: | |
get: | |
tags: | |
- Invoice | |
summary: View Invoice Details | |
description: >- | |
This endpoint returns details of an invoice on your integration. | |
#### Path Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| invoiceReference | String | The unique reference used in creating the | |
invoice. | | |
parameters: | |
- name: invoiceReference | |
in: query | |
schema: | |
type: string | |
description: The unique reference used in creating the invoice. | |
example: String | |
- name: invoiceReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/invoice/all: | |
get: | |
tags: | |
- Invoice | |
summary: Get All Invoices | |
description: >- | |
This endpoint returns the list of all the invoice available on your | |
integration. | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/invoice/{invoiceReference}/cancel: | |
delete: | |
tags: | |
- Invoice | |
summary: Cancel an Invoice | |
description: This endpoint cancels an Invoice on your integration. | |
parameters: | |
- name: invoiceReference | |
in: query | |
schema: | |
type: string | |
description: The unique reference used in creating the invoice. | |
example: String | |
- name: invoiceReference | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/merchant/cards/charge-card-token: | |
post: | |
tags: | |
- Recurring Payment | |
summary: Charge Card Token | |
description: >- | |
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. | |
#### **Request Payload** | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| amount | Float | This field is required | The amount(in Naira) to be | |
paid, minimum is N20 | | |
| cardToken | String | This field is required | The card token of the | |
tokenized card. | | |
| customerName | String | This field is optional | The name of the | |
customer | | |
| customerEmail | String | This field is required | The customer email | |
used in the first charge | | |
| paymentReference | String | This field is required | A unique string | |
of characters that identifies each transaction | | |
| paymentDescription | String | This field is optional | A description | |
of the payment | | |
| currencyCode | String | Field is optional, defaults to NGN | The | |
currency code | | |
| contractCode | String | This field is required | The merchant contract | |
code | | |
| apiKey | String | This field is required | The merchant's API key | | |
| incomeSplitConfig | Object | This field is optional | A way to split | |
payments among subAccounts. | | |
| metadata | Object | This field is optional | This field can be used to | |
pass extra information from customers | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
cardToken: MNFY_0CD0138B45F7C3EC6D3698969 | |
amount: 20 | |
customerName: Marvelous Benji | |
customerEmail: [email protected] | |
paymentReference: 1642776mml0068n2937 | |
paymentDescription: Paying for Product A | |
currencyCode: NGN | |
contractCode: '109167467' | |
apiKey: MK_TEST_GC3B8XG2XX | |
metaData: | |
ipAddress: 127.0.0.1 | |
deviceType: mobile | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/sub-accounts: | |
post: | |
tags: | |
- Sub Accounts | |
summary: Create Sub Account(s) | |
description: >- | |
This endpoint allows you to create a sub account to enable the spliting | |
of payments between different accounts. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| currencyCode | String | This field is required | Settlement currency. | |
"NGN" | | |
| accountNumber | String | This field is required | The account number | |
that should be created as a sub account. | | |
| bankCode | String | This field is required | The 3 digit bank code of | |
the bank where the account number is domiciled | | |
| email | String | This field is required | The email tied to the sub | |
account | | |
| defaultSplitPercentage | Float | This field is required | The default | |
percentage to be split into the sub account on any transaction. | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
- currencyCode: NGN | |
bankCode: '058' | |
accountNumber: '0211319282' | |
email: [email protected] | |
defaultSplitPercentage: 20.87 | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
get: | |
tags: | |
- Sub Accounts | |
summary: Get Sub Accounts | |
description: >- | |
This endpoint returns the list of sub accounts that have been created on | |
your integration. | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
put: | |
tags: | |
- Sub Accounts | |
summary: Update Sub Account | |
description: >- | |
This endpoint updates the details of an existing sub account. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| subAccountCode | String | This field is required | The sub account | |
code of the account to be updated. | | |
| currencyCode | String | This field is required | Settlement currency. | |
"NGN" | | |
| accountNumber | String | This field is required | The account number | |
that should be created as a sub account. | | |
| bankCode | String | This field is required | The 3 digit bank code of | |
the bank where the account number is domiciled | | |
| email | String | This field is required | The email tied to the sub | |
account | | |
| defaultSplitPercentage | Float | This field is required | The default | |
percentage to be split into the sub account on any transaction. | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
subAccountCode: MFY_SUB_811397375865 | |
currencyCode: NGN | |
bankCode: '058' | |
accountNumber: '0211319282' | |
email: [email protected] | |
defaultSplitPercentage: '25' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/sub-accounts/{subAccountCode}: | |
delete: | |
tags: | |
- Sub Accounts | |
summary: Delete Sub Account | |
description: >- | |
This endpoint deletes a sub account on your integration. | |
#### Path Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| subAccountCode | String | The subAccountCode of the sub account you | |
want to delete. | | |
parameters: | |
- name: subAccountCode | |
in: query | |
schema: | |
type: string | |
description: The subAccountCode of the sub account you want to delete. | |
example: String | |
- name: subAccountCode | |
in: path | |
schema: | |
type: string | |
required: true | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/limit-profile/: | |
post: | |
tags: | |
- Limit Profile | |
summary: Create Limit Profile(s) | |
description: >- | |
This endpoint creates limit profiles on a customer's account. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| limitProfileName | String | This field is required | The name of the | |
Limit Profile | | |
| singleTransactionValue | Float | This field is required | The maximum | |
amount that can be allowed per transaction on the reserved accounts. | | |
| dailyTransactionValue | Float | This field is required | The maximum | |
amount per day in all transactions that can be allowed on the reserved | |
accounts | | |
| dailyTransactionVolume | Float | This field is required | The maximum | |
number of transaction count per day allowed on the reserved accounts | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
limitProfileName: Profile0001 | |
singleTransactionValue: 2000 | |
dailyTransactionVolume: 500 | |
dailyTransactionValue: 150000 | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
get: | |
tags: | |
- Limit Profile | |
summary: Get Limit Profiles | |
description: >- | |
This endpoint returns the list of all Limit Profiles that have been | |
created for your customers. | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/limit-profile/FSYVVWU8UPBD: | |
put: | |
tags: | |
- Limit Profile | |
summary: Update Limit Profile | |
description: >- | |
This endpoint updates the information on an existing Limit Profile. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| limitProfileName | String | This field is required | The name of the | |
Limit Profile | | |
| singleTransactionValue | Float | This field is required | The maximum | |
amount that can be allowed per transaction on the reserved accounts. | | |
| dailyTransactionValue | Float | This field is required | The maximum | |
amount per day in all transactions that can be allowed on the reserved | |
accounts | | |
| dailyTransactionVolume | Float | This field is required | The maximum | |
number of transaction count per day allowed on the reserved accounts | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
limitProfileName: prof991 | |
singleTransactionValue: 70000 | |
dailyTransactionVolume: 4000 | |
dailyTransactionValue: 100000000 | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/bank-transfer/reserved-accounts/limit: | |
post: | |
tags: | |
- Limit Profile | |
summary: Reserve Account with Limit | |
description: >- | |
This endpoint reserves an account for your customers with a transaction | |
limit profile on it. | |
#### Request Payload | |
| **Field** | **Data type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| accountReference | String | This field is required | A unique | |
reference generated by merchants. | | |
| limitProfileCode | String | This field is required | The unique | |
identifier that references the limit profile to associate with the | |
reserved accounts. | | |
| accountName | String | This field is required | The name to be | |
displayed during name enquiry | | |
| currencyCode | String | This field is not required, defaults to NGN | | |
The currency payments will be received with | | |
| contractCode | String | This field is required | The merchant contract | |
code | | |
| customerEmail | String | This field is not required | The customer's | |
email | | |
| incomeSplitConfig | Object | This field is not required | A | |
configuration on how payments are to be split among subaccounts | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
contractCode: '7059707855' | |
accountName: 'Kan Yo'' Reserved with Limit ' | |
currencyCode: NGN | |
accountReference: ref-00--7 | |
customerEmail: [email protected] | |
customerName: Kan Yo | |
limitProfileCode: FSYVVWU8UPBD | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
put: | |
tags: | |
- Limit Profile | |
summary: Update Reserve Account Limit | |
description: >- | |
This endpoint updates the information on an existing Limit Profile for a | |
Reserved Account. | |
#### Request Payload | |
| **Field** | **Data type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| accountReference | String | This field is required | A unique | |
reference generated by merchants. | | |
| limitProfileCode | String | This field is required | The unique | |
identifier that references the limit profile to associate with the | |
reserved accounts. | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
accountReference: ref-00--7 | |
limitProfileCode: FSYVVWU8UPBD | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/refunds/initiate-refund: | |
post: | |
tags: | |
- Refund | |
summary: Initiate Refund | |
description: >- | |
This endpoint allows you to Initiate a refund. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| transactionReference | String | This field is required | Unique | |
identifier for the transaction generated by Monnify. | | |
| refundAmount | String | This field is required | Amount to refund. | | |
| refundReference | String | This field is required | Unique identifier | |
for the transaction refund generated by the merchant. | | |
| refundReason | String | This field is required | A note describing | |
reason why this transaction is being refunded. | | |
| customerNote | String | This field is required | This field serve as | |
narration in credit to customer's bank account. | | |
| destinationAccountNumber | String | This field is optional | The | |
account number to send the refund amount to. | | |
| destnationAccountBankCode | String | This field is optional | The bank | |
code for the destinationAccountNumber. | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
transactionReference: MNFY|65|20220727094724|000477 | |
refundReference: 202100op3456 | |
refundAmount: 100 | |
refundReason: Order cancelled! | |
customerNote: An optional note | |
destinationAccountNumber: '3270005594' | |
destinationAccountBankCode: '050' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/refunds/202100op3456: | |
get: | |
tags: | |
- Refund | |
summary: Get Refund Status | |
description: >- | |
This endpoint returns the status of an initiated refund. | |
#### Path Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| refundReference | String | The refundReference initially used in the | |
refund. | | |
parameters: | |
- name: refundReference | |
in: query | |
schema: | |
type: string | |
description: The refund reference used for the refund. | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/refunds: | |
get: | |
tags: | |
- Refund | |
summary: Get All Refunds | |
description: >- | |
This endpoint returns the list of all refunds available on your | |
integration. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| page | Integer | An integer specifying page of transactions to be | |
retrieved. Page number starts from 0. | | |
| size | Integer | An integer specifying size of transactions to be | |
returned per page. | | |
parameters: | |
- name: page | |
in: query | |
schema: | |
type: string | |
description: >- | |
An integer specifying the page of transactions to be retrieved. Page | |
number starts from 0. | |
example: Integer | |
- name: size | |
in: query | |
schema: | |
type: string | |
description: >- | |
An integer specifying the size of transactions to be returned per | |
page. | |
example: Integer | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/transactions/find-by-settlement-reference: | |
get: | |
tags: | |
- Settlements | |
summary: Get Transactions By Settlement Reference | |
description: |- | |
This endpoint returns all transactions that made up a settlement. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| page | Integer | The current page of the records | | |
| reference | String | The settlement reference | | |
| size | Integer | The number of transactions per page | | |
parameters: | |
- name: reference | |
in: query | |
schema: | |
type: string | |
description: The settlement reference | |
example: String | |
- name: page | |
in: query | |
schema: | |
type: string | |
description: The current page of the record | |
example: Integer | |
- name: size | |
in: query | |
schema: | |
type: string | |
description: The number of transactions per page | |
example: Integer | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/settlement-detail: | |
get: | |
tags: | |
- Settlements | |
summary: Get Settlement Information for Transaction | |
description: >- | |
This endpoint returns settlement information on transactions made to | |
your settlement account. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| transactionReference | String | The urlencoded transaction reference | |
of the said transaction | | |
parameters: | |
- name: transactionReference | |
in: query | |
schema: | |
type: string | |
description: The Monnify transaction reference of the desired transaction | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/disbursements/account/validate: | |
get: | |
tags: | |
- Verification APIs | |
summary: Validate Bank Account | |
description: |- | |
This endpoint validates a Customer's NUBAN Account. | |
#### Query Parameters | |
| **Field** | **Data Type** | **Description** | | |
| --- | --- | --- | | |
| accountNumber | String | The account number to be validated | | |
| bankCode | String | The bank code of the required account number | | |
parameters: | |
- name: accountNumber | |
in: query | |
schema: | |
type: string | |
description: The account number to be validated | |
example: String | |
- name: bankCode | |
in: query | |
schema: | |
type: string | |
description: The bank code of the required account number | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/vas/bvn-details-match: | |
post: | |
tags: | |
- Verification APIs | |
summary: BVN Information Verification | |
description: >- | |
This endpoint verifies the BVN information of your customers. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| bvn | String | This field is required | The user bvn | | |
| name | String | This field is required | The user’s name | | |
| dateOfBirth | String | This field is required | The user’s date of | |
birth | | |
| mobileNo | String | This field is required | The user mobile number | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
bvn: '22222222226' | |
name: OLATUNDE JOSIAH OGUNBOYEJO | |
dateOfBirth: 27-Apr-1993 | |
mobileNo: '08142223149' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/vas/bvn-account-match: | |
post: | |
tags: | |
- Verification APIs | |
summary: BVN and Account Name Match | |
description: >- | |
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. | |
#### Request Payload | |
| **Field** | **Data Type** | **Required/Not Required** | | |
**Description** | | |
| --- | --- | --- | --- | | |
| bankCode | String | This field is required | The user’s bank code | | |
| accountNumber | String | This field is required | The user account | |
number | | |
| bvn | String | This field is required | The user’s bvn | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
bankCode: '057' | |
accountNumber: '2191802645' | |
bvn: '22222222226' | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/banks: | |
get: | |
tags: | |
- Others | |
summary: Get Banks | |
description: >- | |
This endpoint returns a list of all banks supported by Monnify for | |
collections and disbursements. | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/sdk/transactions/banks: | |
get: | |
tags: | |
- Others | |
summary: Get Banks With USSD Short Code | |
description: >- | |
This endpoint returns the list of all supported banks with their valid | |
USSD short code. | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/disbursements/wallet: | |
post: | |
tags: | |
- Wallet | |
summary: Create Wallet | |
description: >- | |
This endpoint creates wallets for merchants' customers | |
#### Request Payload | |
| **Field** | **DataType** | **Description** | | |
| --- | --- | --- | | |
| 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 | | |
requestBody: | |
content: | |
application/json: | |
schema: | |
type: object | |
example: | |
walletReference: ref1684248425966 | |
walletName: Staging Wallet - ref1684248425966 | |
customerName: John Doe | |
bvnDetails: | |
bvn: '22222222226' | |
bvnDateOfBirth: '1994-09-07' | |
customerEmail: [email protected] | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
get: | |
tags: | |
- Wallet | |
summary: Get Wallets | |
description: >- | |
This endpoint returns all the wallets created by a merchant | |
#### Query Parameters | |
| **Field** | **DataType** | **Description** | | |
| --- | --- | --- | | |
| customerEmail | String | The customer’s email | | |
| pageSize | Integer | The number of wallet records to return | | |
| pageNo | Integer | A number specifying what page of wallets to be | |
retrieved | | |
parameters: | |
- name: customerEmail | |
in: query | |
schema: | |
type: string | |
description: The customer's email | |
example: String | |
- name: pageSize | |
in: query | |
schema: | |
type: string | |
description: The number of wallet records to return | |
example: Integer | |
- name: pageNo | |
in: query | |
schema: | |
type: string | |
description: A number specifying what page of wallets to be retrieved | |
example: Integer | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/disbursements/wallet/balance: | |
get: | |
tags: | |
- Wallet | |
summary: Wallet Balance | |
description: |- | |
This endpoint returns the balance associated with a wallet | |
#### **Request Payload** | |
| **Field** | **DataType** | **Description** | | |
| --- | --- | --- | | |
| walletReference | String | The unique identifier of the wallet | | |
parameters: | |
- name: walletReference | |
in: query | |
schema: | |
type: string | |
description: The unique identifier of the wallet | |
example: String | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} | |
/api/v1/disbursements/wallet/transactions: | |
get: | |
tags: | |
- Wallet | |
summary: Wallet Transactions | |
description: >- | |
This endpoint returns all the transactions performed by a wallet | |
#### Query Parameters | |
| **Field** | **DataType** | **Description** | | |
| --- | --- | --- | | |
| accountNumber | String | The walletAccountNumber | | |
| pageSize | Integer | The number of transaction records to return | | |
| pageNo | Integer | A number specifying what page of transactions to be | |
retrieved | | |
parameters: | |
- name: accountNumber | |
in: query | |
schema: | |
type: string | |
description: The walletAccountNumber | |
example: String | |
- name: pageSize | |
in: query | |
schema: | |
type: string | |
description: The number of wallet records to return | |
example: Integer | |
- name: pageNo | |
in: query | |
schema: | |
type: string | |
description: A number specifying what page of wallets to be retrieved | |
example: Integer | |
responses: | |
'200': | |
description: Successful response | |
content: | |
application/json: {} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment