Testing Beta

    Learn how to effectively test your Terminal integration.

    The best way to achieve a successful Terminal deployment is to test every part of your integration. We provide testing tools for each stage:

    1. Before ordering a reader, test your integration with the reader simulator.
    2. Test your complete hardware integration with a physical test card.

    Reader simulator

    Test your integration before committing to bulk hardware orders.

    Use our built-in card reader simulator to develop and test your app without connecting to physical hardware. Whether your integration is complete or you’re just starting out, use the simulator to mimic card reader behavior for all the Terminal flows in your app: discovering readers, connecting to a reader, updating a reader, and payment.

    Note that the simulator does not provide a visual UI. After connecting to it in your application, you can see it working when the application’s calls to the Stripe SDK succeed.

    See Reader Simulator to get started.

    Test card

    Test payments with your Stripe Terminal hardware using a physical test card from our shop.

    This test card supports both chip entry and contactless payments. It only works with Stripe’s pre-certified readers, and only against the Stripe API in test mode. If you attempt to use your test card in live mode, the Stripe API returns an error.

    When creating payments using a physical test card, use amounts ending in the following values to produce specific responses:

    Decimal Result
    00 Payment is approved.
    01 Payment is declined with a call_issuer code.
    05 Payment is declined with a generic_decline code.
    55 Payment is declined with an incorrect_pin code.
    65 Payment is declined with a withdrawal_count_limit_exceeded code.
    75 Payment is declined with a pin_try_exceeded code.

    For example, a payment processed using a physical test card for the amount $25.00 succeeds; a payment processed for the amount $10.05 is declined.

    Next steps

    Congratulations! Your Terminal integration is nearly ready to deploy. For a few final checks, see the integration checklist.


    We're always happy to help with code or other questions you might have! Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    Was this page helpful? Yes No


    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.

    On this page