# Payment methods for testing
> Test your payment integration with sandbox card numbers, ACH accounts, and decline scenarios. Simulate successful transactions, declined payments, and CVV failures for comprehensive testing
Use these test cards and accounts to simulate transactions in your sandbox. You can use these example cards and accounts to make test transactions via the API or any of Payabli's hosted payment solutions, like the virtual terminal or payment pages.
## Simulate a successful transaction
Use these test cards and accounts for transactions in sandbox.
### Cards
Use these with any future expiration date.
|
Payment Method
|
Card Number
|
CVV
|
|
Visa
|
4012000098765439
|
999
|
|
Mastercard
|
5146315000000055
|
998
|
|
Mastercard BIN 2
|
2223000048400011
|
998
|
|
Discover
|
6011000993026909
|
996
|
|
American Express
|
374101000000608 or 371449635392376
|
9997
|
|
Diner's Club
|
36256000000725
|
123
|
|
JCB
|
3566000000000000
|
123
|
### ACH
Use this with any account type.
| Payment Method | Account Number | Routing Number |
| -------------- | -------------- | ------------------------------------------- |
| ACH | 123123123 | Any real routing number, such as 102103407. |
## Simulate a decline
You can use test cards to simulate declines.
This is useful for testing how your application handles declined transactions.
### Decline rate limiting
Using a test card repeatedly in a short period can sometimes cause it to be blocked.
As a best practice, Payabli recommends adhering to the fraud control limits.
See [fraud control](/developers/api-reference/api-overview#rate-limits) for more information.
Reach out to your Payabli Solution Engineer with any questions or issues related to testing declines.
### Transaction declines
You can simulate a transaction decline by using the following card in a transaction request with any future date for the expiration date:
|
Payment Method
|
Card Number
|
CVV
|
|
Visa
|
4532802195368947
|
999
|
The transaction request should return a decline response like this:
```json
{
"responseText": "Declined",
"isSuccess": false,
"pageIdentifier": null,
"responseData": {
"authCode": null,
"referenceId": "124-d541b0a9d1774bf3871f1d967abaaaaaa",
"resultCode": 2,
"resultText": "201: Do not honor. The customer’s issuing bank is unwilling to accept the transaction.. DECLINED",
"avsResponseText": null,
"cvvResponseText": null,
"customerId": 12345,
"methodReferenceId": null
}
}
```
### Stored method declines
To simulate a decline when charging a stored payment method, you can store a payment method with any of the following test cards and a future expiration date.
The stored payment method can be charged with an amount of **\$0.20 (20 cents)** to cause a declined transaction.
|
Payment Method
|
Card Number
|
CVV
|
|
Visa
|
4012000098765439
|
999
|
|
American Express
|
374101000000608 or 371449635392376
|
9997
|
The request to charge the stored payment method should return a decline response like this:
```json
{
"responseText": "Declined",
"isSuccess": false,
"pageIdentifier": null,
"responseData": {
"authCode": null,
"referenceId": "124-d541b0a9d1774bf3871f1d967abaaaaaa",
"resultCode": 2,
"resultText": "201: Do not honor. The customer’s issuing bank is unwilling to accept the transaction.. DECLINED",
"avsResponseText": null,
"cvvResponseText": null,
"customerId": 12345,
"methodReferenceId": null
}
}
```
### Invalid CVV declines
To simulate a decline due to an invalid CVV, you can use any of the following test cards with an incorrect CVV:
|
Payment Method
|
Card Number
|
CVV
|
|
Visa
|
4012000098765439
|
Anything but 999
|
|
Mastercard
|
5146315000000055
|
Anything but 998
|
|
Mastercard BIN 2
|
2223000048400011
|
Anything but 998
|
|
Discover
|
6011000993026909
|
Anything but 996
|
|
American Express
|
374101000000608 or 371449635392376
|
Anything but 9997
|
The transaction request should return a decline response like this:
```json
{
"responseText": "Declined",
"isSuccess": false,
"pageIdentifier": null,
"responseData": {
"authCode": null,
"referenceId": "226-ab732d2a1c7e4117a32133f9e92673b2",
"resultCode": 2,
"resultText": "850: AVS or CVV failed.. DECLINED",
"avsResponseText": "AVS not available",
"cvvResponseText": "CVV2/CVC2 no match",
"customerId": 1799,
"methodReferenceId": null
}
}
```
## Related resources
See these related resources to help you get the most out of Payabli.
* **[Pay In schemas](/guides/pay-in-schemas-overview)** - Learn about Pay In (money in) transaction schemas
* **[Pay In statuses](/guides/pay-in-status-reference)** - Learn about Pay In (money in) statuses