Create a payment request

Creates a new payment request based on the specified payment type.
Supports wallet-to-business transfers, wallet payouts to bank accounts,
and transfers within wallets. The payment type determines the required
fields and validation rules applied.

Sender information

The sender object is required for WALLET_PAYOUT payments where you are a fintech or financial institution making a payout on behalf of an underlying customer from your master wallet. This applies to both corporate and individual senders. It is not required for WALLET_TO_BUSINESS or TRANSFER_WITHIN_WALLETS payment types.

Not required if you are:

  • An Atlas for Platform client — sender identity is established through the sub-account's KYB data
  • A corporate sending on your own principal basis (e.g. supplier payments, payroll, merchant settlements)
  • Initiating a payout from a sub-account — sender information is inherited from the sub-account directly
📘

If you are unsure whether your use case requires a sender object, contact[email protected] before going live. See the Sender object guide for full field requirements.


NB: Attaching supporting documents to a payout is strongly recommended for high-value transactions or payments to higher-risk corridors. Kindly refer to the Payments Documents guide then call the Generate Upload Link endpoint to obtain a pre-signed URL for your document.

📘

NOTE:
Always confirm your Base URL: If you are testing in the sandbox environment, ensure your base URL is set to the sandbox base url: https://api-company-sandbox.vertofx.com, and if in production, use the production base URL: https://api-company-beta.vertofx.com. Using them interchangably will result in 403 errors.



Body Params

Request for wallet payout to a bank account.

string | null

Custom reference label for the payment.

boolean
Defaults to false

Indicates whether this is a split payment.

string
enum
required

Type of payment - wallet payout to bank account.

Allowed:
string

Purpose identifier for the payment.

string

Uniquey identifier for the payment.

string
enum

Recurrence frequency for scheduled payments. Required when scheduledDate is provided for recurring payments.

Allowed:
date-time | null

Scheduled execution date in ISO 8601 format (UTC).

sender
object

Sender information for the payment.

float
≥ 0.01

Amount to transfer from source wallet.

string

Source wallet identifier.

string | null

S3 key for supporting document.

string

Target bank account identifier.

string | null

Usage token for fee calculation.

string | null

Payout fee token for fee calculation.

string | null

OTP for payment verification.

Responses

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json