Capture Payment
Captures an authorised payment, settling the funds.
This endpoint is only applicable for payments created with capture_method: manual. The payment must be in the succeeded status (authorised) and the authorisation must not have expired.
You can perform a partial capture by specifying an amount less than the remaining authorised amount. Omitting the amount captures the full remaining authorised amount.
Authorizations
Authentication using Bearer tokens. Include your API key in the Authorization header.
Key Types:
- Test Keys:
sk_test_*for development and testing - Live Keys:
sk_*for production environments - Public Keys:
pk_test_*orpk_*for client-side operations
📩 Need access? Contact Support to request your API keys.
Usage:
Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dcHeaders
A unique key to prevent duplicate operations. Use the same key for retries to ensure idempotent behavior.
Best Practices:
- Use UUIDs or other cryptographically unique identifiers
- Maintain keys for at least 24 hours for retry scenarios
- Use different keys for different operations
- Monitor
Idempotent-Replayedheader for cache hits
1 - 255^[a-zA-Z0-9-]+$Path Parameters
The unique identifier for the payment.
Body
Request body for capturing an authorised payment. All fields are optional.
Omitting the amount field will capture the full remaining authorised amount.
The amount to capture, in the smallest currency unit (e.g. cents). Must be less than or equal to the remaining authorised amount. Omit to capture the full remaining authorised amount.
50000
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"
}Response
Payment captured successfully
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"

