---
title: "CreateRefund"
method: POST
path: "/v1/{location_id}/refunds"
tags: ["V1Transactions"]
---

# CreateRefund

`POST /v1/{location_id}/refunds`

Issues a refund for a previously processed payment. You must issue
a refund within 60 days of the associated payment.

You cannot issue a partial refund for a split tender payment. You must
instead issue a full or partial refund for a particular tender, by
providing the applicable tender id to the V1CreateRefund endpoint.
Issuing a full refund for a split tender payment refunds all tenders
associated with the payment.

Issuing a refund for a card payment is not reversible. For development
purposes, you can create fake cash payments in Square Point of Sale and
refund them.

## Path parameters

- `location_id` string, required

## Request body

- V1CreateRefundRequest — V1CreateRefundRequest
  - `payment_id` string, required — The ID of the payment to refund. If you are creating a `PARTIAL` refund for a split tender payment, instead provide the id of the particular tender you want to refund.
  - `reason` string, required — The reason for the refund.
  - `refunded_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `request_idempotence_key` string — An optional key to ensure idempotence if you issue the same PARTIAL refund request more than once.
  - `type` string, required — The type of refund (FULL or PARTIAL).

## Response `200`

Success

- V1Refund — V1Refund
  - `created_at` string — The time when the merchant initiated the refund for Square to process, in ISO 8601 format.
  - `is_exchange` boolean — Indicates whether or not the refund is associated with an exchange. If is_exchange is true, the refund reflects the value of goods returned in the exchange not the total money refunded.
  - `merchant_id` string
  - `payment_id` string — A Square-issued ID associated with the refund. For single-tender refunds, payment_id is the ID of the original payment ID. For split-tender refunds, payment_id is the ID of the original tender. For exchange-based refunds (is_exchange == true), payment_id is the ID of the original payment ID even if the payment includes other tenders.
  - `processed_at` string — The time when Square processed the refund on behalf of the merchant, in ISO 8601 format.
  - `reason` string — The merchant-specified reason for the refund.
  - `refunded_additive_tax` V1PaymentTax[] — All of the additive taxes associated with the refund.
    - `applied_money` V1Money
      - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
      - `currency_code` string
    - `errors` Error[] — Any errors that occurred 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.
    - `fee_id` string — The ID of the tax, if available. Taxes applied in older versions of Square Register might not have an ID.
    - `inclusion_type` string — Whether the tax is an ADDITIVE tax or an INCLUSIVE tax.
    - `name` string — The merchant-defined name of the tax.
    - `rate` string — The rate of the tax, as a string representation of a decimal number. A value of 0.07 corresponds to a rate of 7%.
  - `refunded_additive_tax_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `refunded_discount_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `refunded_inclusive_tax` V1PaymentTax[] — All of the inclusive taxes associated with the refund.
    - `applied_money` V1Money
      - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
      - `currency_code` string
    - `errors` Error[] — Any errors that occurred 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.
    - `fee_id` string — The ID of the tax, if available. Taxes applied in older versions of Square Register might not have an ID.
    - `inclusion_type` string — Whether the tax is an ADDITIVE tax or an INCLUSIVE tax.
    - `name` string — The merchant-defined name of the tax.
    - `rate` string — The rate of the tax, as a string representation of a decimal number. A value of 0.07 corresponds to a rate of 7%.
  - `refunded_inclusive_tax_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `refunded_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `refunded_processing_fee_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `refunded_surcharge_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `refunded_surcharges` V1PaymentSurcharge[] — A list of all surcharges associated with the refund.
    - `amount_money` V1Money
      - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
      - `currency_code` string
    - `applied_money` V1Money
      - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
      - `currency_code` string
    - `name` string — The name of the surcharge.
    - `rate` string — The amount of the surcharge as a percentage. The percentage is provided as a string representing the decimal equivalent of the percentage. For example, "0.7" corresponds to a 7% surcharge. Exactly one of rate or amount_money should be set.
    - `surcharge_id` string — A Square-issued unique identifier associated with the surcharge.
    - `taxable` boolean — Indicates whether the surcharge is taxable.
    - `taxes` V1PaymentTax[] — The list of taxes that should be applied to the surcharge.
      - `applied_money` V1Money
        - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
        - `currency_code` string
      - `errors` Error[] — Any errors that occurred 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.
      - `fee_id` string — The ID of the tax, if available. Taxes applied in older versions of Square Register might not have an ID.
      - `inclusion_type` string — Whether the tax is an ADDITIVE tax or an INCLUSIVE tax.
      - `name` string — The merchant-defined name of the tax.
      - `rate` string — The rate of the tax, as a string representation of a decimal number. A value of 0.07 corresponds to a rate of 7%.
    - `type` string — Indicates the source of the surcharge. For example, if it was applied as an automatic gratuity for a large group.
  - `refunded_tax_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `refunded_tip_money` V1Money
    - `amount` integer — Amount in the lowest denominated value of this Currency. E.g. in USD these are cents, in JPY they are Yen (which do not have a 'cent' concept).
    - `currency_code` string
  - `type` string — The type of refund

---

[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/versions/8d95e3639487/schema)
