Collect InputsBeta
Available in: 🌎 for Stripe S700 and BBPOS WisePOS E using server-driven integration, Javascript SDK, iOS SDK, or Android SDK.
Note
To request access to the Collect Inputs beta, for server-driven, Javscript SDK, iOS SDK, or Android SDK, email us at stripe-terminal-betas@stripe.com.
Collect Inputs
In addition to collecting payments, Terminal smart readers allow you to display forms and collect information from customers. You can collect customer information even when the smart reader is operating offline.
When you call collectInputs
with the Terminal SDK, the SDK communicates with the reader to display a prebuilt UI to collect customer input.
After the customer inputs their data, the SDK returns customer data with a callback.
You can specify up to 5 inputs at a time, and the reader collects them in sequence. Stripe smart readers currently support 6 input types:
- The
selection
input type allows you to display up to 4 choices for a customer to select from. - The
signature
input type allows you to collect a signature using the reader’s touchscreen. - The
email
input type allows you to collect an email address from a customer. - The
phone
input type allows you to collect a phone number from a customer. - The
text
input type allows you to collect additional information from customers. - The
numeric
input type allows you to collect additional information from customers.
Supported input types.
You can customize the appearance and behavior of all input types:
- Set important inputs as
required
to make sure they’re collected. For required inputs, the Skip button is hidden. - Provide context to your customer by specifying the text you want to display on the reader screen for each input using
title
anddescription
). - Add up to 4 toggles that customers can enable or disable for boolean options, agreements, or opt-ins.
Email and selection form with toggle
Additional customization is available for selection
inputs. When specifying the choices
you want to display to the customer, you can emphasize or de-emphasize choices using the style
parameter.
Primary and secondary selection choice styles.
Note
Don’t use collect_inputs
to collect sensitive data (including protected health information and customer payment card information), or any information restricted by law.
Customer interaction
When the reader begins collecting inputs, it displays the first input from the list you specified to the customer. The customer must make a selection or provide a signature to proceed with required inputs. However, for optional inputs, the customer has the option to skip to the next requested input.
After the customer has either submitted or skipped all inputs, the SDK returns a list of collected inputs.
Note
You are fully responsible for being aware of, and complying with all applicable laws and regulations governing your use of this feature, and must in relation to such use, obtain, as applicable, all necessary consents, authorizations, licenses, rights, and permissions. If you use input collected by, or output displayed from a Terminal smart reader to enter into contracts with, or provide notices to your customers, you are fully responsible for ensuring the legal validity and enforceability of such contracts or notices.
Receive input data
When the customer completes or skips all inputs, the Terminal SDK returns the collected data.
- For signature type inputs, the returned data is a string in SVG format.
- For selection type inputs, the returned data is the string of the selected button’s
text
. - For phone, email, text, and numeric inputs, the returned data is the string of the customer’s response.
- If an optional input is skipped by the customer, the
skipped
boolean is set totrue
. - For each toggle,
enabled
,disabled
orskipped
is returned corresponding to the index of the input toggles list.
Note
Toggles requires reader version 2.21
and up.