---
title: "Cancel an outbound payment"
method: POST
path: "/outbound_payments/{outbound_payment_id}/actions/cancel"
tags: ["Outbound Payment"]
---

# Cancel an outbound payment

`POST /outbound_payments/{outbound_payment_id}/actions/cancel`

## Request

- Base URL: `https://api.gocardless.com`
- URL: `https://api.gocardless.com/outbound_payments/{outbound_payment_id}/actions/cancel`
- Auth: HTTP bearer

Cancels an outbound payment. Only outbound payments with either `verifying`, `pending_approval`, or `scheduled` status can be cancelled.
Once an outbound payment is `executing`, the money moving process has begun and cannot be reversed.

## Path parameters

- `outbound_payment_id` string, required

## Headers

- `GoCardless-Version` string, required

## Request body

- object
  - `outbound_payments` object
    - `metadata` OutboundPaymentMetadata, nullable: Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.

## Response `200`

Action completed successfully

- OutboundPaymentSingleResourceResponse
  - `outbound_payments` OutboundPayment: Outbound Payments represent payments sent from [creditors](https://docs.gocardless.com/docs/api-reference/creditor). GoCardless will notify you via a [webhook](https://docs.gocardless.com/docs/api-reference/webhooks) when the status of the outbound payment [changes](https://docs.gocardless.com/docs/api-reference/events/outbound-payment). #### Rate limiting Two rate limits apply to the Outbound Payments APIs: - All POST Outbound Payment endpoints (create, withdraw, approve, cancel and etc.) share a single rate-limit group of 300 requests per minute. As initiating a payment typically requires two API calls (one to create the payment and one to approve it), this allows you to add approximately 150 outbound payments per minute. - All remaining Outbound Payment endpoints are limited to 500 requests per minute.
    - `id` string, required: Unique identifier of the outbound payment.
    - `created_at` string, date-time: Fixed [timestamp](https://docs.gocardless.com/docs/api-reference/data-conventions#dates-and-times), recording when the outbound payment was created.
    - `status` 'verifying' | 'pending_approval' | 'scheduled' | 'executing' | 'executed' | 'cancelled' | 'failed': One of: - `verifying`: The payment has been [created](https://docs.gocardless.com/docs/api-reference/outbound-payment#create-an-outbound-payment) and the verification process has begun. - `pending_approval`: The payment is awaiting [approval](https://docs.gocardless.com/docs/api-reference/outbound-payment#approve-an-outbound-payment). - `scheduled`: The payment has passed verification & [approval](https://docs.gocardless.com/docs/api-reference/outbound-payment#approve-an-outbound-payment), but processing has not yet begun. - `executing`: The execution date has arrived and the payment has been placed in queue for processing. - `executed`: The payment has been accepted by the scheme and is now on its way to the recipient. - `cancelled`: The payment has been [cancelled](https://docs.gocardless.com/docs/api-reference/outbound-payment#cancel-an-outbound-payment) or was not [approved](https://docs.gocardless.com/docs/api-reference/outbound-payment#approve-an-outbound-payment) on time. - `failed`: The payment was not sent, usually due to an error while or after executing.
    - `amount` integer: Amount, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR).
    - `scheme` 'faster_payments': Bank payment scheme to process the outbound payment. Currently only "faster_payments" (GBP) is supported.
    - `currency` 'GBP': [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) currency. Currently only "GBP" is supported.
    - `execution_date` string, date: A future date on which the outbound payment should be sent. If not specified, the payment will be sent as soon as possible.
    - `description` string: A human-readable description of the outbound payment
    - `reference` string: An optional reference that will appear on your customer's bank statement. The character limit for this reference is dependent on the scheme.<br /> <strong>Faster Payments</strong> - 18 characters, including: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 &-./"<br />
    - `is_withdrawal` boolean: Indicates whether the outbound payment is a withdrawal to your verified business bank account.
    - `links` OutboundPaymentLinks
      - `creditor` string: ID of the creditor who sends the outbound payment.
      - `customer` string: ID of the [customer](https://docs.gocardless.com/docs/api-reference/customer) that receives this outbound payment
      - `recipient_bank_account` string: ID of the customer bank account which receives the outbound payment.
      - `outbound_payment_import` string: ID of the outbound payment import that created this outbound payment.
    - `verifications` OutboundPaymentVerifications, nullable: Contains details of the verifications performed for the outbound payment
      - `recipient_bank_account_holder_verification` object, nullable: Checks if the recipient owns the provided bank account
        - `type` 'confirmation_of_payee': Type of the verification that has been performed eg. [Confirmation of Payee](https://www.wearepay.uk/what-we-do/overlay-services/confirmation-of-payee/)
        - `result` 'full_match' | 'partial_match' | 'no_match' | 'unable_to_match': Result of the verification, could be one of - `full_match`: The verification has confirmed that the account name exactly matches the details provided. - `partial_match`: The verification has confirmed that the account name is similar but does not match to the details provided. - `no_match`: The verification concludes the provided name does not match the account details. - `unable_to_match`: The verification could not be performed due to recipient bank issues or technical issues
        - `actual_account_name` string, nullable: The actual account name returned by the recipient's bank, populated only in the case of a partial match.
    - `metadata` OutboundPaymentMetadata, nullable: Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters.

## Other responses

- `400`: Bad Request
- `401`: Unauthorised
- `404`: Not found
- `422`: Validation Error
- `500`: Internal Error

---

[API](https://skmtc.dev/gocardless/apis/gocardless-api.md) - [All operations](https://skmtc.dev/gocardless/apis/gocardless-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gocardless/apis/gocardless-api/revisions/4dd3dae45364?raw)
