# Testing Your Integration Learn how to test your integration to confirm failures get triggered correctly. ## Testing Transactions Before taking your integration live, use the information below to test it thoroughly on the `DUMMY_V1` processor. ### Testing ACH Returns Use the following bank details to trigger the respective ACH Return Code. For more information about the different ACH Return Codes, see [ACH Direct Debit](/guides/online-payments/bank-payments/ach-direct-debits). | 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 a new form of payment. | Bank Code: `122105278`Account Number: `123120006` | | R02: Account is Closed | `BANK_ACCOUNT_CLOSED` | The bank account has been closed. The bank account owner should use an active bank account. | Bank Code: `122105278`Account Number: `123120007` | | R03: No account on file | `NO_BANK_ACCOUNT_FOUND` | The account number structure is valid; however, the number does not correspond to the account holder or it's not an open account. The account holder should create a new bank account with the correct details. | Bank Code: `122105278`Account Number: `123120008` | | R04: Invalid Account Number | `INVALID_BANK_ACCOUNT_NUMBER` | The account number structure is valid; however, the number does not correspond to the account holder or it's not an open account. The account holder should create a new bank account with the correct details. | Bank Code: `122105278`Account Number: `123120009` | - The `Merchant#ready_to_settle_upon` must be `PROCESSOR_WINDOW` or `RECONCILIATION`. Currently, `SUCCESSFUL_CAPTURE` is not supported. - The `failure_code` and `failure_message` is populated on the original `Transfer` resource. - The `tags` of the new return `Transfer` that's created includes the ACH Return Code and `failure_message` associated with the return. ### Testing Account Updater | 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 AVS/CVV Pass the following amount to trigger the respective payment failure. Note, once a `Payment Instrument` has been flagged with an AVS or CVC failure, it will continue to throw that respective error. | 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 | ### Testing Bank Account Validations | Bank Account Validation Check | Bank Code | Account Number | | --- | --- | --- | | `VALID` | `122105278` | `0000000016` | | `INVALID` | `122105278` | `0000000005` | | `INCONCLUSIVE` | `121000358` | `123123128` | ### Testing Card Type Use the following card numbers to trigger the respective `card_type`. For more information about the different `card_types`, see [Payment Instrument](/api/payment-instruments/createpaymentinstrument). | Card Type | Card Number | Brand | | --- | --- | --- | | `CREDIT` | `6011000000004675` | Discover | | `DEBIT` | `5200820000007201` | Mastercard | | `GENERIC_DECLINE` | `6011111111111117` | Discover | | `HSA_FSA` | `4393420000002680` | Visa | | `NON_RELOADABLE_PREPAID` | `5223100000008423` | Mastercard | | `RELOADABLE_PREPAID` | `379032000006086` | American Express | | `UNKNOWN` | `386214000009097` | Discover | ### Testing Failure Codes For more information about the different ACH Return Codes, see [ACH Direct Debit](/guides/online-payments/bank-payments/ach-direct-debits#ach-returns). Please note, it can take up to 15 minutes for the ACH Return to generate. To review `failure_codes` on `Transfers`, [get the individual `Transfer`](/api/transfers/gettransfer) using the `Transfer` ID. | 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 Utilize the following card numbers to set a specific value for `network_token_state`. By default, any valid card number enabled for network tokens will return an `ACTIVE` state. | `network_token_state` | Card Number | | --- | --- | | `CLOSED` | `4181126552690790` | | `FAILED` | `4281168227567010` | | `SUSPENDED` | `4220706972789265` | ### Testing Refunds Use the following card number to test refunds. For more information about processing refunds, see [Refunding Payments.](/guides/after-the-payment/refunds) | State | Card Number | Brand | | --- | --- | --- | | `FAILED` | `4000000000000135` | Visa | ## Testing Push-to-Card Cards for testing a Push-to-Card payout. | Scenario | Card number | Brand | Region | Country | Code | | --- | --- | --- | --- | --- | --- | | Successful push to a Visa (debit card) | `4895142232120006` | Visa | CA | USA | N/A | | Successful push to a Visa (credit card) | `4957030420210454` | Visa | CA | USA | N/A | | Successful push to a Mastercard (debit card) | `5123280115058611` | Mastercard | CA | USA | N/A | | Invalid account number | `4957030420210504` | Visa | CA | USA | `INVALID_INSTRUMENT` | | Exceeds approval amount limit | `4957030420210488` | Visa | CA | USA | `EXCEEDS_ISSUER_AMOUNT_LIMIT` | | Exceeds withdrawal frequency limit | `4957030420210496` | Visa | CA | USA | `EXCEEDS_ISSUER_COUNT_LIMIT` | | Refer to card issuer | `4895070000007685` | Visa | CA | USA | `CALL_ISSUER` | | Do not honor | `4895070000006687` | Visa | CA | USA | `DECLINE` | | Lost card, pick up (fraud account) | `4895070000005671` | Visa | CA | USA | `LOST_OR_STOLEN_CARD` | | Suspected fraud | `4895070000004674` | Visa | CA | USA | `SUSPECTED_FRAUD` | | Transaction does not fulfill AML requirement | `4895070000003551` | Visa | CA | USA | `COMPLIANCE_VIOLATION` | ## Testing Push-to-Card Verifications | Scenario | Card number | Brand | fast_funds_indicator | push_funds_block_indicator | card_type_code | card_issuer_country_code | | --- | --- | --- | --- | --- | --- | --- | | Issuer does participate in fast funds for only domestic transactions | `4815070000000018` | Visa | `D` | `C` | `D` | `840` | | Issuer does participate in fast funds for all transactions | `4835070000000014` | Visa | `B` | `C` | `D` | `840` | | Issuer does not participate in fast funds | `4855070000000035` | Visa | `N` | `C` | `D` | `840` | | Issuer does participate in fast funds and Push-to-Card | `4895047700003297` | Visa | `B` | `B` | `C` | `840` |