Testing Stripe Terminal

    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.

    Simulated reader

    The Stripe Terminal SDK comes with a built-in simulated card reader, so you can develop and test your app without connecting to physical hardware. Whether your integration is complete or you’re just starting out, use the simulated reader to emulate all the Terminal flows in your app: connecting to a reader, updating reader software, and collecting payments.

    Note that the simulated reader does not provide a UI. After connecting to it in your app, you can see it working when calls to the Stripe SDK succeed.

    Test card

    Test payments with your Stripe Terminal reader using a physical test card. You can purchase readers and test cards from the Terminal tab of the Stripe Dashboard.

    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.
    02 (Contactless EMV only) Payment is declined with an offline_pin_required 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.

    Was this page helpful?

    Feedback about this page?

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

    On this page