Payouts

Initiate International Bank Transfer

Initiate an international bank transfer payout to a recipient. This endpoint supports sending funds internationally with comprehensive recipient validation.

POST
/api/v1/payout/bank-transfer/international

Authorization

BearerAuth
AuthorizationBearer <token>

JWT Bearer token for API authentication. Format: Bearer <your_api_token>

In: header

Request Body

application/json

International bank transfer request payload

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/payout/bank-transfer/international" \  -H "Content-Type: application/json" \  -d '{    "amount": 1500,    "type": "bank_transfer",    "currency": "GBP",    "source_reference": "df7ec32f-e13a-4d9a-938f-c1ef43112439",    "recipient": {      "account_number": "6172444979",      "swift_code": "WFBIUS6S",      "account_name": "ABUCHI MONDAY",      "bank_name": "Acme Bank",      "recipient_type": "individual",      "email": "example@example.com",      "phone_number": "+2348012345678",      "first_name": "John",      "last_name": "Doe",      "foreign_bank": {        "bank_name": "Wells Fargo Bank",        "swift_code": "WFBIUS6S",        "routing_number": "121000248",        "address": "420 Montgomery Street, San Francisco, CA 94104, USA",        "correspondent_bank_name": "JP Morgan Chase Bank",        "correspondent_bank_swift_code": "CHASUS33",        "intermediary_bank_name": "Bank of America",        "intermediary_bank_address": "100 N Tryon St, Charlotte, NC 28255, USA"      },      "shipping_address": {        "street": "123 Main Street",        "city": "New York",        "state": "NY",        "postal_code": "10001",        "country": "United States"      },      "billing_address": {        "street": "123 Main Street",        "city": "New York",        "state": "NY",        "postal_code": "10001",        "country": "United States"      }    }  }'
{
  "requestId": "a16b8b8c-659b-49e7-ae1b-d363707a0153",
  "requestTimestamp": "2026-04-16 21:13:58.261",
  "message": "Payout initiated successfully.",
  "statusCode": 200,
  "data": {
    "id": "019d9824-abfb-723b-8007-63335a5b760e",
    "recipientAccountName": "ABUCHI MONDAY",
    "recipientAccountNumber": "6172444979",
    "recipientBankName": "Acme Bank",
    "sourceReference": "8501f97e-50f7-4b32-b4c1-1c95fb492ae8",
    "paymentChannel": "Bank Transfer",
    "sessionId": null,
    "parentTransactionReference": null,
    "reference": "TRN_GWEWGFBEXWTD",
    "amount": {
      "value": 1500,
      "currency": "USD",
      "formatted": "USD1500"
    },
    "balance": {
      "value": 24300,
      "currency": "USD",
      "formatted": "USD24300"
    },
    "status": "Pending",
    "narration": "Test Payout",
    "createdAt": "2026-04-16 22:13:53"
  }
}
{
  "requestId": "error-id-123",
  "requestTimestamp": "2026-04-16 21:13:58",
  "message": "Validation error: Invalid recipient data",
  "statusCode": 400
}
{
  "requestId": "error-id-456",
  "requestTimestamp": "2026-04-16 21:13:58",
  "message": "Unauthorized access",
  "statusCode": 401
}
{
  "requestId": "string",
  "message": "string",
  "statusCode": 404
}
{
  "requestId": "string",
  "message": "string",
  "statusCode": 422
}
Empty
Empty

How is this guide?