An overview of the various tools that Square provides for developers who are creating applications that use the Square APIs.
Developer Tools

Square Developer Tools

Square provides developers with a number of tools they can use to work with Square APIs. These tools include the following:

The Square Sandbox consists of a free, isolated server environment, a set of Sandbox seller test accounts, and a Sandbox Seller Dashboard for each account. Every developer gets their own Sandbox after they create an application in the Square Developer Dashboard. The Sandbox environment separates transactions from the production environment. Use the Square Sandbox to create transactions by calling Square APIs using API Explorer or your own code. You can make API calls using the default test account or you can create your own test account.

API Explorer is an interactive interface you can use to build, view, and send HTTP requests that call Square APIs. API Explorer lets you test your requests using actual Sandbox or production resources in your account such as customers, orders, and catalog objects. You can also use API Explorer to quickly populate resources in your account. You can then interact with the new resources in the Seller Dashboard.

Square APIs write transaction information to a central log (API Logs) that you can use for diagnostics, troubleshooting, and auditing. The logs consist of an overview page showing all entries and a detailed page for each log entry that shows the transaction request and response, as well as a summary of the API call. You can view the logs on the API Logs page for your application in the Developer Dashboard and in API Explorer.

A webhook event subscription is a subscription that notifies you when events created by the Square APIs occur. You create a subscription using a notification URL and the events that you want to be notified about. When an event occurs, Square collects data about the event, creates an event notification, and sends the event notification to the notification URL for all webhook subscriptions that are subscribed to the event. There are more than 60 webhook events you can subscribe to.

To troubleshoot issues with webhooks, you can use the webhook event logs to find out when a webhook was sent and received, what was the retry reason if there was a retry, and the payload that was sent.

Custom attributes let you add additional properties to a Square data model. You can use custom attributes to extend Square’s data model to make it more specific to the business problem you are trying to solve.

The following APIs currently support custom attributes:

GraphQL is an open-source standard that defines both a query language and a runtime that can retrieve data using queries. Using Square GraphQL, you can query multiple objects from different Square APIs. Currently, Square GraphQL supports queries only; it does not support mutations. Square GraphQL (alpha) is publicly available to all developers as part of an early alpha release. Square GraphQL might be subject to breaking changes to the schema and the list of supported APIs that are backwards incompatible with future releases. Square also anticipates changes to GraphQL Explorer and the documentation during the alpha release.

The following APIs are supported in Square GraphQL:

  • Orders API

  • Catalog API

  • Customers API

  • Merchants API

Postman is an application for easy RESTful API exploration. You can use Postman to test Square API calls multiple times without having to write code or install Square SDKs. You can save multiple sets of credentials to quickly test Square API calls in the Sandbox and in production.

Square provides an API to authenticate your application to work on behalf of a seller. You use the OAuth API to get permission from a seller to use their resources.

For developers building mobile applications that take in-person payments using the Reader SDK, the Mobile Authorization API lets your mobile application get an authorization code to manage the checkout flow and payment processing on behalf of a seller.

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