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 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 CVC Responses

CVC CHECKS DESCRIPTION
222 cvc_check=unchecked Unchecked
555 cvc_check=unavailable Unavailable
666 cvc_check=fail Fail
### cvc_check=pass Anything else passes (e.g. 123)

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.