# Testing and Test Cards

Test your integration by setting `liveMode` to false (default) when instantiating Tyro.js.
This allows you to hit our sandbox environment and use our test card numbers to simulate certain scenarios.
Real card numbers will be rejected in sandbox mode.

## Test Card numbers

Use the following test card numbers to simulate payment scenarios.

| Scenario | Number | CVC | Expiry | Notes |
|  --- | --- | --- | --- | --- |
| Success Visa | 4111111111111111 | Any Digits | Any Future Date |  |
| Success Mastercard | 5100000000000008 | Any Digits | Any Future Date |  |
| Declined | 4111111111111103 | Any Digits | Any Future Date |  |
| Expired Card | 4111111111111004 | Any Digits | Any Future Date |  |
| Gateway Time Out | 4111111111111202 | Any Digits | Any Future Date |  |
| 3D Secure Challenge | 4111111111112002 | Any Digits | Any Future Date | Challenge code is `123456`. |
| 3D Secure Frictionless Pass | 4111111111112010 | Any Digits | Any Future Date | 3D Secure method is also performed in this example scenario. |
| 3D Secure Frictionless Fail | 4111111111112028 | Any Digits | Any Future Date |  |


## Demo

Create a Pay Request from your server and and paste the Pay Secret to play with the demo iframe.
Have a play with a demo of the integration using our [Tyro.JS Demo](/app/apis/pay/demo/try-it-out)