> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.coinflow.cash/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.coinflow.cash/_mcp/server.

# Testing Credit Card Purchases

## Card Purchases

Coinflow provides a set of test credit cards that can be used to test a purchase on sandbox. You may use any address, name, and future expiration date with the below numbers and their corresponding CVVs to simulate a successful purchase. To simulate a failed purchase, set the card zipcode to `99999`.  To simulate a rejected chargeback protection decision, set the card zipcode to `00000`.

| Card             | Card Number         | CVV  | Zipcode | Status  |
| :--------------- | :------------------ | :--- | :------ | :------ |
| Visa             | 4242 4242 4242 4242 | 123  | any     | Success |
| Mastercard       | 5555 5555 5555 4444 | 123  | any     | Success |
| Discover         | 6011 0100 0000 0003 | 123  | any     | Success |
| American Express | 3782 822463 10005   | 1234 | any     | Success |
| Visa             | 4242 4242 4242 4242 | 123  | 99999   | Failed  |
| Mastercard       | 5555 5555 5555 4444 | 123  | 99999   | Failed  |
| Discover         | 6011 0100 0000 0003 | 123  | 99999   | Failed  |
| American Express | 3782 822463 10005   | 1234 | 99999   | Failed  |

### 3DS Enabled Card Purchases

Merchants who have 3DS configured can use the below test cards on sandbox to test different 3DS challenge scenarios.\
Note: When testing a friction challenge, you may use 1234 as the 2FA to simulate a success. To simulate a 3DS rejection, pass any other number as the 2FA code, for example: 105.

| Card Number         | CVV | Expiry Month | Expiry Year | Card       | 3DS Challenge Type         |
| :------------------ | :-- | :----------- | :---------- | :--------- | :------------------------- |
| 5204 247 7500 01471 | 123 | 08           | 27          | Mastercard | Frictionless Challenge     |
| 4000 0200 0000 0000 | 123 | 08           | 27          | Visa       | Friction Challenge         |
| 4055 0111 1111 1111 | 123 | 08           | 27          | Visa       | Friction Challenge Failure |
| 4264 2815 1111 2228 | 123 | 08           | 27          | Visa       | Rejection                  |
| 2303 7799 5100 0396 | 123 | 08           | 26          | Mastercard | Frictionless Challenge     |
| 2303 7799 5100 0446 | 123 | 08           | 26          | Mastercard | Friction Challenge         |
| 2303 7799 5100 0453 | 123 | 08           | 26          | Mastercard | Friction Challenge Failure |
| 2303 7799 5100 0347 | 123 | 08           | 26          | Mastercard | Rejection                  |

### 3DS Testing with Amounts

Alternatively, you can trigger specific 3DS scenarios using any test card by setting the **last two digits** of the subtotal (in cents) to specific values:

| Subtotal Ends In | 3DS Challenge Type         | Example Subtotal |
| :--------------- | :------------------------- | :--------------- |
| 98               | Friction Challenge Success | \$9.98           |
| 97               | Friction Challenge Failure | \$10.97          |
| 96               | Rejection                  | \$7.96           |
| Any other value  | Frictionless Challenge     | \$5.50           |

This allows you to test different 3DS flows without needing to switch between different test card numbers.

## Testing on Production

When testing in production it is important to adhere to the following guidelines:

1. Totals for testing transactions being \$2+ per transaction
2. Not more than 1 purchase by same card in a 15 minute increment
3. Not more than 3 test transactions per card in a day

Failure to follow these guidelines could result in your production account being suspended.