API documentation
Test cards & amounts
Veyra test mode accepts standard test PANs in the hosted-fields iframe. The amount's last two cents also deterministically simulate outcomes. Run these against your integration without touching real funds.
Success cards
Any expiry in the future and any 3-digit CVC. Use these for happy-path testing.
| Brand / behavior | PAN | What it does |
|---|---|---|
| Visa | 4242 4242 4242 4242 | Always succeeds. |
| Mastercard | 5555 5555 5555 4444 | Always succeeds. |
| Amex | 3782 822463 10005 | Always succeeds. |
| Discover | 6011 1111 1111 1117 | Always succeeds. |
3DS challenge cards
Trigger a Strong Customer Authentication challenge inside the iframe. The hosted-fields iframe handles the challenge UI automatically.
| Brand / behavior | PAN | What it does |
|---|---|---|
| Visa (3DS challenge required) | 4000 0027 6000 3184 | Always triggers a 3DS challenge. Approve to succeed. |
| Visa (3DS challenge, customer declines) | 4000 0082 6000 3178 | Customer must approve the 3DS prompt. If declined, returns three_d_secure_authentication_required. |
Decline cards
Each PAN returns a specific decline_code. Pair them with the error envelope to verify your retry logic.
| Brand / behavior | PAN | What it does |
|---|---|---|
| Generic decline | 4000 0000 0000 0002 | Returns card_declined / generic_decline. |
| Insufficient funds | 4000 0000 0000 9995 | Returns card_declined / insufficient_funds. |
| Lost card | 4000 0000 0000 9987 | Returns card_declined / lost_card. Do not retry. |
| Stolen card | 4000 0000 0000 9979 | Returns card_declined / stolen_card. Do not retry. |
| Expired card | 4000 0000 0000 0069 | Returns card_declined / expired_card. |
| Incorrect CVC | 4000 0000 0000 0127 | Returns card_declined / incorrect_cvc. |
| Processing error | 4000 0000 0000 0119 | Returns card_declined / processing_error. Safe to retry. |
Amount triggers
When you use a success card, the last two cents of the amount deterministically simulate outcomes. Useful for exercising decline paths through the entire stack without changing the PAN.
| Amount | Outcome |
|---|---|
| Any amount ending in .00 | Standard success path (when the card is a success card). |
| Amounts ending in .01 | Triggers card_declined / generic_decline regardless of the card. |
| Amounts ending in .02 | Triggers card_declined / insufficient_funds. |
| Amounts ending in .04 | Triggers card_declined / lost_card. Do not retry. |
| Amounts ending in .51 | Forces a 3DS challenge step on cards that support it. |
Important
- Test cards only work with
vg_sk_test_...keys. They are rejected by live-mode keys. - Never use these PANs against your live integration - they will be declined.
- Test mode never moves real money or sends real receipts to the customer.