Test cards

Use these with a key beginning sk_test_. Nothing here moves real money.
NumberExpiryCVCWhat happens
400000111111111812/30123Succeeds
411111111111111112/24123Succeeds
444444441111111112/24123Declined
555555555555559912/24123Asks the cardholder to authenticate (3-D Secure)

What a decline looks like

The payment goes back to requires_payment_method and carries a last_payment_error with a decline_code you can show the customer. The checkout session stays open, so they can try another card without you creating anything new.

What authentication looks like

The payment sits at requires_action while the cardholder’s bank asks them to confirm. It is not a failure and it is not finished — wait for the webhook rather than reading the status once and deciding.

Test and live are separate sets of books. A test payment can never appear in your live totals, and a test key cannot read live data.