- Is there any way to pair or link a specific Register/Handheld unit to our external Android app — similar to the Devices API’s
device_idfor Terminal — so we can target a specific physical device (relevant for multi-register stores)? - If our app modifies an OPEN order’s discount via the Orders API while a cashier already has that order open on Register/Handheld, does the on-screen order automatically refresh to reflect the new total, or does the cashier need to manually re-open/refresh it?
- Is there any equivalent to
CreateTerminalCheckout(i.e., an API call that pushes a checkout request to a specific Register/Handheld device) — or is Orders/Payments API the only integration surface, with no device-level targeting possible at all for these two device types?
@ashley-square , Thanks for your response.
As we are quite new to Square. Could you please elaborate on OPEN orders alpha status? We didn’t fully understand what “alpha” and “not yet document and subject to change” means in practice for us.
just to give you bit more insights into our approach we are targeting to place order on Square devices and from our android phone we plan to :
- fetch open Orders using orders API
- apply discount to that open order from our android app using orders api
- Once the discount is applied on our end, we want that updated order to be reflected on the Square device linked to our Android app – which we understand we can achieve by sending the discounted order_id via CreateTerminalCheckout
- Process payment for that order via CreateTerminalCheckout
We’d also like to confirm two more things:
- Does CreateTerminalCheckout work the same way on Square Handheld as it does on Square Terminal?
- Does this same Devices API / Terminal API pairing and CreateTerminalCheckout flow apply to Square Register as well, or is Register limited to account-level Orders/Payments API access only, with no device-level targeting?
Please let us know if our approach regarding fetching the order, applying the discount, and processing payment is correct, or if there’s a better-supported way to achieve this.
Thanks again for your help!
Square APIs and functionality typically follow a lifecycle of alpha->beta->general availability. Beta products and features are publicly available, documented and any changes follow our versioning process.
Developer flows with OPEN orders are still considered alpha (not yet beta) on our side and are not documented and subject to change and I can’t yet advise on best practices for working with them.
I can confirm though that CreateTerminalCheckout does work the same way on Square Handheld as it does on Square Terminal.
Neither Devices API nor Terminal API are compatible with Square Register.
There’s currently no way to directly pair or target a specific Register/Handheld device like you can with device_id in the Terminal API. Updates made via the Orders API (such as discounts) don’t automatically refresh on a cashier’s screen—they typically need to re-open or refresh the order. And unlike CreateTerminalCheckout, there’s no equivalent API call to push a checkout request to Register/Handheld; integration is limited empowerretirement com to Orders/Payments APIs without device-level targeting.
Regards,
Sharon Henderson
Thank you both for the detailed responses – this has been very helpful. However, we noticed a contradiction between the two replies specifically regarding Square Handheld, and we’d like to get this reconciled before finalizing our approach:
- @ashley-square confirmed that CreateTerminalCheckout works the same way on Square Handheld as it does on Square Terminal, implying Devices API pairing and device-level targeting IS supported for Handheld.
- @sharon93henderson mentioned there’s currently no way to directly pair or target a specific Register/Handheld device like you can with device_id in the Terminal API, and that there’s no equivalent to CreateTerminalCheckout for Register/Handheld – which appears to say the opposite for Handheld specifically.
Could you please clarify definitively: does the Devices API (pairing) and CreateTerminalCheckout (device-targeted checkout) work on Square Handheld, or not? We want to make sure we’re building against the correct, confirmed behavior.
Separately, we’d like to double confirm two specific points for Square Terminal and Square Handheld, since we’ve seen some ambiguity around OPEN order workflows:
-
Fetching OPEN orders: Can we reliably fetch OPEN orders using the Orders API (e.g., via OrdersSearch with state: OPEN) for orders associated with Terminal and Handheld devices?
-
Applying a discount to an OPEN order: Can our Android application apply a discount to that OPEN order using the Orders API (e.g., via UpdateOrder) for orders tied to Terminal and Handheld?
We understand that OPEN order workflows are currently alpha, undocumented, and subject to change – but we’d still like a direct confirmation on whether these two specific actions (fetching an OPEN order, and updating it with a discount) are technically possible today for Terminal and Handheld, even with the caveat that behavior may change in the future. This will help us decide whether to proceed with this approach now or wait for a more stable/documented release.
Thank you again for your time – we really appreciate the detailed help so far.
@sharon93henderson , please check our response based on your revert.