Testing

Trigger different flows in your integration and ensure they are handled accordingly.

This page includes test card numbers, banking numbers, and other information to make sure your integration works as planned. Use it to trigger different flows in your integration and ensure they are handled accordingly.

This information only applies to the sandbox environment (i.e. https://sandbox-api.tilled.com).

Basic Test Card Numbers

NUMBER BRAND CVC* DATE
4111 1111 1111 1111 Visa (Credit) Any 3 digits Any future date
4900 7700 0000 0001 Visa (Debit) Any 3 digits Any future date
5100 4000 0000 0000 Mastercard Any 3 digits Any future date
6011 2345 6789 0123 Discover Any 3 digits Any future date
3701 234567 89017 American Express Any 4 digits Any future date

ACH Debit Testing

The following table includes examples of well-known ABA routing numbers for ach_debit payment methods. The account_number can be any 4 or 17-digit number.

Bank name ABA Routing Number
TD Bank Connecticut 011103093
TD Bank Florida 067014822
Bank of America 011000138
Wells Fargo Bank 021101108
HSBC 021004823

EFT Direct Debit Testing

The following table includes examples of well-known institution_id or Bank Codes for eft_debit payment methods. The account_number can be any 4 or 12-digit number and the transit_number can be any 5-digit number.

Bank name Bank Code (or institution number)
Bank of Montreal 001
Scotiabank (The Bank of Nova Scotia) 002
Royal Bank of Canada 003
The Toronto-Dominion Bank 004
National Bank of Canada 006

Simulating Charge Declines

The following exact amounts will result in the associated error code on a payment intent. This is only accessible for card. Example: 777701 = $7777.01.

Amounts Error Code
777701 ChargeDeclineCode.INSUFFICIENT_FUNDS
777702 ChargeDeclineCode.AVS_CHECK_FAILED
777703 ChargeDeclineCode.GENERIC_DECLINE
777704 ChargeDeclineCode.CALL_ISSUER
777705 ChargeDeclineCode.EXPIRED_CARD
777706 ChargeDeclineCode.PICKUP_CARD
777707 ChargeDeclineCode.INVALID_NUMBER
777708 ChargeDeclineCode.LIMIT_EXCEEDED
777709 ChargeDeclineCode.NOT_PERMITTED
777710 ChargeDeclineCode.INCORRECT_CVC
777711 ChargeDeclineCode.SERVICE_NOT_ALLOWED
777712 ChargeDeclineCode.INVALID_EXPIRY
777713 ChargeDeclineCode.CARD_NOT_SUPPORTED
777714 ChargeDeclineCode.RESTRICTED_CARD
777715 ChargeDeclineCode.FRAUDULENT
777716 ChargeDeclineCode.PROCESSING_ERROR

Simulating ACH Debit Returns

ACH payments in the sandbox environment transition from "status": "processing" to the expected status at 8AM EST on the following day after the payment is made.

In the production environment, the settlement and payout times for ACH payments can vary based on the Merchant's payout speed. You can learn more about this in our Payout Speeds and funding times article.

The following exact amounts will result in the associated error code on a payment intent. This is only accessible for ach_debit. Example: 888801 = $8888.01.

Amounts Error Code
888801 ChargeDeclineCode.INSUFFICIENT_FUNDS
888802 ChargeDeclineCode.NOT_PERMITTED
888803 ChargeDeclineCode.BANK_ACCOUNT_BLOCKED
888804 ChargeDeclineCode.ACCOUNT_CLOSED
888805 ChargeDeclineCode.ACCOUNT_FROZEN
888806 ChargeDeclineCode.ACCOUNT_NUMBER_INVALID
888807 ChargeDeclineCode.AUTHORIZATION_REVOKED
888808 ChargeDeclineCode.INVALID_FIELD
888809 ChargeDeclineCode.NO_ACCOUNT
888810 ChargeDeclineCode.NOT_AUTHORIZED
888811 ChargeDeclineCode.NOT_RECOGNIZED
888812 ChargeDeclineCode.STOP_PAYMENT

Simulating Address Verification Responses

By default, all card transactions with valid billing_details addresses will pass the address verification checks. To simulate a different response, add a single letter code from the table below as a prefix to the billing_details.street property. Example: billing_details.street='11 123 Main Street' will produce failed checks where the address matches, but postal code does not. These checks are available on the payment_method.card.checks property.

PREFIX CHECKS DESCRIPTION
10 address_line1_check=pass, address_postal_code_check=pass Both street and postal code match.
11 address_line1_check=pass, address_postal_code_check=fail Street matches, but postal code does not.
12 address_line1_check=fail, address_postal_code_check=pass Postal code matches, but street does not.
18 address_line1_check=unchecked, address_postal_code_check=unchecked Address information is unavailable
15 address_line1_check=unavailable, address_postal_code_check=unavailable Address information is unavailable

Example:

billing_details.street is prefixed with 11 and therefore the card.checks.address_postal_code_=fail

 1{
 2  "id": "pm_7jzakGs4bVgTo82EDLZcS",
 3  "type": "card",
 4  "card": {
 5    "brand": "visa",
 6    "last4": "1111",
 7    "checks": {
 8      "cvc_check": "pass",
 9      "address_line1_check": "pass",
10      "address_postal_code_check": "fail"
11    },
12    "exp_year": 2026,
13    "exp_month": 8
14  },
15  "billing_details": {
16    "name": "John Doe",
17    "address": {
18      "zip": "80302",
19      "street": "11 123 Main Street", // Note the '11' prefix
20      "country": "US"
21    }
22  },
23  ...
24}

Simulating Disputes

AMOUNTS DESCRIPTION DISPUTE STATUS STATUS HISTORY
777797 Retrieval warning_under_review warning_needs_response, warning_under_review
777798 Retrieval followed up with chargeback needs_response warning_needs_response, warning_under_review, needs_response
777799 Chargeback needs_response needs_response

When evidence is submitted, providing the explicit values (exact match) below for the evidence_description will trigger the dispute to be resolved as won or lost.

Evidence Description Resulting Dispute Status
REVERSAL won
LOSS lost

Testing Plaid Bank Account Verification

To test the Plaid Bank Account Verification feature in the Merchant Onboarding Application, please follow the instructions below:

  1. In the Bank Account Verification section of the Merchant Application, click the Connect Account button, and then select Continue in the pop-up.
  2. On the Select your institution page, choose any one of the supported banking institutions by Plaid, and click Continue.
  3. Use the following test credentials to sign in to the Bank Account when prompted:
    • Username: user_good
    • Password: pass_good
  4. After entering the credentials above, you will be directed to the Verify your identity page. Click the Get code button and then, enter 1234 as the input for the Code and, click the Submit button.
  5. You can now proceed with the remaining steps for Plaid bank account verification.

When a Partner submits a test merchant application in the Sandbox environment and opts for manual bank verification over Plaid, the merchant application status will now transition from in-review to approved within 5 minutes.

For seamless internal testing, please note that setting the tax ID to 909909909 will maintain the application in the in-review status and prevent the status update to approved.

Webhooks

To test your integration, perform actions using the API (in test mode) to send legitimate events to your endpoint. For instance, creating a charge triggers the charge.succeeded event that contains the charge data. You can then use the API to verify the resulting event data.