You are viewing an old version of the API
Create refund
V1

Note We recommend using the Square API (V2) for all new development when possible.

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.

Required permissions PAYMENTS_WRITE

Path Parameters

Name Description
location_id
string

Required

The ID of the original payment's associated location.

Request Body

Name Description
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.

type
string

Required

TThe type of refund (FULL or PARTIAL).

reason
string

Required

The reason for the refund.

refunded_money
Money

The amount of money to refund. Required only for PARTIAL refunds.

request_idempotence_key
string

An optional key to ensure idempotence if you issue the same PARTIAL refund request more than once.

Response Fields

Name Description
type
string

The type of refund

reason
string

The merchant-specified reason for the refund.

refunded_money
Money

The amount of money refunded. This amount is always negative.

refunded_processing_fee_money
Money

The amount of processing fee money refunded. This amount is always positive.

refunded_tax_money
Money

The total amount of tax money refunded. This amount is always negative.

refunded_additive_tax_money
Money

The amount of additive tax money refunded. This amount is always negative.

refunded_additive_tax
PaymentTax [ ]

All of the additive taxes associated with the refund.

refunded_inclusive_tax_money
Money

The amount of inclusive tax money refunded. This amount is always negative.

refunded_inclusive_tax
PaymentTax [ ]

All of the inclusive taxes associated with the refund.

refunded_tip_money
Money

The amount of tip money refunded. This amount is always negative.

refunded_discount_money
Money

The amount of discount money refunded. This amount is always positive.

refunded_surcharge_money
Money

The amount of surcharge money refunded. This amount is always negative.

refunded_surcharges
PaymentSurcharge [ ]

A list of all surcharges associated with the refund.

created_at
string

The time when the merchant initiated the refund for Square to process, in ISO 8601 format.

processed_at
string

The time when Square processed the refund on behalf of the merchant, in ISO 8601 format.

payment_id
string

A Square-issued ID associated with the refund. For single-tender refunds, paymentid is the ID of the original payment ID. For split-tender refunds, paymentid is the ID of the original tender. For exchange-based refunds (isexchange == true), paymentid is the ID of the original payment ID even if the payment includes other tenders.

merchant_id
string
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.

Examples

You are viewing an old version of the API
POST /v1/{location_id}/refunds
cURL
  • cURL
curl https://connect.squareup.com/v1/{location_id}/refunds \
  -X POST \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json'

Share Feedback

Thanks for visiting the Square API documentation. What's on your mind?