Documentation/API/Payments

Payment Transfers

API reference for processing payments and transfers

VERTEX ENGINE

00

Table of Contents

  1. Transfer EFT/RTC

1. Transfer EFT/RTC

Initiates an Electronic Funds Transfer (EFT) or Real-Time Credit (RTC) payment.

Subject: svc.account.<partner_id>.transfer_eft_rtc

Request

{
  "account_id": "string",        // Required - UUID of the account making the transfer
  "clientTxId": "string",        // Required - client side tx id to avoid duplicate transactions (UUID)
  "amount": 1000,                // Required - amount in cents as int64 (min: 100 = R1.00, e.g., 1000 = ZAR 10.00)
  "ref": "string",               // Required - reference for the recipient
  "pay_and_clear": true,         // Optional - true for RTC (instant), false/omit for EFT (batch)
  "own_ref": "string",           // Required - your reference (2-50 characters)
  "account_number": "string",    // Required - recipient account number
  "branch_code": "string",       // Required - recipient bank branch code
  "name": "string"               // Required - recipient name
}

Required Fields

  • account_id - UUID of the account making the transfer
  • clientTxId - Client-side transaction ID (UUID) to prevent duplicate transactions. The clientTxId provides idempotency. The cache duration is environment-specific.
  • amount - Amount in cents as int64 (e.g., 1000 = ZAR 10.00). Minimum 100 (R1.00)
  • ref - Payment reference for the recipient
  • pay_and_clear - Payment type: true for RTC (instant clearing), false for EFT (batch processing)
  • own_ref - Your internal reference (2-50 characters)
  • account_number - Recipient's bank account number
  • branch_code - Recipient's bank branch code
  • name - Recipient's name as it appears on their account

Response

{
  "tx_id": "string",    // UUID of the created transaction
  "amount": "string"    // Amount as string
}

Possible Errors

  • 400 Bad Request: Invalid request data or insufficient funds
  • 401 Unauthorized: Authentication failed
  • 409 Conflict: Duplicate transaction (same clientTxId used within cache duration)
  • 500 Internal Server Error: Server-side error occurred

Notes

  • RTC vs EFT: Set pay_and_clear: true for instant transfers (RTC) or pay_and_clear: false for batch processing (EFT)
  • Amount format: The amount field is int64 in cents (request), but returns as string (response)
  • Reference validation: Ensure own_ref is 2-50 characters
  • Idempotency: The clientTxId provides idempotency. The cache duration is environment-specific.