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.

Overview of Payment Types


Before initiating a transaction, ensure you are selecting the appropriate payment type for your integration needs:

Payment TypeDescriptionKey Dependency
WALLET_PAYOUTPayments sent to an external beneficiary outside of the Verto network.Requires a pre-created and approved beneficiary.
WALLET_TO_BUSINESSDirect payments made to other businesses onboarded on Verto (V-Pay).Requires the recipient's companyId.
TRANSFER_WITHIN_WALLETSSame-currency transfers between wallets owned by your organization (e.g., USD Wallet A to USD Wallet B).Requires destination walletID.

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.

Payment purpose codes can be retrieved via the GET Payment Purpose Codes API.

📘

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