Skip to main content

Authorization and Capture

How authorization reserves funds and capture moves them, including automatic, delayed, and manual capture.

A card payment happens in two steps: authorization reserves the funds, and capture moves them to your account. This page explains how the two steps work and when each one happens.

Authorization vs capture

  • Authorization reserves the funds on the shopper's payment method. It does not move money yet.

  • Capture transfers the reserved funds from the shopper's account to your account. A payment is only completed once it is captured.

Types of capture

By default, payments are captured automatically without a delay, immediately after authorization. For payment methods that support separate capture, you can change this:

  • Automatic capture. Capture happens automatically without a delay. This is the default.

  • Delayed automatic capture. You set an amount of time between authorization and capture. The capture happens automatically after that delay. The delay gives you time to cancel the authorization, for example when an item turns out to be out of stock.

  • Manual capture. Capture does not happen automatically. After a payment is authorized, you must send a capture request. This lets you settle funds on fulfillment, for example when an order ships.

Separate capture is only available for some payment methods.

Manual capture request

When manual capture is enabled, capture the payment after authorization:

  1. From the payment response or the AUTHORISATION webhook, get the pspReference of the authorization.

  2. Send a POST request to /payments/{paymentPspReference}/captures, where paymentPspReference is that pspReference.

  3. The response returns a status of received. The request is processed asynchronously, and you get the outcome in a webhook.

POST /payments/{paymentPspReference}/captures
X-API-Key: YOUR_API_KEY

{
  "merchantAccount": "YOUR_MERCHANT_ACCOUNT",
  "amount": { "currency": "EUR", "value": 2500 },
  "reference": "CAPTURE-12345"
}

The amount.value is in minor units and must be the same as, or less than, the authorized amount. The amount.currency must match the currency of the payment you are capturing.

Partial captures

You can capture less than the authorized amount when the payment method supports it:

  • Single partial capture. Any unclaimed amount left over after a partial capture is automatically cancelled.

  • Multiple partial captures. The unclaimed amount is not automatically cancelled, so you can capture the rest later. This suits cases like shipping items separately. Multiple partial capture is disabled by default, so contact Valpay Support to enable it.

The CAPTURE webhook

Manual capture is asynchronous, so the authoritative outcome arrives in a webhook:

  • A CAPTURE webhook with success: true means the request was valid and submitted to the bank. In most cases the funds will be transferred to your account.

  • A CAPTURE webhook with success: false means the request failed, and includes a reason field. Fix the issue and resubmit.

  • In rare cases a CAPTURE_FAILED webhook arrives after a successful CAPTURE, meaning the card scheme rejected the capture.

Important: a payment that is captured automatically does not trigger a separate CAPTURE webhook. Whether you receive CAPTURE webhooks depends on your capture configuration. If you use delayed automatic capture and want CAPTURE webhooks, enable the CAPTURE and CAPTURE_FAILED event codes and turn on Delayed Capture in your webhook settings. See Missing CAPTURE Webhooks if you expected a CAPTURE webhook and did not receive one.

Did this answer your question?