Seamless Square Terminal + iPad Integration for Multi-Location SaaS Platform (Subscription Model)

Hi all —

We’re building a SaaS platform for nail salons (subscription-based) that’s designed for scale: one owner, one iPad per location, multiple employees, and ideally one Square Terminal per iPad.

:locked: Key Requirements:
• Salon owners subscribe to our platform and use their iPad to manage the business.
• They purchase a Square Terminal for payment handling.
• All payment processing is done via Square Terminal, not our app. We don’t handle or store sensitive customer data — Square does.
• Our app simply needs real-time access to the transaction amount, order ID, and timestamp so we can trigger internal tracking/analytics (not tied to any customer PII).
• Ease of pairing is critical — ideally similar to how AirPods auto-pair with iPhones. Our users are not tech-savvy.

:red_question_mark:We need help with:
1. Can the Square Terminal be easily and reliably paired with the iPad running our software?
• What’s the cleanest workflow for this?
• Can it be initiated from our app or must it be configured separately?
2. What’s the best way to get non-sensitive payment data (amount, time, order ID) into our backend?
• Webhooks? REST polling? POS API?
3. Is there a way to keep this pairing persistent across app sessions without re-linking daily?

The goal is to offer salon owners a plug-and-play experience: subscribe to our platform, get a Square Terminal, pair it once, and never think about setup again.

Would appreciate any guidance, architectural notes, or implementation suggestions. Thanks!

— Tan

:waving_hand: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Square Developer
Build on iOS: Point of Sale API
Point of Sale API and POS Integration Tools

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

  1. Yes, the Square Terminal can be paired with an iPad running your software. The pairing process can be initiated from your app using the Terminal API. The Terminal API allows your POS application to send payment requests to a Square Terminal and receive payment responses. The pairing process involves creating a device code using the Devices API and entering it on the Terminal.

  2. To get non-sensitive payment data, you can use the Payments API. After a payment is processed, you can retrieve the payment details using the payment ID. The Payments API provides information such as the amount, time, and order ID. You can also use webhooks to get real-time notifications when a payment is completed.

  3. The pairing between the Square Terminal and your application is persistent across app sessions. Once a Terminal is paired with your application, it remains paired until it is manually unpaired. You do not need to re-link it daily.

Remember to follow the best practices for handling sensitive data and maintaining PCI compliance. Square handles much of this for you, but it’s important to ensure your application doesn’t inadvertently expose sensitive information.

This answer was reviewed by @Bryan-Square.