---
title: "CreateTerminalRefund"
method: POST
path: "/v2/terminals/refunds"
tags: ["Terminal"]
---

# CreateTerminalRefund

`POST /v2/terminals/refunds`

Creates a request to refund an Interac payment completed on a Square Terminal.

## Request body

- CreateTerminalRefundRequest
  - `idempotency_key` string, required — A unique string that identifies this `CreateRefund` request. Keys can be any valid string but must be unique for every `CreateRefund` request. See [Idempotency keys](https://developer.squareup.com/docs/basics/api101/idempotency) for more information.
  - `refund` TerminalRefund
    - `amount_money` Money, required — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `app_id` string — The ID of the application that created the refund.
    - `cancel_reason` string — Present if the status is `CANCELED`.
    - `created_at` string — The time when the `TerminalRefund` was created, as an RFC 3339 timestamp.
    - `deadline_duration` string — The RFC 3339 duration, after which the refund is automatically canceled. A `TerminalRefund` that is `PENDING` is automatically `CANCELED` and has a cancellation reason of `TIMED_OUT`. Default: 5 minutes from creation. Maximum: 5 minutes
    - `device_id` string — The unique ID of the device intended for this `TerminalRefund`. The Id can be retrieved from /v2/devices api.
    - `id` string — A unique ID for this `TerminalRefund`.
    - `location_id` string — The location of the device where the `TerminalRefund` was directed.
    - `order_id` string — The reference to the Square order ID for the payment identified by the `payment_id`.
    - `payment_id` string, required — The unique ID of the payment being refunded.
    - `reason` string — A description of the reason for the refund. Note: maximum 192 characters
    - `refund_id` string — The reference to the payment refund created by completing this `TerminalRefund`.
    - `status` string — The status of the `TerminalRefund`. Options: `PENDING`, `IN_PROGRESS`, `CANCELED`, or `COMPLETED`.
    - `updated_at` string — The time when the `TerminalRefund` was last updated, as an RFC 3339 timestamp.

## Response `200`

Success

- CreateTerminalRefundResponse
  - `errors` Error[] — Information about errors encountered during the request.
    - `category` string, required — The high-level category for the error.
    - `code` string, required — The specific code of the error.
    - `detail` string — A human-readable description of the error for debugging purposes.
    - `field` string — The name of the field provided in the original request (if any) that the error pertains to.
  - `refund` TerminalRefund
    - `amount_money` Money, required — Represents an amount of money. `Money` fields can be signed or unsigned. Fields that do not explicitly define whether they are signed or unsigned are considered unsigned and can only hold positive amounts. For signed fields, the sign of the value indicates the purpose of the money transfer. See [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts) for more information.
      - `amount` integer — The amount of money, in the smallest denomination of the currency indicated by `currency`. For example, when `currency` is `USD`, `amount` is in cents. Monetary amounts can be positive or negative. See the specific field description to determine the meaning of the sign in a particular case.
      - `currency` string — The type of currency, in __ISO 4217 format__. For example, the currency code for US dollars is `USD`. See [Currency](https://developer.squareup.com/reference/square_2021-08-18/enums/Currency) for possible values.
    - `app_id` string — The ID of the application that created the refund.
    - `cancel_reason` string — Present if the status is `CANCELED`.
    - `created_at` string — The time when the `TerminalRefund` was created, as an RFC 3339 timestamp.
    - `deadline_duration` string — The RFC 3339 duration, after which the refund is automatically canceled. A `TerminalRefund` that is `PENDING` is automatically `CANCELED` and has a cancellation reason of `TIMED_OUT`. Default: 5 minutes from creation. Maximum: 5 minutes
    - `device_id` string — The unique ID of the device intended for this `TerminalRefund`. The Id can be retrieved from /v2/devices api.
    - `id` string — A unique ID for this `TerminalRefund`.
    - `location_id` string — The location of the device where the `TerminalRefund` was directed.
    - `order_id` string — The reference to the Square order ID for the payment identified by the `payment_id`.
    - `payment_id` string, required — The unique ID of the payment being refunded.
    - `reason` string — A description of the reason for the refund. Note: maximum 192 characters
    - `refund_id` string — The reference to the payment refund created by completing this `TerminalRefund`.
    - `status` string — The status of the `TerminalRefund`. Options: `PENDING`, `IN_PROGRESS`, `CANCELED`, or `COMPLETED`.
    - `updated_at` string — The time when the `TerminalRefund` was last updated, as an RFC 3339 timestamp.

---

[API](https://skmtc.net/square/apis/squareup.md) · [All operations](https://skmtc.net/square/apis/squareup/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/square/squareup/revisions/8d95e3639487/schema)
