Capture a buyer's signature

Applies to: Terminal API

Learn how to display a confirmation screen that captures a buyer's signature on the Square Terminal.

Link to section

Overview

As part of creating custom workflows with the Terminal API, you can create a screen workflow that captures a buyer's signature as confirmation of the displayed information. You send a Terminal action request of the SIGNATURE type and the Square Terminal displays a screen where the buyer provides a signature for the seller's records. The captured signature is returned in the Terminal action response when the action reaches the COMPLETED state.

In the request body, you can edit the title and body text that displays on the signature screen.

Link to section

How Square Terminal displays the signature screen

The following animation shows how the Square Terminal displays the signature screen for the buyer.

An animation of the signature collection screen displayed on the Square Terminal. A buyer is signing a form and submitting it.

Link to section

Make a signature capture request

  1. Send a Terminal action POST request using the CreateTerminalAction endpoint and specify the SIGNATURE action type. In the signature_options body, provide screen text for title and body.

The Terminal action response includes an action_id and a PENDING status.

{ "action": { "id": "termapia:abcdefg1234567", "device_id": "R5WNWB5BKNG9R", "deadline_duration": "PT5M", "status": "PENDING", "created_at": "2022-03-09T09:01:19.622Z", "updated_at": "2022-03-09T09:03:06.830Z", "type": "SIGNATURE", "app_id": "sq0ids-abcdefg123456789", "signature_options": { "title": "Complete your pickup order", "body": "Sign below." } } }

The Square Terminal displays the signature capture screen for the buyer.

A captured signature on the Square Terminal screen.

After the buyer signs the form, the Terminal action is put in a COMPLETED state and the Square Terminal displays the idle screen.

  1. Send a GET request to retrieve the completed Terminal action and the captured signature.

The response returns the captured signature in signature_options.signature. The data field contains the PNG image encoded as Base64.