SupaPayDevelopers

Sandbox

Test cards

Use these cards with sp_test_ keys against the sandbox gateway. They never move real money.

Cardholder name

Any name

Expiry

Any future date

CVV

123

BrandCard numberScenarioResultCode
Visa4000 0000 0000 32203DS authenticatedSuccess—
Visa4000 0084 0000 16293DS authentication failedDecline—
Mastercard5200 0000 0000 32203DS authenticatedSuccess—
Mastercard5200 0084 0000 16293DS authentication failedDecline—
Visa4242 4242 4242 4242Non-3DS frictionlessSuccess—
Mastercard5555 5555 5555 4444Non-3DS frictionlessSuccess—
Visa4000 0000 0000 0005Do not honourDecline05
Visa4000 0000 0000 0091Issuer unavailableDecline91
Mastercard5100 0000 0000 0051Insufficient fundsDecline51
Visa4000 0000 0000 0041Lost cardDecline41
Mastercard5100 0000 0000 0087Purchase amount only / no cashbackDecline87
RCS6007 8200 0000 0001RCS store card — enter OTP 123456Challenge—

Handling rules

  • For 3DS cards, the sandbox shows a simulated challenge page — click Authenticate or Fail.
  • Declines return HTTP 402 with card_declined and the decline_code above.
  • Code 91 is retryable; codes 05, 41, 51 and 87 should not be retried automatically.
  • For RCS, enter OTP 123456; any other OTP fails.
  • Any other valid Luhn number succeeds without 3DS.

Never use real card numbers in sandbox

Real cards are rejected in the sandbox. Test cards are rejected in production.