Skip to main content
Create a transfer recipient to enable money transfers to bank accounts, mobile money wallets, or other supported channels. Recipients must be created before initiating transfers.
All transfer recipients are verified against the recipient’s bank or mobile money provider to ensure valid account details before creation.

Endpoint

POST /transfer/recipient

Request Body

string
required
Type of recipient accountAvailable types:
  • nuban - Nigerian bank account (NUBAN)
  • mobile_money - Mobile money account
  • ghana_mobile_money - Ghana mobile money
  • kenya_mobile_money - Kenya mobile money
  • bvn - Bank Verification Number (Nigeria)
string
required
Full name of the recipient as registered with their bank or mobile money provider
Name must match the account holder’s registered name exactly
string
required
Account number, phone number, or identifier based on recipient typeFormat by type:
  • nuban: 10-digit Nigerian bank account number
  • mobile_money: Phone number in international format (e.g., +2348012345678)
  • bvn: 11-digit Bank Verification Number
string
Bank or provider code (required for nuban and some mobile money types)
Use the List Banks endpoint to get valid bank codes
string
default:"NGN"
Currency for transfers to this recipientSupported currencies: NGN, GHS, KES, USD, GBP, EUR
string
Recipient’s email address for transfer notifications (optional but recommended)
string
Recipient’s phone number for SMS notifications (required for mobile money)
object
Additional information about the recipient in key-value pairs

Example Request

Response

string
Request status indicator - "success" or "error"
string
Human-readable message describing the result
object
Created recipient data object

Example Response

Recipient Types Guide

Requirements:
  • type: "nuban"
  • name: Exact account holder name
  • account_number: 10-digit account number
  • bank_code: Valid Nigerian bank code
Verification Process:
  • Account number validation with bank
  • Name verification against bank records
  • Real-time verification (usually instant)

Bank Codes Reference

Common Nigerian bank codes for reference:
Use the List Banks endpoint to get the complete, up-to-date list of supported banks and their codes.

Verification Process

PayVessel performs real-time account verification during recipient creation:
1

Account Number Validation

Validates account number format and checks if it exists with the specified bank
2

Name Verification

Compares provided name against the account holder’s registered name
3

Account Status Check

Verifies the account is active and can receive transfers
4

Compliance Screening

Performs basic compliance checks against restricted account lists
Verification Failures: If verification fails, the recipient will not be created. Common failures include:
  • Invalid account number
  • Name mismatch
  • Inactive account
  • Invalid bank code

Integration Patterns

Best Practices

Verify Before Transfer

Always create and verify recipients before initiating transfers to avoid failed transactions

Store Recipient Codes

Save the recipient_code for future transfers to avoid recreating recipients

Handle Verification Failures

Implement proper error handling for account verification failures

Use Metadata

Add relevant metadata to recipients for easier management and reporting

Next Steps

After creating a recipient:

Initiate Transfer

Send money to the created recipient

List Recipients

View all your transfer recipients

Update Recipient

Modify recipient details

Bulk Transfers

Send money to multiple recipients at once

Webhook Events

This endpoint triggers the following webhook events:
  • recipient.created - Recipient successfully created and verified
  • recipient.verification_failed - Recipient verification failed during creation
Pro Tip: Create recipients during off-peak hours when possible, as bank verification APIs may have slower response times during peak business hours.