# Testing Your Integration

Finix offers numerous ways to test your Sandbox integration. Use the values below to test your integration. We encourage you to test these scenarios before running transactions in your Live environment.

## Testing Transactions  
The testing scenarios below are for testing payment transactions. These include `Transfers`, `Authorizations`, `Payment Instrument` responses, and more.

### Testing Card Type  
Use the following card numbers to trigger the respective `card_type`. Provide the `amount` in cents.

| Card Type | Card Number | Brand |  
| --- | --- | --- |  
| `CREDIT` | `6011000000004675` | Discover |  
| `DEBIT` | `5200820000007201` | Mastercard |  
| `HSA_FSA` | `4393420000002680` | Visa |  
| `NON_RELOADABLE_PREPAID` | `5223100000008423` | Mastercard |  
| `RELOADABLE_PREPAID` | `379032000006086` | American Express |  
| `UNKNOWN` | `386214000009097` | Discover |

### Testing Transaction Failures and Disputes  
Pass one of the following `amount` values to trigger the respective payment failure. Once a `Payment Instrument` is flagged with an AVS or CVV failure, it will continue to return that error. Provide the `amount` in cents.

| Amount | Description |  
| --- | --- |  
| `102` | Declined amount |  
| `103` | Canceled amount |  
| `888888` | Disputed amount |  
| `193` | Insufficient funds amount |  
| `194` | Invalid card number amount |  
| `889986` | AVS total failure amount |  
| `889987` | CVC failure amount |

For more details about address and CVV verification, see the [Risk Rules and Card Checks](https://docs.finix.com/guides/online-payments/fraud-and-risk/risk-rules-card-checks) guide.

### Testing Name Verification  
Use the following sentinel values to simulate name verification results on `DUMMY_V1`. If none are provided, all fields in `name_verification_results` return `UNKNOWN`. Sentinel values are not case-sensitive.

#### Direct Name Verification  
You can perform name verification using the [PUT /payment_instruments/{payment_instrument_id_verify}](https://docs.finix.com/api/payment-instruments/createpaymentinstrumentverification) endpoint. Select the "Name Verification" example.

Use the `first_name` and `last_name` fields in `name_verification_details` to trigger a specific result. All four fields in `name_verification_results` return the same value.

| `first_name` | `last_name` | `name_verification_results` |  
| --- | --- | --- |  
| `Billy` | `NameVerification` | `MATCH` |  
| `Joey` | `NameVerification` | `NO_MATCH` |  
| `Sarah` | `NameVerification` | `PARTIAL_MATCH` |  
| `Amanda` | `NameVerification` | `NOT_SUPPORTED` |

### Testing Failure Codes  
Use the following card numbers to test failure codes. Provide the `amount` in cents.

| Failure Code | Card Number | Brand |  
| --- | --- | --- |  
| `GENERIC_DECLINE` | `4000000000009979` | Visa |  
| `GENERIC_DECLINE` | `378282246310005` | American Express |  
| `GENERIC_DECLINE` | `5555555555554444` | Mastercard |  
| `GENERIC_DECLINE` | `6011111111111117` | Discover |  
| `CALL_ISSUER` | `4012888888881881` | Visa |  
| `CARD_NOT_ACTIVATED_OR_BLOCKED` | `4539148803436467` | Visa |  
| `DO_NOT_HONOR` | `4000000000000002` | Visa |  
| `EXCEEDS_APPROVAL_LIMIT` | `4000000000009995` | Visa |  
| `EXPIRED_CARD` | `4000000000009987` | Visa |  
| `FRAUD_DETECTED_BY_FINIX` | `4129054449449482` | Visa |  
| `FRAUD_DETECTED_BY_ISSUER` | `4783512839773883` | Visa |  
| `INSUFFICIENT_FUNDS` | `4000000000000069` | Visa |  
| `INVALID_CARD_NUMBER_OR_EXPIRED_CARD` | `4544206329536898` | Visa |  
| `INVALID_CVV` | `4000056655665556` | Visa |  
| `ISSUER_POLICY_VIOLATION` | `4709247730212712` | Visa |  
| `LOST_OR_STOLEN_CARD` | `4000000000000127` | Visa |  
| `PICK_UP_CARD` | `4000000000000119` | Visa |  
| `RESTRICTED_CARD` | `4242424242424242` | Visa |

### Testing Network Tokens  
Use the following card numbers to set a specific `network_token_state`. By default, any valid card number enabled for network tokens returns an `ACTIVE` state. Provide the `amount` in cents.

| `Payment Instrument` › `network_token_state` | Card Number |  
| --- | --- |  
| `CLOSED` | `4181126552690790` |  
| `FAILED` | `4281168227567010` |  
| `SUSPENDED` | `4220706972789265` |

### Testing Account Updater  
Use the following card numbers to test account updater responses. Provide the `amount` in cents.

| Account Update Type | Brand | Initial card number | Initial expiration (M/Y) | New number | New expiration (M/Y) |  
| --- | --- | --- | --- | --- | --- |  
| `CLOSED_CARD` | Visa | `4402087389579601` | `1/2030` | - | - |  
| `CONTACT_CARDHOLDER` | Visa | `4349990631704016` | `1/2030` | - | - |  
| `EXPIRATION_UPDATED` | Visa | `4208862673740549` | `1/2030` | `4307730606824385` | `1/2040` |  
| `FRAUD_REPORTED` | American Express | `340452801563455` | `1/2030` | - | - |  
| `INACTIVE_MERCHANT` | American Express | `3403470175812488` | `1/2030` | - | - |  
| `NO_TRANSACTIONAL_ACTIVITY` | American Express | `3019542985188444` | `1/2030` | - | - |  
| `NOT_FOUND` | Visa | `4543267787982264` | `1/2030` | - | - |  
| `NUMBER_AND_EXPIRATION_UPDATED` | Visa | `4496772882855767` | `1/2030` | `4887005601746919` | `3/2040` |  
| `NUMBER_AND_EXPIRATION_UPDATED` | Mastercard | `5103504002919260` | `1/2030` | `5213076676875406` | `11/2040` |  
| `NUMBER_AND_EXPIRATION_UPDATED` | American Express | `3883494643244974` | `1/2030` | `3969967933006770` | `08/2040` |  
| `NUMBER_AND_EXPIRATION_UPDATED` | Discover | `6588849539088200` | `1/2030` | `6011174500160749` | `12/2040` |  
| `NUMBER_AND_EXPIRATION_UPDATED` | Visa | `4496772882855767` | `1/2030` | `4887005601746919` | `3/2040` |  
| `NUMBER_UPDATED` | Visa | `4036161292637501` | `1/2030` | `4649777215746100` | `4/2040` |

### Testing Refunds  
Use the following card numbers to test refunds. Provide the `amount` in cents.

| State | Card Number | Brand |  
| --- | --- | --- |  
| `FAILED` | `4000000000000135` | Visa |

### Testing Bank Account Validations  
Use these specific bank codes and account numbers to test bank account validations. Provide the `amount` in cents.

| Bank Account Validation Check | Bank Code | Account Number |  
| --- | --- | --- |  
| `VALID` | `122105278` | `0000000016` |  
| `INVALID` | `122105278` | `0000000005` |  
| `INCONCLUSIVE` | `121000358` | `123123128` |

### Testing ACH Returns  
Use the following bank details to trigger the respective ACH Return Code. Provide the `amount` in cents.

| ACH Return Code | Failure Code | Failure Message | Bank Details |  
| --- | --- | --- | --- |  
| R01: Insufficient Funds | `INSUFFICIENT_FUNDS` | The account has insufficient funds for the transaction. The account holder needs to use another method of payment. | Bank Code: `122105278`<br>Account Number: `123120006` |  
| R02: Account is Closed | `BANK_ACCOUNT_CLOSED` | The bank account has been closed. Contact the account owner and get another method of payment that's active. | Bank Code: `122105278`<br>Account Number: `123120007` |  
| R03: No account on file | `NO_BANK_ACCOUNT_FOUND` | The account number is valid; however, the number doesn't correspond to the account holder or it's not an open account. The account holder needs to reenter their information with the correct details. | Bank Code: `122105278`<br>Account Number: `123120008` |  
| R04: Invalid Account Number | `INVALID_BANK_ACCOUNT_NUMBER` | The bank account number is not valid. The account holder needs to use a valid account number. | Bank Code: `122105278`<br>Account Number: `123120009` |
