Are you looking for test card numbers?

Would you like to contact support?

Point-of-sale icon

Delayed capture

How to use a delay before for in-store payments are captured automatically.

By default, point-of-sale payments are automatically captured immediately. But instead, you may want to delay the capture. This reserves the funds on the shopper's card, and gives you a delay before the payment is captured automatically. During this delay, you can cancel the authorisation when, for example:

  • A shopper changes their mind soon after purchase.
  • Store staff realize they made a mistake after a payment is Approved.
  • The shopper needs to provide a signature and store staff need some time to verify it.

Alipay and WeChat Pay do not support delayed captures, and payments are captured immediately.

Before you begin

Before using a capture delay:

  1. Set up webhook notifications. The result of a capture or cancel request is provided asynchronously. We inform you whether this is successful with a webhook notification.
  2. Generate an API key. To cancel authorisations from a cash register, you need to have an API key.

    If you are using cloud-based communications, you can use the existing API key that you use for Terminal API calls.

Enable delayed capture

To set up a capture delay:

  1. Log in to your Customer Area.
  2. Switch to your merchant account.
  3. Go to Account > Settings.
  4. Select a POS Capture Delay of minutes, hours, or days before in-store payments are automatically captured.

    We recommend selecting a delay of 2 hours.

  5. Select Submit.

That's it! Payment requests made with your merchant account will now result in an automatic authorisation after the delay you defined.

If you do not want to capture a payment, you need to cancel the authorisation for this payment.

If you no longer want to use delayed capture, select immediate as the POS Capture Delay.

Cancel an authorisation

When using a capture delay, you can cancel an authorisation either:

Cancel from cash register

To cancel an authorisation from a cash register, make a JSON request specifying the pspReference of the authorisation you want to cancel:

  1. Make a POST request to the /cancel endpoint, specifying:
    • The request header with:
      Parameter Required Value or description
      content-type -white_check_mark- application/json
      x-api-key -white_check_mark- Your API key.
    • The request body with:
      Parameter Required Description
      originalReference -white_check_mark- The pspReference of the authorisation being cancelled.
      You received this as part of the transactionID field in the response to your payment request. See Transaction identifier.
      merchantAccount -white_check_mark- The name of your merchant account that is used to process the payment.
    The example below shows how you would cancel an authorisation that has the pspReference 981517998282382C.
    curl \
    -H 'x-api-key: YOUR_API_KEY' \
    -H 'content-type: application/json' \
    -d '{
      "merchantAccount": "YOUR_MERCHANT_ACCOUNT",
      "originalReference": "981517998282382C"
  2. In the /cancel response, note the following: 
    • pspReference: Our unique identifier for this cancel request. This is different to the pspReference of the authorisation.
    • response: [cancel-received]. Your cancel request will be processed asynchronously. You will receive a CANCELLATION notification with the result.
  3. When you receive the CANCELLATION notification, note the following:
    • success: Indicates whether the cancel request was successful. Possible values:
      • true: The cancel request was successful.
      • false: The cancel request failed. The notification includes a reason field with a short description of the problem. Review the reason, fix the issue if possible, and resubmit the cancel request.

Cancel from Customer Area

If you are not cancelling authorisations often, it may be more convenient to do so in your Customer Area.

Cancel requests can be made by the Merchant admin user, or any user with the Merchant manage payments role. See User roles.

To cancel an authorised payment in your Customer Area:

  1. Go to Transactions > Payments, and click on the payment that you want to cancel.
    This opens the Payment Details screen.
  2. In the Submit Cancel Request section, select Send Cancel.

To learn how to cancel a transaction in your Customer Area, you can also watch a video here:

Failed capture

Although rare, a capture can fail after we have sent it for processing to the card scheme or third-party processor.
When a capture fails, you receive a notification webhook with eventCode: CAPTURE_FAILED.

Most of the time Adyen can fix the issue, so that you will eventually receive the funds. Sometimes, however, you need to take action yourself. To learn why a capture can fail and what, if anything, you need to do in each case, refer to Failed captures and refunds.

To learn how to test failed captures, refer to Testing failed captures.

You can find an overview of failed captures in your Payment accounting report.

See also