---
title: "Stop juggling multiple POS devices with Stripe Terminal"
description: "Traditional point-of-sale workflows often collect signatures, contact details, receipt preferences, and other customer information through separate devices, verbal input, or manual entry, creating errors, delays, and clutter. Stripe Terminal’s on-screen input collection lets businesses request this data on a compatible reader, supporting selection, signature, email, phone, text, and numeric fields before or after payment. Developers configure forms with the Stripe API or Terminal SDKs, can sequence multiple inputs and attach metadata, and receive responses through terminal.reader.action_succeeded webhooks; signature files are returned by file ID and need to be downloaded within 24 hours. The rental-car example uses selection and email forms for reservation lookup, followed by an on-reader agreement signature, replacing a separate signature pad and manual transcription while giving the POS more accurate data for receipts, lookups, and loyalty interactions."
---

# Stop juggling multiple POS devices with Stripe Terminal

[Stripe](https://yomu.fyi/company/stripe) · Andrew Robinson · Jun 12, 2025

**Type:** Tutorial

## Summary

Traditional point-of-sale workflows often collect signatures, contact details, receipt preferences, and other customer information through separate devices, verbal input, or manual entry, creating errors, delays, and clutter. Stripe Terminal’s on-screen input collection lets businesses request this data on a compatible reader, supporting selection, signature, email, phone, text, and numeric fields before or after payment. Developers configure forms with the Stripe API or Terminal SDKs, can sequence multiple inputs and attach metadata, and receive responses through terminal.reader.action\_succeeded webhooks; signature files are returned by file ID and need to be downloaded within 24 hours. The rental-car example uses selection and email forms for reservation lookup, followed by an on-reader agreement signature, replacing a separate signature pad and manual transcription while giving the POS more accurate data for receipts, lookups, and loyalty interactions.

## Context

Traditional checkout workflows may require separate signature pads, customer-facing and operator-facing displays, keyboards, verbal data collection, and manual POS entry. The source identifies resulting staff overhead, transcription errors, privacy concerns around speaking personal information aloud, clutter, delays, and longer queues as reasons to consolidate data collection within the payment flow.

## Approach / What changed

Use Stripe Terminal’s collect\_inputs command through the Stripe API or Terminal SDKs to render custom selection, signature, email, phone, text, or numeric forms on the reader. Forms can include required fields, skip buttons, visual styles, and metadata. The POS receives completed responses through terminal.reader.action\_succeeded webhooks, sequences additional forms as needed, and downloads signature SVG files using the returned file ID within 24 hours.

## Takeaways

- Stripe Terminal supports six input types: selection, signature, email, phone, text, and numeric, covering receipt preferences, agreements, contact details, names, postal codes, and loyalty numbers.
- Multiple inputs can be requested in one API call, and metadata included in the request is returned in the webhook response so inputs can be associated with transactions or other objects.
- Signature image files are retained for 24 hours after the webhook event, so the POS must download and store its SVG copy during that period.

**Tags:** [Architecture](https://yomu.fyi/topic/architecture), [Developer Experience](https://yomu.fyi/topic/developer-experience), [REST APIs](https://yomu.fyi/topic/rest-api)

- Source: [Stripe](https://stripe.dev/blog/stripe-terminal-on-screen-input-collection)
- Source URL: https://stripe.dev/blog/stripe-terminal-on-screen-input-collection
- Ingested by Yomu: 2026-08-28T08:58:55.292Z

[Read original post](https://stripe.dev/blog/stripe-terminal-on-screen-input-collection)
