Cancel or validate a Preauthorization

<Warning icon="fa-regular fa-triangle-exclamation"> **Caution – Canceling or validating a preauthorization is irreversible** A preauthorization with the `CANCELED` or `VALIDATED` status can’t be reused. </Warning> Cancel or validate a Preauthorization This call is used to manually close the preauthorization hold period before the `ExpirationDate`, thereby releasing the preauthorized funds.  The `PaymentStatus` can be set to: - `CANCELED` when no preauthorized pay-ins have been made to capture funds. Trying to cancel a used preauthorization returns an error. - `VALIDATED` when at least one preauthorized pay-in has been made to capture funds. Trying to validate an unused preauthorization returns an error.

Authentication

AuthorizationBearer
Bearer authentication of the form `Bearer <token>`, where token is your auth token. If your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL.

Path parameters

ClientIdstringRequired
Platform's API account identifier, associated with the API key.
PreauthorizationIdstringRequired
The unique identifier of the preauthorization.

Request

This endpoint expects an object.
PaymentStatusstringRequired

Allowed values: CANCELED

The payment status of the deposit preauthorization object:

  • WAITING – The deposit preauthorization can be used: the preauthorized funds can be captured (if Status is SUCCEEDED) or the preauthorization can be canceled manually.
  • CANCELED – Value to pass to manually cancel the deposit preauthorization before use; indicates that the deposit preauthorization was canceled manually.
  • CANCEL_REQUESTED – The cancellation of the deposit preauthorization has been requested but not yet processed.
  • EXPIRED – The hold period on the preauthorized funds has ended without it being used.
  • VALIDATED – Indicates that the preauthorized funds were captured.
  • FAILED – The pay-in against the preauthorization has failed, but a retry may be possible.

Response

Success
Idstring

Max. length: 255 characters

The unique identifier of the preauthorization.

Tagstring

Max. length: 255 characters

Custom data that you can add to this object.

CreationDateinteger

Unix timestamp (UTC) of the date and time the object was created.

AuthorIdstring
The unique identifier of the user at the source of the transaction.
DebitedFundsobject
Information about the preauthorized funds.
RemainingFundsobject
Information about the remaining preauthorized funds.
AuthorizationDateinteger

Unix timestamp (UTC) of the date and time successful authorization occurred. If authorization failed, the value is null.

Statusstring

Returned values: CREATED, SUCCEEDED, FAILED

The status of the authorization.

PaymentStatusstring

Returned values: WAITING, CANCELED, EXPIRED, VALIDATED

The status of the preauthorization object:

  • WAITING – The remaining preauthorized funds can be captured by making one or several preauthorized pay-ins. Pay-ins can only be made against a preauthorization with the WAITING status.
  • CANCELED – The preauthorization was canceled manually before any preauthorized pay-ins were made, or it was canceled automatically because the authorization failed.
  • EXPIRED – The hold period on the preauthorized funds has ended without any preauthorized pay-ins taking place.
  • VALIDATED – During the hold period: Indicates that all the preauthorized funds have been captured (RemainingFunds is zero) and no more preauthorized pay-ins can be made. After the hold period: Indicates that at least one capture was made during the hold period.
ExpirationDateinteger

Unix timestamp (UTC) of the date and time the hold period ends and the preauthorized funds are released. At the expiration date, the preauthorization’s PaymentStatus changes to EXPIRED if no captures were made or VALIDATED if at least one capture was made.

PayInIdstring

The unique identifier of the pay-in.

ResultCodestring

The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.

ResultMessagestring
The explanation of the result code.
SecureModestring

Returned values: DEFAULT, FORCE, NO_CHOICE

The mode applied for the 3DS2 protocol for CB, Visa, and Mastercard. The options are:

  • DEFAULT – Requests an exemption to strong customer authentication (SCA), and thus a frictionless payment experience, if allowed by your Mangopay contract and accepted by the issuer.
  • FORCE – Requests SCA.
  • NO_CHOICE – Leaves the choice to the issuer whether to allow for a frictionless payment experience or to enforce SCA.
CardIdstring
The unique identifier of the Card object, obtained during the card registration process.
SecureModeReturnURLstring

Max. length: 255 characters

The URL to which users are automatically returned after 3DS2 if it is triggered (i.e., if the SecureModeNeeded parameter is set to true).

SecureModeRedirectURLstring

Max. length: 255 characters

The URL to which to redirect the user to proceed to 3DS2 validation.

SecureModeNeededboolean

Whether or not the SecureMode was used.

PaymentTypestring

Returned values: CARD

The payment type of the preauthorization.

ExecutionTypestring

Returned values: DIRECT

The execution type of the preauthorization.

StatementDescriptorstring

Max. length: 10 characters; only alphanumeric and spaces

Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the Customizing bank statement references article for details.

Culturestring

Returned values: One of the supported languages in the ISO 639-1 format: DE, EN, ES, FR, IT, NL, PL, PT.

The language in which the payment page is to be displayed.

SecurityInfoobject

Information regarding security and anti-fraud tools.

MultiCaptureboolean

Default value: true

Whether multiple captures are activated for the preauthorization.

BrowserInfoobject

Information about the browser used by the end user (author) to perform the payment.

IpAddressstring
The IP address of the end user initiating the transaction, in IPV4 or IPV6 format.
Billingobject

Default values: FirstName, LastName, and Address information of the Shipping object if sent, otherwise of the AuthorId (if address values present).

Information about the billing address.

Shippingobject

Default values: FirstName, LastName, and Address information of the Billing object if sent, otherwise of the AuthorId (if address values present).

Information about the shipping address.

Requested3DSVersionstring

Returned values: V1, V2_1

The 3DS protocol version to be applied to the transaction.

Applied3DSVersionstring

Returned values: V1, V2_1

The 3DS protocol version applied to the transaction.

PreferredCardNetworkstring

Allowed values: VISA, MASTERCARD, CB, MAESTRO

The card network to use, as chosen by the cardholder, in case of co-branded cards.

CardInfoobject

Information about the card used for the transaction. If the information or data is not available, null is returned.

Errors

400
Bad Request Error