Test Cards
In sandbox environment, we offer generic merchant accounts that are useful for testing functional integration. Some processors behave slightly different depending on the settings on the live merchant, so we always advice a full end to end test on your live merchant account, before going live.
| Type | Number | Expiry | CVV | Amount | Test Case Type | Notes |
|---|---|---|---|---|---|---|
| Discover | 6011000993026909 | any | 200 | any | DECLINED | 05 = DECLINE |
| Discover | 6011000993026909 | any | 201 | any | DECLINED | 51 = Insufficient funds |
| Discover | 6011000993026909 | any | 202 | any | SLOW APPROVAL | Sync GTW_9999, later PURCHASED webhook (GTW_1000) |
| Discover | 6011000993026909 | any | any | any | SUCCESS | |
| VISA | 4012000098765439 | any | 200 | any | DECLINED | 05 = DECLINE |
| VISA | 4012000098765439 | any | 201 | any | DECLINED | 51 = Insufficient funds |
| VISA | 4012000098765439 | any | 202 | any | SLOW APPROVAL | Sync GTW_9999, later PURCHASED webhook (GTW_1000) |
| VISA | 4012000098765439 | any | any | any | SUCCESS | |
| MasterCard | 5105105105105100 | any | 200 | any | DECLINED | 05 = DECLINE |
| MasterCard | 5105105105105100 | any | 201 | any | DECLINED | 51 = Insufficient funds |
| MasterCard | 5105105105105100 | any | 202 | any | SLOW APPROVAL | Sync GTW_9999, later PURCHASED webhook (GTW_1000) |
| MasterCard | 5105105105105100 | any | any | any | SUCCESS | |
| Amex | 371449635392376 | any | 1200 | any | DECLINED | 05 = DECLINE |
| Amex | 371449635392376 | any | 1201 | any | DECLINED | 51 = Insufficient funds |
| Amex | 371449635392376 | any | 1202 | any | SLOW APPROVAL | Sync GTW_9999, later PURCHASED webhook (GTW_1000) |
| Amex | 371449635392376 | any | any | any | SUCCESS |
Test cases are matched using a best match first approach. The system finds the rule that matches the most input fields:
- If both the card number and CVV match a specific rule, that rule is used.
- If the card number matches but the CVV does not match any specific rule, the catch-all (
any) rule for that card is used instead.
For example, sending CVV 200 with the Visa card 4012000098765439 matches both the card number and CVV of a specific decline rule — so you get a decline. Sending CVV 123 matches only the card number, so the catch-all success rule applies.
CVV trigger code 202 (or 1202 on Amex) simulates a slow bank response — the acquirer takes longer than the gateway's internal timeout to reply, but eventually returns an APPROVED sale. Use it to verify that your webhook and reconciliation flow handle this correctly.
Synchronous response (returned immediately when the internal timeout fires):
- HTTP
200withresponseCode: "GTW_9999",responseMessage: "Transaction Processing Error". traceIDis your correlation ID for the request — keep it, you'll need it to match the webhook.
Asynchronous webhook (fires once the bank eventually replies):
- Event
PURCHASED. data.responseCode: "GTW_1000"(Transaction Approved), plusbankResponseCode,bankTransactionId,authCode,transactionId, amount, currency.data.traceIdmatches thetraceIDfrom the sync response — join the two to close out the transaction.
Do not treat GTW_9999 as a final decline. The transaction is PENDING on our side and will resolve. Reconcile by waiting for the webhook, or by issuing an INQUIRY against the same traceID before assuming the payment failed.
Recurring (Rebill) Test Cards
To test failures on recurring transactions specifically, use the CVV trigger codes 300 and 301. Unlike 200/201, these approve the initial sale or authorization and only decline when the card is later rebilled — that is, on a subsequent transaction that references the original via the stored credential. This lets you simulate a subscription that activates successfully but fails on a later renewal.
| Type | Number | Expiry | CVV | Amount | Initial Sale / Auth | Rebill Result | Notes |
|---|---|---|---|---|---|---|---|
| Discover | 6011000993026909 | any | 300 | any | APPROVED | DECLINED | 05 = DECLINE |
| Discover | 6011000993026909 | any | 301 | any | APPROVED | DECLINED | 51 = Insufficient funds |
| VISA | 4012000098765439 | any | 300 | any | APPROVED | DECLINED | 05 = DECLINE |
| VISA | 4012000098765439 | any | 301 | any | APPROVED | DECLINED | 51 = Insufficient funds |
| MasterCard | 5105105105105100 | any | 300 | any | APPROVED | DECLINED | 05 = DECLINE |
| MasterCard | 5105105105105100 | any | 301 | any | APPROVED | DECLINED | 51 = Insufficient funds |
| Amex | 371449635392376 | any | 1300 | any | APPROVED | DECLINED | 05 = DECLINE |
| Amex | 371449635392376 | any | 1301 | any | APPROVED | DECLINED | 51 = Insufficient funds |
3DS Testing
For 3ds testing, you can use the cards listed Netvalve 3DS Test Cards
These 3ds cards will work as well, the CVV code trigger the responses above