Square provides collections of APIs that work together to solve a variety of problems. Developers can build solutions using the Square platform to meet the business needs of Square sellers.
In Get Started, you sign up for a Square account and test API calls using API Explorer and the Sandbox test environment. You also view the transactions in the API logs and verify the transactions in the Square Seller Dashboard.
There are two ways a developer can set up a Square account:
Create an account with minimal setup (fast track development). Developers can create a Square account in a couple of steps with minimal information (an email address). This enables developers to test all Square APIs and start developing. The only task you cannot do is process payments in production using the Payments API (you can test payments in the Square Sandbox). You have the option to later activate this account for payment processing in production. To activate your Square account for payments, see squareup.com/activation.
Create an account with complete setup. If you intend to process payments in production, you must complete the Square account setup. For step-by-step instructions, see Let’s create your account.
For this Get Started exercise, use the fast track approach to create an account.
Go to Square Developer Sign-up, enter the required information (email address, password, and country where the account is being created), and then choose Continue. Square creates an account and open the Developer Dashboard.
On the Applications page, choose the + (Plus) button, enter Test Application 1 in the Application Name box, and then choose Save.
You now have a Square account that you can use to explore Square APIs and begin developing.
You do not need to specify details such as business name, business location, and address. Square uses preconfigured information to create a
Merchant object and a
Location object associated with the account. After creating an account, you can update this information. Subsequent steps provide more information.
Before exploring the APIs, review the following sections to learn about the Square applications and dashboards in the account you just created.
A Square application enables external applications and solutions to connect to Square. The application provides the necessary development credentials and tools needed to build with the Square API.
An application can span a variety of use cases. In addition to managing credentials, you can manage webhook subscriptions, API versions, Apple Pay configuration, and so on. The API version defined in the application is the default Square API version. If an incoming request does not include an API version, the default is used.
You might only need one application in your use case. You can also create additional applications in the Developer Dashboard. Consider these examples:
You use the Square platform to create a web solution and a mobile solution. In this case, you might choose to create separate applications in your account.
You create independent solutions to manage different scenarios, such as manage orders and manage teams.
You already created an application. The following procedure is for information only. To create an application:
Sign in to the Developer Dashboard.
On the Applications page, choose the + (Plus) button, enter a name in the Application Name box (for example, John's Coffee or Mike's Sandwiches), and then choose Save. You only need to provide an application name.
You can review an application's configuration:
In the Developer Dashboard, choose an application.
In the left pane, choose the following pages and review the application's configuration settings:
Credentials. Provides credentials you can use to authenticate requests. Separate credentials are provided for use in production and Sandbox testing. The API version identifies the version used in your solution. If an API request includes a version, it takes precedence. If the request does not include an API version, the version in the application's configuration is used.
This access token has permissions to perform all Square API actions. You should not share the access token with others.
Locations. Displays the location ID for your Square account. Square creates the initial location ID based on information you provided during signup. Several Square APIs require your location ID. Therefore, in addition to the Seller Dashboard, the Developer Dashboard provides this information for convenience.
OAuth. Enables management of the OAuth workflow for your custom solutions.
In addition, the application maintains other information, such as a Webhooks page (for real-time notifications) and other API configurations. For more information, see Get Started: What's Next.
When you sign up for a Square account, Square provides two dashboards:
Developer Dashboard. Use the Developer Dashboard to create and manage your applications, access the Sandbox Seller Dashboard, configure webhooks for real-time notifications, and perform other development tasks.
Seller Dashboard. The Seller Dashboard provides sellers with tools to manage daily business operations. A seller can control just about everything needed to ensure that the business is running smoothly.
In addition, there is a Sandbox Seller Dashboard for developers to use when testing APIs in the Square Sandbox. Developers access it through the Developer Dashboard. For more information, Step 2: Make an API request.
It is recommended that you enable two-factor authentication (2FA) on your Square account. It provides protection against unauthorized access to your account (for example, using social engineering attacks, credential stuffing, or any other account takeover (ATO) techniques).
To enable 2FA:
Log in to the Seller Dashboard.
Under My Business, choose Account settings.
Choose the Personal Information tab.
Choose Enable 2-step verification. When prompted, choose SMS or Authentication App.
After two-step verification is enabled, if you are using a trusted device, you can select the Remember this device for 30 days checkbox after you log in to only be prompted for two-step verification every 30 days instead of every time.