Learn about the Square Payments API and Refunds API.

Payments API and Refunds API Overview

Square provides the Payments API for application developers to process payments. Applications can call CreatePayment to charge a card (such as a credit/debit card and Square gift card) or record payments a seller received outside of Square (such as cash and other external payments). Each CreatePayment call results in the creation of a Payment object.

The CreatePayment endpoint requires a payment token, which you get from a Square client SDK such as the Web Payments SDK or the In-App Payments SDK. These client SDKs provide the buyer-facing UI that collects payment card information and returns a corresponding payment token. All supported payment methods return payment tokens via the client SDKs.

In addition to the Payments API, a seller might use Square products (such as the Square Point of Sale application or the virtual terminal in the Seller Dashboard) to process payments. All these transactions create Payment objects.

Regardless of the payment processing method (the Payments API or Square products) or the payment source, a developer can access all the Payment objects using the Payments API (GetPayment or ListPayments endpoint).

In addition, the Refunds API enables sellers to refund payments. Square processes the refund and returns the payment to the card. For cash or external payments, your applications can call the Refunds API to record these refunds without reducing the seller Square Balance.

Thus, the Payments API and Refunds API collectively offer an integrated payment experience.


Together with the Orders API, the Payments API and Refunds API replace the Transactions API. Application developers should use these APIs to develop new applications. Applications that currently use the Transactions API should be migrated to the Payments API and Refunds API. For more information, see Migrate from the Transactions API.

If you need more assistance, contact Developer Support or ask for help in the Developer Forums.