Skip to main content
Cadana supports multiple payment methods depending on the destination country and currency. Each method has specific field requirements for creating beneficiaries. Use the discovery endpoints to determine what’s available for a given corridor at runtime.
Available corridors are configured per business. If you need access to a corridor that isn’t enabled on your account, contact the Cadana team.

Discovering Available Methods

Call GET /v1/payment-methods to list payment methods available for a country: Response:
Call GET /v1/providers to list supported banks and mobile money providers: Response:
Use the returned code as the bankCode (or providerCode for mobile money) when creating beneficiaries.

Resolve a Bank Provider

If you have a bank code, SWIFT code, or ACH routing number and need to look up the corresponding bank name and details, use GET /v1/providers/resolve: The paymentMethod parameter determines how the code is resolved:

Using the Requirements API

The requirements endpoint returns a JSON Schema (Draft-07) describing all mandatory and optional fields for a given corridor:

Understanding the Response

Here’s an example response for Colombia (COP, bank transfer):
Key parts of the schema:

Building Dynamic Forms

You can use these schemas to dynamically generate beneficiary creation forms that automatically adapt to each corridor’s requirements — no hardcoded field logic needed.
This approach means your UI automatically adapts when Cadana adds new corridors or updates field requirements, without code changes. Standard JSON Schema libraries (like Ajv for JavaScript or jsonschema for Python) can handle validation directly from the response.
Always use GET /v1/payment-requirements as the source of truth. The examples below illustrate common patterns to help you plan your integration — they are not exhaustive.

Bank Transfer

Sends funds directly to a recipient’s bank account through local clearing networks. Set preferredMethod to "bank" and provide bank details in the bank object:
Required fields vary by corridor. Bank transfer corridors range from 4 required fields to 10+, depending on the country’s regulatory and clearing requirements.

Simple — Nigeria (NGN)

Many corridors (e.g., NG, KE, GH, MX) require only basic bank details:

Medium — United Kingdom (GBP)

Some corridors add fields like sortCode, routingNumber, or iban depending on the local clearing system: Other examples of this pattern: SEPA (adds iban, beneficiaryAddress), Canada (adds sortCode, address).

Complex — Colombia (COP)

Corridors like Colombia, India, South Africa, and Peru require a combination of beneficiary identification, address, contact details, and conditional validation: India (INR) follows this pattern: the corridor schema puts the IFSC code in sortCode, requires ownerType as Individual or Business (capitalized, per the schema’s enum), and requires email and phoneNumber.

ACH

Send funds to US bank accounts via the Automated Clearing House network. Set preferredMethod to "ach" and provide details in the ach object:

Mobile Money

Send funds directly to mobile money wallets. Widely used across Sub-Saharan African markets. Set preferredMethod to "momo" and provide details in the momo object:
Use GET /v1/providers to get the available providers for a given country.

Proxy

Proxy-based payment methods use an identifier (email, phone, or national ID) instead of traditional bank details. Used for corridors like Brazil Pix. Set preferredMethod to "proxy" and provide details in the proxy object:
Some corridors require additional fields like beneficiaryId or address. Use GET /v1/payment-requirements to check the exact requirements for each corridor.

SWIFT

For corridors without local payment rails, Cadana routes payments via SWIFT. Covers 180+ countries (USD and EUR). Set preferredMethod to "swift" and provide details in the swift object. SWIFT payments typically require more information than local transfers, including the SWIFT/BIC code, recipient address, and either iban or accountNumber depending on the destination.

Next Steps

Making a Payment

Step-by-step payout integration

Supported Countries

Full list of supported countries and payment rails