---
title: "Cancel transfer funds"
method: POST
path: "/payments/v2/cancel"
tags: ["Payments"]
---

# Cancel transfer funds

`POST /payments/v2/cancel`

**Note:** Enhanced features and improvements are available in the [Payment methods](https://developers.pismo.io/pismo-docs/docs/payment-methods) API, the new application interface for non-card network authorizations. This Cancel transfer funds endpoint is still supported, but all new feature developments will be available only in the Payment methods API. For more information, contact your Pismo representative.

-----
Cancel a previously authorized transfer made with the [Transfer funds](https://developers.pismo.io/pismo-docs/reference/post-payments-v1-payments) endpoint. 
Pass one of two parameters (but not both) returned from the Transfer funds endpoint to identify the transfer to be canceled:
- The `tracking_id` (pass as `original_tracking_id`)
- The credit or debit authorization ID (pass as `authorization_id`). 

For an external operation, the acquirer response is returned in the `metadata` field.
If no processing codes are specified, the original authorization's reversal processing codes are used.

This endpoint generates an [Authorization cancelled](https://developers.pismo.io/events/docs/authorization-authorization-cancellation-event-1) event.

For additional information, see the [Cancel transfer](https://developers.pismo.io/pismo-docs/docs/cancel-transfer) guide.

## Headers

- `x-tenant` string, required
- `x-cid` string

## Request body

- CancelModel — Payload object for `v2/cancel` (cancel transfer) endpoint.
  - `authorization_id` integer — Credit or debit authorization ID (`authorization_ids.credit` or `authorization_ids.debit`) returned in the response of the original transfer from the [Transfer funds](https://developers.pismo.io/pismo-docs/reference/post-payments-v1-payments) endpoint. Either this field or the `original_tracking_id` field is **REQUIRED** to identify the original transfer that needs to be canceled with this request.
  - `tracking_id` string — Unique tracking ID of the pending cancellation. If you don't provide one, the Pismo platform generates it randomly. This field is useful for tracking and searching transaction information. This field needs to be sent to guarantee the idempotence of the request. Requests that use the same tracking_id are considered the same. If tracking_id is not received, each request is treated as a new one.
  - `original_tracking_id` string — Unique tracking ID of the original operation to be cancelled, which is returned from the [Transfer funds](https://developers.pismo.io/pismo-docs/reference/post-payments-v1-payments) endpoint as `tracking_id`. Either this field or the `authorization_id` field is **REQUIRED** to identify the original transfer that needs to be cancelled with this request.
  - `amount` number, float, required — Full or partial amount to cancel, which cannot be more than the original transaction amount. Maximum of two decimal places.
  - `cancel_fees` boolean — Indicates whether to cancel associated fees when canceling a transfer operation. When set to `true`, if a total or partial cancellation of an operation with a fee occurs, the platform automatically cancels the associated fee also. When this flag is not provided: - if a total cancellation of an operation with a fee occurs, the platform automatically cancels the fee also. - if a partial cancellation of an operation with a fee occurs, the platform does not cancel the fee.
  - `processing_code` object — This optional field identifies the processing codes to be used in the cancellation operation. Depending on the type of transaction you want to cancel, this object can contain only one subfield of string type: `credit` or `debit`. If no processing codes are specified, the platform uses the processing codes that correspond to the reversal of original authorization. Do not use a reversal processing code in this field since the endpoint processes a reversal operation, automatically gathering the reversal processing code.
    - `credit` string — Credit operation processing code.
    - `debit` string — Debit operation processing code.
  - `acquirer` AcquirerCredential
    - `credential` object — Information used to authenticate with custom credentials at the acquirer
      - `code` string — UUID key used to obtain authentication information used at the acquirer. This field will only be validated when present on the payload, and it is currently forwarded only to REDE acquirer.
  - `metadata` string — Any data object with key/value pairs. No limit on length. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).
  - `descriptor` string — This field allows you to provide an optional cancellation description. The Pismo platform passes this field to the acquirer in transactions involving calls to the acquirer.

## Response `200`

OK

- CancelResponse — Success response object for `v2/cancel`
  - `tracking_id` string, required — Provided `tracking_id` or the identifier automatically generated by the Pismo platform.
  - `authorization_datetime` string — Authorization timestamp in the UTC-0 (RFC3339) format.
  - `authorization_ids` AuthorizationIDs, required — Credit and debit authorization IDs.
    - `credit` integer — Credit authorization ID.
    - `debit` integer — Debit authorization ID.
  - `metadata` string — Any data object with key/value pairs. No limit on length. **Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).

## Other responses

- `202` — Accepted
- `208` — Already reported
- `400` — Bad request
- `404` — Not Found
- `409` — Conflict
- `500` — Internal server error
- `502` — Bad Gateway

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/versions/935b62e16de4/schema)
