Test Cards
Use these card numbers in test mode to simulate different payment outcomes. All test cards work with any future expiration date and any 3-digit CVC (or 4-digit for Amex).
Test cards only work with test mode API keys (fl_test_sk_). Using them with a live key will return an error.
Successful payments
These cards always result in a successful payment.
| Card number | Brand | Description |
|---|
4242424242424242 | Visa | Standard successful payment |
4000056655665556 | Visa (debit) | Successful debit card payment |
5555555555554444 | Mastercard | Standard successful payment |
5200828282828210 | Mastercard (debit) | Successful debit card payment |
378282246310005 | American Express | Successful Amex payment (4-digit CVC) |
Declined payments
These cards always result in a decline with the specified decline_code.
| Card number | Decline code | Description |
|---|
4000000000000002 | generic_decline | The card is declined with no specific reason. |
4000000000009995 | insufficient_funds | The card has insufficient funds. |
4000000000000069 | expired_card | The card has expired. |
4000000000000127 | incorrect_cvc | The CVC is incorrect. |
4000000000000119 | processing_error | A processing error occurs (simulate a transient failure). |
4000000000000101 | do_not_honor | The issuer declines without a specific reason. |
Using test cards
All test cards accept:
- Any future expiration date (e.g.,
12/2027)
- Any CVC (e.g.,
314 for Visa/MC, 1234 for Amex)
- Any cardholder name
Example: successful payment
curl -X POST https://api.flowlix.eu/v1/payments \
-H "Authorization: Bearer fl_test_sk_abc123" \
-H "Content-Type: application/json" \
-d '{
"amount": 2000,
"currency": "eur",
"card": {
"number": "4242424242424242",
"exp_month": 12,
"exp_year": 2027,
"cvc": "314"
}
}'
Response: 201 Created with "status": "succeeded".
Example: declined payment
curl -X POST https://api.flowlix.eu/v1/payments \
-H "Authorization: Bearer fl_test_sk_abc123" \
-H "Content-Type: application/json" \
-d '{
"amount": 2000,
"currency": "eur",
"card": {
"number": "4000000000009995",
"exp_month": 12,
"exp_year": 2027,
"cvc": "314"
}
}'
Response: 402 Payment Required with:
{
"error": {
"type": "card_error",
"code": "card_declined",
"message": "Your card has insufficient funds.",
"param": null,
"decline_code": "insufficient_funds",
"doc_url": "https://docs.flowlix.eu/declines/insufficient-funds",
"request_id": "req_abc123def456"
}
}
Testing the HPP flow
Test cards also work on the Hosted Payment Page. Create an HPP session with a test key, open the hpp_url in your browser, and enter any test card number.
Tips
- Test every decline scenario your integration might encounter in production.
- Verify your error messages — make sure you show helpful, customer-friendly messages for each decline code.
- Test edge cases like expired cards and CVC mismatches, not just the happy path.
- Use different card brands to ensure your UI handles Visa, Mastercard, and Amex correctly.