Payment object
Payment object is used to represent a payment.
Contains detailed information about the payment.
Unique identifier for a payment
"p_xyz789abc123def456"
Reference ID used for reconciling the payment.
"67612dd5d8efe547cb887d0d"
The current status of the payment:
draft: The payment has been created but not yet started.initiating: The payment is being initiated and awaiting further steps.pending_action: The payment requires an action from the customer or external system before it can proceed.processing: The payment is actively being processed.succeeded: The payment was completed successfully.failed: The payment is failed.cancelled: The payment was cancelled before completion.expired: The payment has expired and can no longer be completed.
draft, initiating, pending_action, processing, succeeded, failed, cancelled, expired "succeeded"
The amount to be charged in the smallest currency unit. For example, 20.00 ZAR is represented as 2000 cents. Learn more about minor units.
1000
The ISO 4217 currency code for the payment.
"ZAR"
Controls how the payment is captured after authorisation:
automatic: The payment is captured immediately upon successful authorisation (default). This is equivalent to a standard sale transaction.manual: The payment is authorised only. Funds are reserved on the customer's payment method, but not yet captured. The merchant must explicitly capture or void the payment using the capture or void endpoints.
automatic, manual "manual"
The intent of the payment as determined by the platform at creation time:
payment: a monetary payment or authorisation was intended. Funds were reserved or settled.payment_method_verification: the payment method was verified without reserving or moving funds. Set whenamount: 0on a supported session type (one_timewithsave_payment_method: always, orfirst_in_series).
payment, payment_method_verification "payment"
The total amount authorised on the customer's payment method, in the smallest currency unit (e.g. cents).
Set when an authorisation succeeds for a payment method that supports authorisation. For payments that authorise and settle in one flow, this reflects the amount that was authorised and immediately settled.
For manual-capture payments, this remains the original authorised total. Subsequent capture and void operations update paid_amount and voided_amount instead.
Present only when the payment method supports authorisation.
100001
The total amount that has been settled for this payment, in the smallest currency unit (e.g. cents). For payments that settle immediately, this typically matches the full payment amount once the payment succeeds. For manual-capture payments, this reflects the portion captured so far, increases with each capture, and does not decrease when any remaining amount is voided.
100001
The total amount released from the original authorisation by successful void operations, in the smallest currency unit (e.g. cents). Incremented each time authorised funds are released. For manual-capture payments, this reflects the total amount no longer available to capture because it has been voided. Present only when the payment method supports authorisation.
50001
The country where the payment was initiated, represented in ISO 3166-1 alpha-2 format.
"ZA"
Details of the payment method used for the payment.
- Card
- Capitec pay
- Instant EFT
- Zapper
- MTN momo
External reference for reconciliation or tracking purposes. Must be unique within your merchant account.
255^[a-zA-Z0-9_-]+$"INV-2024-001"
Details of the last error that occurred during a payment attempt.
Indicates whether the payment is in live or test mode:
test: Used for testing and development. Payments are simulated, and no real transactions are processed.live: Used in production to process real payments. Real credit cards and accounts are used, and actual transactions occur.
live, test Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. NEW Limitations:
- Maximum 20 keys
- Key names must be strings (max 40 characters)
- Values must be strings (max 500 characters)
{
"customer_id": "cust_123456",
"order_id": "ord_789012"
}ISO 8601 timestamp when the resource was created
"2025-06-16T10:30:00Z"
ISO 8601 timestamp when the resource was last updated
"2025-06-16T10:30:00Z"

