Learn about Square hardware solutions, explore use cases for in-person payments, and identify the APIs and SDKs that best suit your development goals and application requirements.
When developing payment integrations for Square sellers, consider the types of hardware devices used for taking payments. All Square hardware is PCI compliant and supports chip and PIN, contactless card, and digital wallet payments. Some devices also accept magstripe (swiped) card payments.
Square Terminal An all-in-one device that accepts payments, prints receipts, and features a buyer-facing display for customer interaction. While portable, it's ideally suited for countertop payments and can accept chip and PIN, contactless, and magstripe payments. | |
Square Reader A pocket-sized device that can accept chip and PIN and contactless payments on the go or over the counter. Square Reader packs a powerful battery so you can take payments anywhere your customers are. | |
Square Stand An iPad-based Point of Sale system that's ideal for countertops. It features a large display that swivels 180 degrees for customer interaction and includes a built-in Square reader. The Square Stand accepts chip and PIN and contactless payments. | |
Square Kiosk An iPad-based self-ordering kiosk hardware with multiple mounting options. Like the Square Stand, the Square Kiosk includes a built-in Square reader to accept chip and PIN and contactless payments. Square Kiosk can be mounted on a tabletop or wall, making it ideal for self-service kiosks or over-the-counter payments. |
As a developer, you have various API and SDK options when creating an integration for in-person payments with Square and its hardware.
Terminal API - Allows you to connect any type of application running on any device across all operating systems to the Square Terminal for payment processing. Use the Terminal API along with the Devices API to read information about Square Terminals connected to your application.
Mobile Payments SDK - Allows you to embed the Square payment flow directly into native iOS or Android mobile applications and connect to Square Reader, Square Stand, or Square Kiosk to process payments. The Mobile Payments SDK is only available to developers serving sellers in the United States.
Point of Sale API - Allows you to open Square Point of Sale on top of your native mobile or mobile web application UI to process payments using Square Reader, Square Stand, and Tap to Pay on iPhone and Android mobile devices. Square recommends integrating with the Mobile Payments SDK (rather than the Point of Sale API) for a more seamless checkout experience, unless you require capabilities only supported on the Point of Sale API (such as greater regional support, Tap to Pay, and mobile web application integration). For more information, see Compare payment models.
All Square APIs work together across the developer platform. When building integrations with Square in-person payment APIs and SDKs, you should also integrate with the following APIs:
- Payments API - Use to take and manage payments. The in-person payment APIs and SDKs incorporate the Payments API to take payments on a seller's behalf. You can call the Payments API directly to view, complete, or cancel payments.
- Orders API - Use to view and compile sales data for payments and to itemize payments using custom line items.
- Catalog API - Use to manage a seller's catalog of items, variations, categories, and modifiers and to apply taxes and discounts to orders.
- Inventory API - Use to manage inventory counts and inventory changes of Square catalog items.
- Customers API - Use to save and manage data about customers who make purchases with your application.
Square hardware solutions and in-person payment APIs and SDKs are recommended for three general use cases:
Customers visit a business such as a retail store, restaurant, or clinic to provide a payment to a seller in person.
For example, a clinic management application uses the Terminal API to allow sellers to collect payments, print receipts, and engage customers in person in various workflows (such as capturing signatures), all through a Square Terminal device.
Consider the following criteria when deciding which Square API, SDK, and hardware combinations are best for your payment integration:
- Hardware requirements - Evaluate factors such as connectivity, portability, and your need for features like receipt printers or buyer-facing displays.
- Application and seller requirements - Evaluate factors such as your application type, payment methods, capabilities required, and seller regional availability.
Criteria | Mobile Payments SDK | Point of Sale API | Terminal API |
---|---|---|---|
Application support |
|
|
|
Devices and operating systems | iOS and Android phones and tablets | iOS and Android phones and tablets | Any device on any operating system |
Hardware Compatibility |
|
|
|
Hardware Cost (pricing varies by country) | Lower | Lower | Higher |
Portability | Highly portable (Pocket-sized) | Highly portable (Pocket-sized) | Less portable (larger, but standalone and compact) |
Hardware connectivity | Bluetooth | Bluetooth (Square Reader and Square Stand) | Built-in Wi-Fi or optional ethernet (using hub) |
Network connectivity | Relies on mobile device Wi-Fi or cellular data | Relies on mobile device Wi-Fi or cellular data | Built-in Wi-Fi or optional ethernet (using hub) |
Built-in receipt printer | ❌ | ❌ | ✅ |
Buyer-facing display | ✅ (Square Stand and Square Kiosk) | ✅ (Square Stand and Square Kiosk) | ✅ |
Criteria | Mobile Payments SDK | Point of Sale API | Terminal API |
---|---|---|---|
Square-branded and hosted checkout flow | ✅ | ✅ | ✅ |
Checkout experience | Embedded within your application | Redirects to the Square Point of Sale checkout flow | Handled on the Square Terminal |
Itemization with Square Orders | ✅ | ❌ | ✅ (US) |
Offline payments | ✅ (Beta - seller opt-in required) | ✅ | ❌ |
Tip collection | ✅ | ✅ | ✅ |
Square-provided UI screens |
|
|
|
Collect developer application fees | ✅ | ❌ | ✅ (US) |
Associate payments with a location and team member | ✅ | ❌ | ✅ (US) |
Programmatic device management and monitoring | ✅ | ❌ | ✅ (with the Devices API) |
Delayed capture | ✅ | ❌ | ✅ (US) |
Card-present refunds | ❌ | ❌ | ✅ |
Square Sandbox testing | ✅ | ❌ | ✅ |
Flutter and React Native plugins | ❌ | ✅ | ❌ |
Criteria | Mobile Payments SDK | Point of Sale API | Terminal API |
---|---|---|---|
Supported payment methods |
|
|
|
Supported regions | United States | United States, Canada, United Kingdom, Australia, Ireland, Spain, France, and Japan | United States, Canada, United Kingdom, Australia, Ireland, Spain, France, and Japan |
Square handles PCI compliance | ✅ | ✅ | ✅ |
Square assists with disputes and chargebacks | ✅ | ✅ | ✅ |
As you build your integration, consider the requirements and benefits of submitting your application to the Square App Marketplace and explore opportunities for partnerships with Square.