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 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