---
title: "Cancel"
description: "Use payment/cancel to void an authorized transaction that has not been captured yet, releasing the amount reserved on the buyer's payment instrument."
url: "https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/payments-management/cancel/"
language: "en"
---

# Cancel

An authorization reserves an amount on the buyer's payment instrument, temporarily reducing its available balance. The authorized amount can either be captured, which starts the process that leads to the merchant being credited, or released through a cancellation and made available to the buyer again, according to the timings of the Issuer or of the payment method provider.

A cancel lets you void an authorized transaction.

A cancel can be requested separately from the authorization only if the ShopLogin is configured with separate authorization and capture. If the configuration uses unified capture, the amount is captured automatically after a successful authorization. How to configure this separation is explained on this page: [getting_started/#moto](https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/introduction/getting-started/#moto).

More details on the state and events of a transaction are available on the [Transaction state](https://docs.fabrick.com/en/payment-hub-and-orchestra/ecommerce/payments-management/transaction-state/) page.

## POST payment/cancel

**Request**

```http
POST /api/v1/payment/cancel
Host (sandbox): sandbox.gestpay.net
Host (production): ecomms2s.sella.it
Authorization: apikey ****************
```

```json
{
  "shopLogin":"GESPAY12345",
  "bankTransactionID":"",
  "shopTransactionID":"",
  "paymentID":"1234567891234",
  "cancelReason": "Potential Fraud"
}
```

**Response**

```json
{
  "error": {
    "code": "0",
    "description": "request correctly processed"
  },
  "payload": {
    "transactionType": "cancel",
    "transactionResult": "OK",
    "bankTransactionID": "123",
    "shopTransactionID": "OrderID001",
    "paymentID": "1234567891234"
  }
}
```

---

## Error scenarios

### Error code 2017

- If you request to cancel a transaction that has already been captured or cancelled, you get the following:

**Response**

```json
{
  "error": {
    "code": "2017",
    "description": "Transazione non cancellabile"
  },
  "payload": {}
}
```

### Error code 2011

- If you request to cancel a transaction that does not exist, you get the following:

**Response**

```json
{
  "error": {
    "code": "2011",
    "description": "Transaction not found"
  },
  "payload": {}
}
```

### Error code 1144

- If you request to cancel a transaction without specifying the transaction identifier (paymentID), you get the following:

**Response**

```json
{
  "error": {
    "code": "1144",
    "description": "Campo obbligatorio non valorizzato"
  },
  "payload": {}
}
```

---

## Support

**Fabrick**

- **Status page**: [https://status.fabrick.com/](https://status.fabrick.com/)
- **Support**: [https://landing.fabrick.com/fabrick-dashboard-support](https://landing.fabrick.com/fabrick-dashboard-support)
