Partner applications must implement the Terminal API if they want to manage Terminal checkout and Interac refund requests sent to a paired Square Terminal.
Terminal devices must be set up and managed on behalf of sellers by using the OAuth API.
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.
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.
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
.