No momento, esta página não está disponível em português
Classic-integration icon

Cancel

Cancel the authorisation on an uncaptured payment.

Cancel in Customer Area

You can also cancel payments in your Customer Area. For more information, refer to Manage payments.

For some payment methods, the payment is completed in two steps:

  1. Authorisation – The payment details of the shopper are verified, and the funds are reserved.
  2. Capture –  The reserved funds are transferred from the shopper to your account. 

If you have authorised a payment but do not want to capture it, for example because an item is out of stock, you need to make a /cancel request to release the funds back to the shopper. If the payment has already been captured, you need to refund it instead.

If you want to cancel a payment but are not sure whether it has been captured, use the /cancelOrRefund endpoint instead.

In your call to the /cancel endpoint, you need to specify the pspReference of the original payment. If you don't have this reference, for example because of a timeout error, you can use our technical cancel functionality.

Cancel a payment

Make a POST request to the /cancel endpoint, specifying: 

  • merchantAccount: The name of your merchant account that is used to process the payment.
  • originalReference: The pspReference of the original payment request. This is included in the response to your payment request, and in the AUTHORISATION webhook.
  • reference: Optionally, you can specify your own reference for this /cancel request.
{
    "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
    "originalReference" : "8313547924770610",
    "reference" : "YOUR_MODIFICATION_REFERENCE"
}

You will receive a /cancel response containing: 

  • response: [cancel-received]
  • pspReference: The PSP reference associated with this /cancel request. This is different from the PSP reference associated with the original payment request. 
{
    "pspReference" : "8412534564722331",
    "response" : "[cancel-received]"
}

CANCELLATION webhook

You receive the outcome of the cancel request asynchronously, in a webhook that includes :

  • eventCode: CANCELLATION.
  • originalReference: the PSP reference of the authorization.
  • pspReference: same as the pspReference in the /payments/{paymentPspReference}/cancels response.
  • success: indicates whether the cancel request was successful. Possible values:

    • true: the cancel request was successful.
    • false: the cancel request failed. The webhook event includes a reason field with a short description of the problem. Review the reason, fix the issue if possible, and resubmit the cancel request.
{
   "live":"false",
   "notificationItems":[
      {
         "NotificationRequestItem":{
            "amount":{
               "currency":"EUR",
               "value":500
            },
            "eventCode":"CANCELLATION",
            "eventDate":"2021-03-05T09:08:05+01:00",
            "merchantAccountCode":"YOUR_MERCHANT_ACCOUNT",
            "originalReference":"XB7XNCQ8HXSKGK82",
            "paymentMethod":"mc",
            "pspReference":"JDD6LKT8MBLZNN84",
            "reason":"",
            "success":"true"
         }
      }
   ]
}

For more information about the included fields, see the CANCELLATION webhook reference.

Technical cancel

The /technicalCancel endpoint allows you to cancel a payment by using the reference that you specified in the original payment request. Technical cancel is only valid for 24 hours after authorisation.

Only use technical cancel if:

  1. You don't have the pspReference of the original payment available, for example because of a timeout error.
  2. You are using unique references for payment requests.

In your call to the /technicalCancel endpoint, specify:

  • merchantAccount: The name of your merchant account that is used to process the payment.
  • originalMerchantReference: Your reference from the original payment request.
  • reference: Optionally, you can specify your own reference for this /technicalCancel request.
{
  "merchantAccount": "YOUR_MERCHANT_ACCOUNT",
  "originalMerchantReference": "YOUR_ORIGINAL_REFERENCE",
  "reference": "YOUR_MODIFICATION_REFERENCE"
}

You will receive a /technicalCancel response containing: 

  • pspReference: The PSP reference associated with this /technicalCancel request. Note that this is different from the PSP reference associated with the original payment request.  
{
   "pspReference":"8515208516304269",
   "response":"[technical-cancel-received]"
}

TECHNICAL CANCEL webhook

Once we have processed your cancel request, we send you a webhook event with:

  • eventCodeTECHNICAL_CANCEL
  • pspReference: Same as the pspReference in the /technicalCancel response. 
  • success: Indicates whether the cancel request was successful. 
{
   "live":"false",
   "notificationItems":[
      {
         "NotificationRequestItem":{
            "additionalData":{
               "paymentMethodVariant":"visa"
            },
            "amount":{
               "currency":"EUR",
               "value":5000
            },
            "eventCode":"TECHNICAL_CANCEL",
            "eventDate":"2018-07-18T22:35:14+02:00",
            "merchantAccountCode":"YOUR_MERCHANT_ACCOUNT",
            "merchantReference":"YOUR_ORIGINAL_REFERENCE",
            "originalReference":"8313547924770610",
            "paymentMethod":"visa",
            "pspReference":"8515208516304269",
            "reason":"",
            "success":"true"
         }
      }
   ]
}

For more information about the included fields, see the TECHNICAL_CANCEL webhook reference.

See also