Testing without real money

Before you take real payments, run a few test payments. ST Pay has a test bank: a terminal connected to it behaves like a real one, but no money moves.

Test cards work only on a terminal that ST Pay support has connected to the test bank. Ask support for a test terminal and use its ID as terminalId. On a live terminal these cards are declined.

Test cards

The result of a payment depends on the last digits of the card number. All numbers below pass the usual card-number check.

Card number What happens
4111 1111 1111 1152 The payment goes through at once.
4111 1111 1111 1160 The bank declines the payment.
4111 1111 1111 1111 3-D Secure step: confirm on the bank page, then the payment goes through.
4111 1111 1111 1103 3-D Secure step: the confirmation fails.
4111 1111 1111 1194 An error on the bank's side.

The rule is the last digit of the card number: 0 is declined, 1 starts the 3-D Secure step and the payment goes through, 3 starts it and the confirmation fails, 4 is a bank error, any other digit goes through at once. So 4242 4242 4242 4242 goes through. Use any future expiry date, any three-digit CVV and any name.

Test mode in the dashboard

The merchant dashboard has a Live / Test switch in the header. Test mode is a separate copy of your store on the test bank, with its own terminal, API keys, payment links and payments, so nothing you do there touches real money or your real numbers. The copy is created the first time you choose Test. A yellow strip at the top shows that you are in test mode; Back to live returns you without a password. Use the test terminal and the keys from test mode for the cards above.

What to check

  1. A payment that goes through marks your order as paid. You get a webhook and the order changes state once, even if the webhook arrives twice.
  2. A declined payment leaves your order unpaid and the buyer can try again.
  3. The 3-D Secure step returns the buyer to your successUrl or failureUrl.
  4. A webhook with a wrong X-Signature is rejected.