Payments API
This is the Payments API that provides programmatic access to various resources and services. The API supports the following areas: Fund Own Accounts, Bill Payments, Bank Transactions, Mobile Money Transactions, Loan Repayments. All endpoints require authentication using a Bearer token.
The payments model
The payments model contains all the information about your payments entities.
Properties
- Name
billerId- Type
- string
- Description
Value for billerId
- Name
accountNumber- Type
- string
- Description
Value for accountNumber
- Name
customerName- Type
- string
- Description
Value for customerName
- Name
amount- Type
- integer
- Description
Integer value for amount
- Name
currency- Type
- string
- Description
Value for currency
- Name
paymentType- Type
- string
- Description
Value for paymentType
- Name
sourceAccount- Type
- string
- Description
Value for sourceAccount
- Name
narration- Type
- string
- Description
Value for narration
- Name
reference- Type
- string
- Description
Value for reference
Initiate Bills Payment
Executes a payment transaction for a biller using account funds.
Request
curl -X POST https://api.adiba.app/v1/payments/bills \
-H "Authorization: Bearer {token}" \
-d '{
"billerId": "IKEDC001",
"accountNumber": "123456789",
"customerName": "John Doe",
"amount": 5000,
"currency": "NGN",
"paymentType": "POSTPAID",
"sourceAccount": "ACC_001",
"narration": "Electricity bill payment",
"reference": "BILL_REF_001"
}'
{
"status": "SUCCESS",
"transactionId": "TXN_001_20241201_001",
"billerId": "IKEDC001",
"billerName": "Ikeja Electric",
"accountNumber": "123456789",
"customerName": "John Doe",
"amount": 5000,
"currency": "NGN",
"paymentType": "POSTPAID",
"sourceAccount": "ACC_001",
"narration": "Electricity bill payment",
"reference": "BILL_REF_001",
"processedAt": "2024-12-01T10:30:00Z",
"receiptUrl": "https://receipts.bank.com/TXN_001_20241201_001.pdf",
"message": "Bill payment processed successfully"
}
Fund Saving Account From Card
Transfers funds into a savings account from a linked debit/credit card.
Request
curl -X POST https://api.adiba.app/v1/payments/fund/via/card \
-H "Authorization: Bearer {token}" \
-d '{
"cardId": "CARD_001",
"destinationAccount": "SAV_001",
"amount": 100000,
"currency": "NGN",
"narration": "Monthly savings contribution",
"reference": "SAV_REF_001"
}'
{
"status": "SUCCESS",
"transactionId": "TXN_002_20241201_001",
"cardId": "CARD_001",
"cardNumber": "**** **** **** 1234",
"destinationAccount": "SAV_001",
"amount": 100000,
"currency": "NGN",
"narration": "Monthly savings contribution",
"reference": "SAV_REF_001",
"processedAt": "2024-12-01T10:35:00Z",
"message": "Account funded successfully"
}
Fund Saving Account From Mobile Wallet
Moves money from a mobile wallet into a savings account.
Request
curl -X POST https://api.adiba.app/v1/payments/fund/via/mwallet \
-H "Authorization: Bearer {token}" \
-d '{
"walletProvider": "PAGA",
"phoneNumber": "+2348012345678",
"destinationAccount": "SAV_001",
"amount": 50000,
"currency": "NGN",
"narration": "Wallet to savings transfer",
"reference": "WALLET_REF_001"
}'
{
"status": "SUCCESS",
"transactionId": "TXN_003_20241201_001",
"walletProvider": "PAGA",
"phoneNumber": "+2348012345678",
"destinationAccount": "SAV_001",
"amount": 50000,
"currency": "NGN",
"narration": "Wallet to savings transfer",
"reference": "WALLET_REF_001",
"processedAt": "2024-12-01T10:40:00Z",
"message": "Account funded successfully from wallet"
}
Initiate Intra-Bank Transfer
Transfers funds between accounts within the same bank.
Request
curl -X POST https://api.adiba.app/v1/payments/transfer/internal \
-H "Authorization: Bearer {token}" \
-d '{
"sourceAccount": "ACC_001",
"destinationAccount": "9876543210",
"destinationName": "Jane Smith",
"amount": 25000,
"currency": "NGN",
"narration": "Lunch money",
"reference": "INT_REF_001",
"saveAsBeneficiary": true
}'
{
"status": "SUCCESS",
"transactionId": "TXN_004_20241201_001",
"sourceAccount": "ACC_001",
"destinationAccount": "9876543210",
"destinationName": "Jane Smith",
"amount": 25000,
"currency": "NGN",
"narration": "Lunch money",
"reference": "INT_REF_001",
"transferType": "INTERNAL",
"processedAt": "2024-12-01T10:45:00Z",
"message": "Internal transfer completed successfully"
}
Initiate Own Account Transfer
Moves funds between a user's personal accounts at the same institution.
Request
curl -X POST https://api.adiba.app/v1/payments/transfer/self \
-H "Authorization: Bearer {token}" \
-d '{
"sourceAccount": "ACC_001",
"destinationAccount": "SAV_001",
"amount": 75000,
"currency": "NGN",
"narration": "Transfer to savings",
"reference": "SELF_REF_001"
}'
{
"status": "SUCCESS",
"transactionId": "TXN_005_20241201_001",
"sourceAccount": "ACC_001",
"destinationAccount": "SAV_001",
"amount": 75000,
"currency": "NGN",
"narration": "Transfer to savings",
"reference": "SELF_REF_001",
"transferType": "SELF",
"processedAt": "2024-12-01T10:50:00Z",
"message": "Self transfer completed successfully"
}
Initiate Inter-Bank Transfer
Executes a transfer of funds to an account at a different bank.
Request
curl -X POST https://api.adiba.app/v1/payments/transfer/external \
-H "Authorization: Bearer {token}" \
-d '{
"sourceAccount": "ACC_001",
"destinationAccount": "1234567890",
"destinationName": "John Doe",
"bankCode": "044",
"bankName": "Access Bank",
"amount": 100000,
"currency": "NGN",
"narration": "Business payment",
"reference": "EXT_REF_001",
"saveAsBeneficiary": true
}'
{
"status": "SUCCESS",
"transactionId": "TXN_006_20241201_001",
"sourceAccount": "ACC_001",
"destinationAccount": "1234567890",
"destinationName": "John Doe",
"bankCode": "044",
"bankName": "Access Bank",
"amount": 100000,
"currency": "NGN",
"narration": "Business payment",
"reference": "EXT_REF_001",
"transferType": "EXTERNAL",
"processedAt": "2024-12-01T10:55:00Z",
"estimatedDeliveryTime": "Within 24 hours",
"message": "External transfer initiated successfully"
}
Initiate Mobile Wallet Payment
Sends funds from a bank account to a specified mobile wallet.
Request
curl -X POST https://api.adiba.app/v1/payments/transfer/mwallet \
-H "Authorization: Bearer {token}" \
-d '{
"sourceAccount": "ACC_001",
"phoneNumber": "+2348012345678",
"walletProvider": "PAGA",
"amount": 15000,
"currency": "NGN",
"narration": "Wallet funding",
"reference": "MWALLET_REF_001",
"saveAsBeneficiary": true
}'
{
"status": "SUCCESS",
"transactionId": "TXN_007_20241201_001",
"sourceAccount": "ACC_001",
"phoneNumber": "+2348012345678",
"walletProvider": "PAGA",
"amount": 15000,
"currency": "NGN",
"narration": "Wallet funding",
"reference": "MWALLET_REF_001",
"transferType": "MWALLET",
"processedAt": "2024-12-01T11:00:00Z",
"estimatedDeliveryTime": "Instant",
"message": "Mobile wallet payment completed successfully"
}
List Internal Destination Banks
Fetches a list of all banks supported for intra-bank transfers.
Request
curl -G https://api.adiba.app/v1/payments/banks/internal \
-H "Authorization: Bearer {token}"
{
"banks": [
{
"bankCode": "001",
"bankName": "Digital Bank",
"bankType": "COMMERCIAL",
"isActive": true,
"logo": "https://cdn.bank.com/banks/digital-bank.png",
"transferChannels": [
"MOBILE_APP",
"WEB",
"USSD"
]
},
{
"bankCode": "002",
"bankName": "Digital Microfinance",
"bankType": "MICROFINANCE",
"isActive": true,
"logo": "https://cdn.bank.com/banks/digital-mf.png",
"transferChannels": [
"MOBILE_APP",
"USSD"
]
}
],
"totalBanks": 2
}
List External Destination Banks
Retrieves a comprehensive list of all banks for inter-bank transfers.
Request
curl -G https://api.adiba.app/v1/payments/banks/external \
-H "Authorization: Bearer {token}"
{
"banks": [
{
"bankCode": "044",
"bankName": "Access Bank",
"bankType": "COMMERCIAL",
"isActive": true,
"logo": "https://cdn.bank.com/banks/access-bank.png",
"transferChannels": [
"NIBSS",
"RTGS"
],
"processingTime": "Within 24 hours"
},
{
"bankCode": 58,
"bankName": "GT Bank",
"bankType": "COMMERCIAL",
"isActive": true,
"logo": "https://cdn.bank.com/banks/gt-bank.png",
"transferChannels": [
"NIBSS",
"RTGS"
],
"processingTime": "Within 24 hours"
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 150,
"hasNext": true,
"hasPrevious": false
}
}
List Beneficiaries of External Transfer
Displays saved recipients for transfers to other banks.
Request
curl -G https://api.adiba.app/v1/payments/beneficiaries/external \
-H "Authorization: Bearer {token}"
{
"beneficiaries": [
{
"beneficiaryId": "BEN_001",
"accountNumber": "1234567890",
"accountName": "John Doe",
"bankCode": "044",
"bankName": "Access Bank",
"nickname": "John's Account",
"isFavorite": true,
"lastUsed": "2024-12-01T10:55:00Z",
"transferCount": 5
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1,
"hasNext": false,
"hasPrevious": false
}
}
List Beneficiaries of Internal Transfer
Shows saved recipients for transfers within the same bank.
Request
curl -G https://api.adiba.app/v1/payments/beneficiaries/internal \
-H "Authorization: Bearer {token}"
{
"beneficiaries": [
{
"beneficiaryId": "BEN_002",
"accountNumber": "9876543210",
"accountName": "Jane Smith",
"nickname": "Jane's Account",
"isFavorite": false,
"lastUsed": "2024-12-01T10:45:00Z",
"transferCount": 3
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1,
"hasNext": false,
"hasPrevious": false
}
}
List Beneficiaries of Bills Payments
Fetches a list of all saved biller accounts for quick payments.
Request
curl -G https://api.adiba.app/v1/payments/beneficiaries/bills \
-H "Authorization: Bearer {token}"
{
"beneficiaries": [
{
"beneficiaryId": "BEN_003",
"billerId": "IKEDC001",
"billerName": "Ikeja Electric",
"accountNumber": "123456789",
"customerName": "John Doe",
"nickname": "Home Electricity",
"isFavorite": true,
"lastUsed": "2024-12-01T10:30:00Z",
"paymentCount": 12
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1,
"hasNext": false,
"hasPrevious": false
}
}
List Beneficiaries for Mobile Wallet
Displays saved mobile wallet recipients for future transfers.
Request
curl -G https://api.adiba.app/v1/payments/beneficiaries/mwallet \
-H "Authorization: Bearer {token}"
{
"beneficiaries": [
{
"beneficiaryId": "BEN_004",
"phoneNumber": "+2348012345678",
"walletProvider": "PAGA",
"nickname": "Mom's Wallet",
"isFavorite": true,
"lastUsed": "2024-12-01T11:00:00Z",
"transferCount": 8
}
],
"pagination": {
"page": 1,
"size": 10,
"total": 1,
"hasNext": false,
"hasPrevious": false
}
}
Initiate a Loan Repayment
Makes a scheduled or ad-hoc payment towards an outstanding loan.
Required attributes
- Name
loanId- Type
- string
- Description
Unique identifier specified in the URL path
Request
curl -X POST https://api.adiba.app/v1/payments/loans/{loanId} \
-H "Authorization: Bearer {token}" \
-d '{
"amount": 48500,
"currency": "NGN",
"paymentType": "SCHEDULED",
"sourceAccount": "ACC_001",
"narration": "Monthly loan repayment",
"reference": "LOAN_REF_001"
}'
{
"status": "SUCCESS",
"transactionId": "TXN_008_20241201_001",
"loanId": "LOAN_001_20241201_001",
"loanNumber": "LN_20241201_001",
"amount": 48500,
"currency": "NGN",
"paymentType": "SCHEDULED",
"sourceAccount": "ACC_001",
"narration": "Monthly loan repayment",
"reference": "LOAN_REF_001",
"processedAt": "2024-12-01T11:05:00Z",
"remainingBalance": 958333,
"nextPaymentDate": "2025-02-01T00:00:00Z",
"message": "Loan repayment processed successfully"
}