Cancel or refund a payment

post/cancelOrRefund

Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).

Do not use this endpoint for payments that involve:

Instead, check if the payment has been captured and make a corresponding /refund or /cancel call.

For more information, refer to Cancel or refund.

This endpoint is part of our classic API integration. If using a newer integration, use the /payments/{paymentPspReference}/reversals endpoint under Checkout API instead.

Endpoint destination URL
https://pal-test.adyen.com/pal/servlet/Payment/v51/cancelOrRefund
Click to copy

Request Parameters

additionalDataobject

This field contains additional data, which may be required for a particular modification request.

The additionalData object consists of entries, each of which includes the key and value.

merchantAccountstringRequired

The merchant account that is used to process the payment.

mpiDataobject

Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).

originalMerchantReferencestring

The original merchant reference to cancel.

originalReferencestringRequired

The original pspReference of the payment to modify. This reference is returned in:

  • authorisation response
  • authorisation notification
referencestring

Your reference for the payment modification. This reference is visible in Customer Area and in reports. Maximum length: 80 characters.

tenderReferencestring

The transaction reference provided by the PED. For point-of-sale integrations only.

uniqueTerminalIdstring

Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.

Response parameters

After submitting a call, you receive a response message to inform you that your request was received and processed.

Depending on the HTTP status code of the response message, it is helpful to build some logic to handle any errors that a request or the system may return.

HTTP Responses

  • 200 - OK

    The request has succeeded.

    Show moreShow less
  • 400 - Bad Request

    A problem reading or understanding the request.

    Show moreShow less
  • 401 - Unauthorized

    Authentication required.

    Show moreShow less
  • 403 - Forbidden

    Insufficient permissions to process the request.

    Show moreShow less
  • 422 - Unprocessable Entity

    A request validation error.

    Show moreShow less
  • 500 - Internal Server Error

    The server could not process the request.

    Show moreShow less