Beneficiaries

Overview

The Beneficiaries API allows you to create, manage, and use payment recipients for your financial operations. Beneficiaries are entities that can receive funds from your accounts, and they can be individuals or businesses with various payment method types depending on their location and currency.

Key features of the Beneficiaries API:

  • Create and manage fiat currency beneficiaries
  • Support for multiple payment method types (SWIFT, ACH, FedWire, NUBAN, SEPA, Faster Payments)
  • Country-specific payment method validation
  • Search and filter beneficiaries
  • Update beneficiary details
  • Delete beneficiaries when no longer needed

The API simplifies the process of storing recipient information for repeated use, ensuring compliance with payment regulations, and enabling efficient fund transfers to your business partners, suppliers, employees, and customers around the world.


The Beneficiary Object

PropertyTypeRequiredDescription
idstring (UUID)✅Unique identifier of the beneficiary.
stateenum✅Current state of the beneficiary (ACTIVE, INACTIVE).
created_datestring (datetime)✅Date and time when the beneficiary was created.
updated_datestring (datetime)✅Date and time when the beneficiary was last updated.
typeenum✅Type of the beneficiary (always "FIAT" for fiat currency beneficiaries).
countrystring✅ISO 2-letter country code of the beneficiary.
addressobject❌Physical address of the beneficiary (required for most non-NGN beneficiaries).
kindenum✅Kind of beneficiary ("INDIVIDUAL" or "BUSINESS").
namestring✅Account holder name of the beneficiary.
friendly_namestring❌Optional custom name for easier identification.
currencystring✅Currency code the beneficiary can receive (ISO 4217).
emailstring❌Email address of the beneficiary (required for most non-NGN beneficiaries).
is_own_accountboolean✅Whether this beneficiary is your own account (default: false).
client_referencestring❌Your custom reference for this beneficiary.
methodobject✅Payment method details (varies by type).

Beneficiary Method Object Structure

The method object in a beneficiary is a structured field that specifies how funds will be sent to this recipient. It consists of two key parts:

  1. A type field that identifies the payment method category
  2. A details object containing the specific payment information for that type
{
  "method": {
    "type": "PAYMENT_METHOD_TYPE",
    "details": {
      // Varies by type - contains the specific fields required for that payment method
    }
  }
}

The type field is always one of the following values:

  • "NUBAN" - Nigerian bank accounts
  • "SWIFT" - International wire transfers
  • "ACH" - US domestic electronic transfers
  • "FED_WIRE" - US domestic wire transfers
  • "SEPA" - European zone payments
  • "FASTER_PAYMENTS" - UK domestic transfers
  • "MOBILE_MONEY" - Kenyan M-Pesa
  • "ALIPAY"- China Alipay
  • "WECHAT_PAY" - China WeChat Pay
  • "BANK_ACCOUNT"- For domestic bank transfers

The details object's structure changes completely based on the type. For example:

  • A "NUBAN" type requires Nigerian bank details
  • A "SWIFT" type requires international banking details with SWIFT/BIC codes
  • A "SEPA" type requires IBAN and European bank information

This flexible structure allows the API to accommodate the diverse requirements of different payment systems worldwide while maintaining a consistent top-level structure.


Supported Methods

1. NUBAN (Nigerian Bank Account)

Nigerian Uniform Bank Account Number for payments to Nigerian bank accounts in NGN.

ParameterTypeRequiredDescription
account_numberstring✅10-digit Nigerian bank account number.
bank_codestring✅3-6 digit bank code for the Nigerian bank.
account_namestring✅Name of the account holder as registered with the bank.
bank_namestring❌Bank name
{
    "type": "NUBAN",
    "details": {
        "account_number": "0123456789",
        "bank_code": "033",
        "account_name": "Alan Turing"
    }
}

2. SWIFT (International Wire Transfer)

SWIFT/BIC-based transfers for international payments across various currencies.

ParameterTypeRequiredDescription
swift_bicstring✅SWIFT/BIC code (8-11 characters) of the beneficiary bank.
account_numberstring✅Account number or IBAN of the beneficiary.
bank_namestring✅Full name of the beneficiary bank.
bank_addressobject✅Physical address of the beneficiary bank.
bank_address.line_1string✅Street address of the bank.
bank_address.citystring✅City where the bank is located.
bank_address.statestring❌State/province where the bank is located (required for some countries).
bank_address.postal_codestring❌Postal/ZIP code (required for some countries).
bank_address.countrystring✅ISO-2 country code of the bank.
intermediary_bankobject❌Details of an intermediary bank if required for routing.
intermediary_bank.namestring❌Name of the intermediary bank.
intermediary_bank.swift_bicstring❌SWIFT/BIC code of the intermediary bank.
intermediary_bank.account_numberstring❌Account number at the intermediary bank.
intermediary_bank.addressobject❌Address of the intermediary bank.
intermediary_bank.routing_numberstring❌Routing number for the intermediary bank.
intermediary_bank.instructionsstring❌Special instructions for the intermediary bank.
{
    "type": "SWIFT",
    "details": {
        "swift_bic": "CHASUS33",
        "account_number": "000123456789",
        "bank_name": "JPMorgan Chase Bank",
        "bank_address": {
            "line_1": "270 Park Avenue",
            "city": "New York",
            "state": "NY",
            "postal_code": "10017",
            "country": "US"
        },
        "intermediary_bank": {
            "name": "Citibank",
            "swift_bic": "CITIUS33",
            "account_number": "36838007",
            "address": {
                "line_1": "388 Greenwich Street",
                "city": "New York",
                "state": "NY",
                "postal_code": "10013",
                "country": "US"
            }
        }
    }
}

3. ACH (US Automated Clearing House)

For domestic US transfers in USD using the ACH network.

ParameterTypeRequiredDescription
account_numberstring✅US bank account number (8-17 digits).
routing_numberstring✅9-digit ACH routing number.
bank_namestring✅Name of the US banking institution.
account_typeenum✅Type of bank account: "checking" or "savings".
bank_addressobject✅Physical address of the US bank.
bank_address.line_1string✅Street address of the bank.
bank_address.line_2string❌Additional address information.
bank_address.citystring✅City where the bank is located.
bank_address.statestring✅US state where the bank is located.
bank_address.postal_codestring✅US ZIP code.
bank_address.countrystring✅Must be "US".
{
    "type": "ACH",
    "details": {
        "account_number": "12345678901",
        "routing_number": "021000021",
        "bank_name": "Bank of America",
        "account_type": "checking",
        "bank_address": {
            "line_1": "100 Federal Street",
            "city": "Boston",
            "state": "MA",
            "postal_code": "02110",
            "country": "US"
        }
    }
}

4. FED_WIRE (US Fedwire)

For domestic US wire transfers in USD using the Fedwire system.

ParameterTypeRequiredDescription
account_numberstring✅US bank account number (8-17 digits).
routing_numberstring✅9-digit Fedwire routing number.
bank_namestring✅Name of the US bank.
bank_addressobject✅Physical address of the US bank.
bank_address.line_1string✅Street address of the bank.
bank_address.line_2string❌Additional address information.
bank_address.citystring✅City where the bank is located.
bank_address.statestring✅US state where the bank is located.
bank_address.postal_codestring✅US ZIP code.
bank_address.countrystring✅Must be "US".
{
    "type": "FED_WIRE",
    "details": {
        "account_number": "12345678901",
        "routing_number": "021000021",
        "bank_name": "Wells Fargo",
        "bank_address": {
            "line_1": "420 Montgomery Street",
            "city": "San Francisco",
            "state": "CA",
            "postal_code": "94104",
            "country": "US"
        }
    }
}

5. SEPA (Single Euro Payments Area)

For EUR transfers within the SEPA zone (EU/EEA countries).

ParameterTypeRequiredDescription
ibanstring✅International Bank Account Number (15-34 characters).
bic_swiftstring✅BIC/SWIFT code of the beneficiary bank (8-11 characters).
bank_namestring✅Name of the beneficiary bank.
bank_addressobject❌Physical address of the beneficiary bank (optional).
bank_address.line_1string❌Street address of the bank.
bank_address.citystring❌City where the bank is located.
bank_address.postal_codestring❌Postal code.
bank_address.countrystring❌ISO-2 country code within the SEPA zone.
{
    "type": "SEPA",
    "details": {
        "iban": "DE89370400440532013000",
        "bic_swift": "DEUTDEFF",
        "bank_name": "Deutsche Bank"
    }
}

6. FASTER_PAYMENTS (UK Faster Payments)

For domestic UK GBP transfers using the Faster Payments Service.

ParameterTypeRequiredDescription
account_numberstring✅8-digit UK bank account number.
sort_codestring✅6-digit UK bank sort code (without hyphens).
bank_namestring✅Name of the UK bank.
bank_addressobject❌Physical address of the UK bank (optional).
bank_address.line_1string❌Street address of the bank.
bank_address.citystring❌City where the bank is located.
bank_address.postal_codestring❌UK postal code.
bank_address.countrystring❌Must be "GB" if provided.
{
    "type": "FASTER_PAYMENTS",
    "details": {
        "account_number": "12345678",
        "sort_code": "123456",
        "bank_name": "Barclays Bank"
    }
}

7. MOBILE_MONEY (Kenyan M-Pesa)

KES transfers in Kenya using Mobile Money

ParameterTypeRequiredDescription
typestring✅PHONE, TILL or PAYBILL
phone_numberstring✅Required if type is PHONE
till_numberstring✅Required if type is TILL
paybill_numberstring✅Required if type is PAYBILL
account_numberstring✅Required if type is PAYBILL
{
    "type": "MOBILE_MONEY",
    "details": {
        "type": "PAYBILL",
        "paybill_number": "4130023",
        "account_number": "272701222"
    }
}
{
    "type": "MOBILE_MONEY",
    "details": {
        "type": "TILL",
        "till_number": "423432"
    }
}
{
    "type": "MOBILE_MONEY",
    "details": {
        "type": "PAYBILL",
        "paybill_number": "4130023",
        "account_number": "272701222"
    }
}


8. Alipay

CNY remittances to China via Alipay

ParameterTypeRequiredDescription
alipay_idstring✅The Alipay Id of the recipient
recipient_idstring❌Recipient’s identification details
recipieint_id_typestring❌Recipient’s identification type
{
    "type": "ALIPAY",
    "details": {
        "alipay_id": "2088123456789012",
        "recipient_id": "PA1234567",
        "recipient_id_type": "PASSPORT"
    }
}

9. WeChat Pay

CNY remittances to China via WeChat

ParameterTypeRequiredDescription
wechat_idstring✅The WeChat Id of the recipient
recipient_idstring❌Recipient’s identification details
recipieint_id_typestring❌Recipient’s identification type
{
    "type": "WECHAT_PAY",
    "details": {
        "alipay_id": "mike_chen88",
        "recipient_id": "32031119880615223X",
        "recipient_id_type": "ID_CARD"
    }
}

Method Type Selection by Country and Currency

CountryCurrencyRecommended Method(s)Notes
NGNGNNUBANRequired for all domestic Nigerian payments
USUSDACHFor lower-cost domestic US transfers (slower)
USUSDFED_WIREFor same-day domestic US transfers (higher fees)
EU CountriesEURSEPAFor payments within the SEPA zone
GBGBPFASTER_PAYMENTSFor domestic UK payments
AnyAnySWIFTUniversal method for international payments
KEKESMOBILE_MONEY, BANK_ACCOUNTMobile money B2C, Paybill and Till are available as well as local bank payments
CNCNYALIPAY, WECHAT_PAY, BANK_ACCOUNTFor domestic China payments

By understanding the requirements for each payment method type and following best practices, you can ensure smooth and efficient management of your payment recipients.


Did this page help you?