---
title: "Cancel transfer"
method: POST
path: "/payment-methods/v2/transfers/cancel"
tags: ["Payment methods"]
---

# Cancel transfer

`POST /payment-methods/v2/transfers/cancel`

Cancel an existing transfer operation. If you don't provide the `amount`, the platform cancels the total original amount. You can also provide the `amount` to cancel a total or partial amount.

Refer to the [Payment methods](https://developers.pismo.io/pismo-docs/docs/payment-methods) guide for additional information.

This endpoint generates a [Platform authorization created](https://developers.pismo.io/events/docs/platform-authorization-platform-authorization-1) event.

**Note:** This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.

## Request body

- PaymentsCancelRequest — Request payment cancellation.
  - `tracking_id` string, required — Customer created tracking ID. Must consist of alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and colons (:), with a length from 1 to 128. The Pismo platform uses this field to implement idempotency and prevent duplicates.
  - `original_tracking_id` string, required — Tracking ID for the original operation.
  - `amount` number, double — Fee amount.
  - `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).

## Response `200`

Request was processed successfully, existing authorization with the corresponding `tracking_id` returned.

- TransfersCancelResponse
  - `tracking_id` string — Customer created tracking ID. Must consist of alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and colons (:), with a length from 1 to 128. The Pismo platform uses this field to implement idempotency and prevent duplicates.
  - `response_code` string — Network two-digit response code. For example: 00 = approve, 51 = insufficient funds, 57 = card not active, 96 = system failure, etc. For more information, see [Validation codes for authorization events](https://developers.pismo.io/pismo-docs/docs/validation-codes-for-authorization-events). If `approve` = `false`, you can use this value to respond to the network.
  - `denial_code` string — Authorization denial code
  - `from` PaymentsCancelResponse — Response for a cash-in or cash-out cancel operation.
    - `tracking_id` string, required — Customer created tracking ID. Must consist of alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and colons (:), with a length from 1 to 128. The Pismo platform uses this field to implement idempotency and prevent duplicates.
    - `account_id` integer — Account ID
    - `response_code` string, required — Network two-digit response code. For example: 00 = approve, 51 = insufficient funds, 57 = card not active, 96 = system failure, etc. For more information, see [Validation codes for authorization events](https://developers.pismo.io/pismo-docs/docs/validation-codes-for-authorization-events). If `approve` = `false`, you can use this value to respond to the network.
    - `denial_code` string — Authorization denial code
    - `validation_results` object[]
      - `name` string — Name of the evaluated rule.
      - `status` 'APPROVED' | 'REJECTED' | 'SKIPPED' — Identifies if the rule was approved, rejected, or skipped during the validation flow.
      - `reason` string — Status reason why the specific rule was approved, rejected, or skipped.
      - `description` string — Description of the validation result.
      - `additional_data` object — Additional data for the validation result. This varies from validation to validation, but every denied validation has the `denial_code` and `response_code` fields.
  - `to` PaymentsCancelResponse — Response for a cash-in or cash-out cancel operation.
    - `tracking_id` string, required — Customer created tracking ID. Must consist of alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and colons (:), with a length from 1 to 128. The Pismo platform uses this field to implement idempotency and prevent duplicates.
    - `account_id` integer — Account ID
    - `response_code` string, required — Network two-digit response code. For example: 00 = approve, 51 = insufficient funds, 57 = card not active, 96 = system failure, etc. For more information, see [Validation codes for authorization events](https://developers.pismo.io/pismo-docs/docs/validation-codes-for-authorization-events). If `approve` = `false`, you can use this value to respond to the network.
    - `denial_code` string — Authorization denial code
    - `validation_results` object[]
      - `name` string — Name of the evaluated rule.
      - `status` 'APPROVED' | 'REJECTED' | 'SKIPPED' — Identifies if the rule was approved, rejected, or skipped during the validation flow.
      - `reason` string — Status reason why the specific rule was approved, rejected, or skipped.
      - `description` string — Description of the validation result.
      - `additional_data` object — Additional data for the validation result. This varies from validation to validation, but every denied validation has the `denial_code` and `response_code` fields.

## Other responses

- `201` — Request was processed successfully, new authorization created.
- `400` — Bad request
- `404` — Access token is missing or invalid.
- `409` — Conflict
- `422` — Unprocessable request
- `500` — Internal server error

---

[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/revisions/935b62e16de4/schema)
