Skip to main content

Capture the Order

An order can be captured fully or partially. The amount parameter in the capture request must be equal to the order's actual_amount value for a full capture.

Note

Multiple captures are not allowed.

The Correct Sequence of Steps for the Capture Operation

The capture operation is used to charge an amount that was previously held on a card.

  1. Hold the Amount:
    • This must be done using a pre-payment request with the parameter preauth = Y.
    • See pre-payment request for details.
  2. Two-Stage Payment Process:
    • Stage 1: The payment operation holds the amount.
    • Stage 2: The capture process finalizes the transaction.
Important

The pre-payment and capture operations are only available for card payments. Other payment methods follow a one-stage flow where the full amount is charged automatically.

Reverse of Pre-Payment

If the capture operation has not yet been completed, then:

  • The acquiring fee is not charged for pre-payment and reverse operations.
  • An instant cancellation of the held amount occurs upon reversal.
  • Only a full reversal is allowed (partial reversals are not supported for pre-payment).

If a partial capture is performed, the remaining amount is automatically refunded to the payer’s card.

Example

If a pre-payment of 1000 was held, but only 800 needs to be captured, the remaining 200 will automatically return to the payer’s card. A separate reversal of 200 should not be processed, or the 200 will be refunded twice.

Key Rules:

  • Only one full/partial capture is allowed for pre-payment transactions.
  • For captured payments, multiple sequential partial reversals are supported.

Idempotent Capture Key

Unlike other API operations, capture requests do not require an idempotent key.

  • If a capture retry is made with the same amount, the system will return the current capture_status of the payment.

Endpoint for Order Capture

Capture the Order

POST /api/capture/order_id

This endpoint expects a POST request in JSON format with the required parameters.

A successful response will contain the capture_status parameter to indicate whether the capture was completed.

Request and Response Examples

curl -L 'https://pay.fondy.eu/api/capture/order_id' \
-H 'Content-Type: application/json' \
-d '{
"request": {
"version": "1.0.1",
"order_id": "test_12343242113",
"currency": "GEL",
"merchant_id": 1549901,
"amount": 100,
"signature": "1efcb015c89da38977ae1e734aade413b95ca900"
}
}'