Terminal API Requirements

Partner applications must implement the Terminal API if they want to manage Terminal checkout and Interac refund requests sent to a paired Square Terminal.

Link to section

OAuth and device credential management

Terminal devices must be set up and managed on behalf of sellers by using the OAuth API.

Link to section

Buyer and seller cancellation management

Terminal device webhook events must be handled by the partner platform. If a payment request is sent to a Square Terminal and the buyer cancels the payment, there must be a way for the partner application to react to the event. The partner application must give the seller a way to cancel a payment request, in which case the partner application sends a cancellation request to the Square Terminal.

Link to section

Reconcilable payments

All payments taken on a Square Terminal must be reconcilable across the partner and Square platforms. This typically means setting the TerminalCheckout note parameter to the partner name, setting an invoice/order number that is also visible on the partner platform, and setting the reference_id parameter to a unique human-readable reference number.

Link to section

Device parameters

Partners must submit their TerminalCheckout device_options and ensure that the options match the seller experiences on both the partner platform and on Square. For example, if the partner application manages receipts, device_options.skip_receipt_screen must be set to true.