Point of Sale API

Applies to: Point of Sale API - iOS | Point of Sale API - Android | Catalog API

Use the Point of Sale API to allow mobile applications to open the Square Point of Sale application and process in-person payments using Square hardware.

Link to section

Overview

You can use the Point of Sale API to build customized POS solutions, POS integrations, or any other application that requires payments without worrying about hardware integrations. Square takes on the burden of staying PCI compliant. No checklists, assessments, or audits are required. The Point of Sale API is available for native and web applications running on iOS and Android.

Link to section

Requirements and limitations

  • Requires an Android or iOS device with the most recent version of the Square Point of Sale application installed.

  • The Point of Sale API doesn't support Square invoices, itemized sales, or Sandbox testing (see Testing for supported countries).

  • Processing card payments with the Point of Sale API requires:

    • An activated Square seller account for accepting card payments.
    • A Square Reader for accepting card payments or mobile devices (Android and iPhone) with Tap to Pay enabled. For more information about enabling Tap to Pay for the Point of Sale API, follow the setup guides for Android and iPhone.
  • Processing fees for transactions initiated with the Point of Sale API are identical to fees for transactions initiated directly from the Square Point of Sale application. For more information, see Learn About Square's Fees.

  • Cannot be directly integrated with the Payments API to get the payment details from a POS transaction. However, you can still use the Point of Sale API transaction ID to get the payment details by making a set of related Square API calls. For more information, see Payments API Integration.

Link to section

Product components

A complete mobile POS integration solution is comprised of a mobile device, a Square card reader, mobile device logic, and a backend service that uses the Catalog API to get items and services for purchase.

Link to section

Mobile frontend

A mobile application uses the Point of Sale API to create a charge request, start a transaction, open the POS UI, and parse transaction results. The Point of Sale API takes care of transmitting a payment to Square for crediting to a Square account.

A charge request includes a payment total that can be arbitrary or derived from the unit price of a catalog item or service.

Link to section

Mobile backend

A mobile application should have a backend process to connect to the product catalog defined for the Square account. The backend provides catalog items and services to the mobile device so that the device can show descriptions and unit prices.

A mobile backend isn't required if the mobile application doesn't display the product catalog in a Square account.

Link to section

Get started with POS integration

Use the following build guides to integrate with the Point of Sale API: