# Stripe Terminal: Accepting In-Person Payments

This documentation collection provides comprehensive guidance on integrating Stripe Terminal to accept in-person payments. It covers everything from initial setup and reader selection to advanced features, deployment, and troubleshooting.

## Getting Started

*   **Accept in-person payments for a direct retail business:** Learn the foundational steps to set up your Stripe integration for in-person payments using a point-of-sale (POS) system. This includes understanding server-driven integrations and the recommended Stripe Reader S700/S710.
*   **Terminal Overview:** Get a high-level understanding of Stripe Terminal, its features, and how it can unify your online and in-person payment systems.
*   **Design an integration:** Explore different integration options, choose the right reader for your needs, and understand the architecture of a Stripe Terminal integration.
*   **Example applications:** Utilize provided example applications and simulated readers to get hands-on experience with Stripe Terminal integrations.
*   **Deployment checklist:** Ensure a smooth deployment of your Stripe Terminal integration by following a comprehensive checklist of critical steps.

## Readers and Hardware

*   **Select your reader:** Compare available Stripe Terminal readers and Tap to Pay options to find the best fit for your business and integration.
*   **Stripe Reader S700/S710:** Detailed information on setting up and using the Stripe Reader S700/S710, including its capabilities and recommended integration methods.
*   **BBPOS WisePOS E:** Guidance on setting up and using the BBPOS WisePOS E countertop reader.
*   **BBPOS WisePad 3:** Instructions for setting up the BBPOS WisePad 3 handheld reader, suitable for mobile applications.
*   **BBPOS Chipper 2X BT:** Information on setting up the BBPOS Chipper 2X BT, a handheld reader (note: no longer available for purchase).
*   **Stripe Reader M2:** Details on setting up the Stripe Reader M2, a small reader for mobile applications.
*   **Verifone Readers:** Information on setting up and using various Verifone readers (M425, P400, P630, UX700, V660p), including their preview status and recommended integrations.
*   **Tap to Pay:** Learn how to accept contactless payments directly on compatible iPhone or Android devices.
*   **Stripe Terminal reader product sheets:** Access detailed hardware specifications for all supported Stripe Terminal readers.
*   **Place hardware orders:** Guide on ordering reader hardware and accessories from the Stripe Dashboard.
*   **Submit a warranty claim:** Instructions for submitting warranty claims for defective readers.

## Core Payment Functionality

*   **Collect card payments:** Prepare your application and backend to process card payments using Stripe Terminal.
*   **Accept offline payments:** Learn how Stripe Terminal allows you to store payments locally when internet connectivity is an issue, and how they are forwarded once connectivity is restored.
*   **Collect tapped data for NFC instruments:** Utilize the Terminal SDK to read unique identifiers from NFC instruments like cards or wristbands.
*   **Collect swiped data:** Use Terminal for collecting non-PCI data with reader hardware interfaces, such as gift cards.
*   **Collect on-screen inputs:** Display input forms on smart readers to collect information from customers.
*   **Display cart details:** Dynamically update cart details on the reader screen during the checkout process.
*   **Provide receipts:** Understand how to provide compliant physical or email receipts to your customers.
*   **Refund transactions:** Learn how to cancel or refund Stripe Terminal payments.
*   **Extended authorizations:** Capture confirmed Stripe Terminal payments later, up to 30 days after authorization.
*   **Mail order and telephone order (MOTO) payments:** Process payments taken over the phone or by mail by entering card details on a Stripe Terminal reader.

## Advanced Features and Configurations

*   **Collect and save payment details for future use:** Use Stripe Terminal to collect and save payment methods for returning customers for online reuse.
*   **Save payment details after payment:** Accept an in-person payment and save the details for future use when the customer is not present.
*   **Save directly without charging:** Use SetupIntents to collect card or mobile wallet details without immediately charging the card.
*   **Collect tips:** Learn about collecting voluntary tips before or after authorizing a payment, either on-receipt or on-reader.
*   **Configure on-reader tips:** Customize the tipping options displayed on your readers.
*   **Use Terminal with Connect:** Integrate Stripe Terminal with your Connect platform to allow connected accounts to accept in-person payments.
*   **Apps on Devices:** Learn about deploying your Android POS apps on Stripe smart readers, enabling an all-in-one solution or customer-facing apps.
*   **Build and test your app:** Use a DevKit device to test and iterate your application without going through the full deployment process.
*   **Prepare for app review:** Understand Stripe's app review process for Point-to-Point Encryption (P2PE) solutions and apps for Verifone devices.
*   **Submit your app:** Learn how to upload your Android app to Stripe for review and deployment.
*   **Deploy your app in the Dashboard:** Guide on deploying your Android app to Terminal devices through the Stripe Dashboard.
*   **Deploy your app with the API:** Instructions for deploying your Android app to devices via a webhook.
*   **Monitor your deployment:** Track the deployment progress of your apps on Stripe SmartPOS Android devices.
*   **Configure readers with a custom splash screen:** Customize the default screen displayed when your reader is ready to accept payments.
*   **Configure offline mode:** Enable or disable offline mode on your readers to handle intermittent network connectivity.
*   **Configure the admin menu passcode:** Customize the passcode for accessing the admin menu on smart readers.
*   **Configure the reboot time window:** Set a custom reboot time window for your readers to avoid payment interruptions.
*   **Configure the WiFi network:** Remotely configure WiFi networks for smart readers.
*   **Configure the cellular network:** Remotely configure a cellular network for supported Stripe Terminal readers (S710).
*   **Manage locations and zones:** Group and manage your readers by physical location and further categorize them using zones.
*   **Terminal configurations:** Use the Terminal Configurations object to apply settings like splash screen, tipping, and offline mode to your readers.

## Development and Testing

*   **Set up your integration:** Set up a Stripe Terminal SDK or server-driven integration to accept in-person payments.
*   **Connect to a reader:** Learn how to connect your application to a Stripe Terminal reader, including using simulated readers for development.
*   **Network requirements:** Understand the network requirements for Stripe Terminal to ensure proper functionality.
*   **Test Stripe Terminal:** Learn how to effectively test your Terminal integration using simulators and physical test cards.
*   **JavaScript API reference:** Navigate the Stripe Terminal JavaScript SDK with this API reference.
*   **Terminal SDK migration guides:** Guides for migrating to newer versions of the Stripe Terminal SDK (v5.0.0, v3.0.0, v4.0.0).

## Troubleshooting

*   **Troubleshoot apps on devices:** Learn how to resolve known issues with deploying and managing apps on Stripe Terminal devices.
*   **Troubleshoot M425, P630, UX700, V660p:** Specific troubleshooting guides for Verifone readers, including running diagnostics.
*   **Monitor readers:** Access real-time status and insights for your Stripe Terminal devices in the Stripe Dashboard.