ACH Direct Debit

Testing and Go Liveanchor


ACH Direct Debit is available to eligible merchants who can implement a custom client-side integration using our JavaScript v3 SDK. It's currently not available in our Drop-in UI.

Test values for sandbox verificationsanchor

Routing numbersanchor

When testing verification methods that require routing numbers, you can use any real 9-digit bank routing number (e.g. 011000015).

Account numbersanchor

For network check verificationsanchor

Use the test account numbers below to simulate the corresponding network check verification responses in the sandbox:

Account Number Verification Status Processor Response Code Additional Processor Response
1000000000VERIFIED1000 - Approved N/A
1000000001VERIFIED1003 - Approved With Risk N/A
1000000002FAILED3000 - Processor Network Unavailable – Try Again N/A
1000000004PROCESSOR_DECLINED2046 - Declined N/A
1000000005PROCESSOR_DECLINED2061 - Invalid Transaction Data Invalid routing number
1000000006PROCESSOR_DECLINED2092 - No Data Found - Try Another Verification Method N/A
1000000007PROCESSOR_DECLINED2092 - No Data Found - Try Another Verification Method N/A
1000000008PROCESSOR_DECLINED2061 - Invalid Transaction Data Invalid account number
1000000009PROCESSOR_DECLINED2061 - Invalid Transaction Data Invalid account type (if selected account is of type 'checking')
Any other numberPROCESSOR_DECLINED2038 - Processor Declined N/A

For micro-transfer verificationsanchor

Use the test account numbers and micro-deposit amounts below to simulate the corresponding verification responses:

Account Number Verification Status Micro-Deposit Amounts Processor Response Code Instant Settlement
1000000000PENDING17 and 29 1000 - Approved yes
1000000001PENDING17 and 29 1000 - Approved no
1000000002FAILEDn/a 3000 - Processor Network Unavailable – Try Again no
1000000003PROCESSOR_DECLINEDn/a 2005 - Invalid Credit Card Number no
Any other numberPENDINGRandom 1000 - Approved no

Using account number 1000000000, once you pass the corresponding micro-deposit amounts, the verification will move to a VERIFIED state immediately.

Using account number 1000000001, the verification will go through a more realistic settlement simulation: the micro-transfers will take 3 business days to settle, and the verification will only move to a VERIFIED state once the micro-transfers have settled and you’ve passed the corresponding micro-deposit amounts.

If you use an account number outside of any of the above, the verification will move to the PENDING state successfully, but the micro-deposit amounts will be random and not available to you, as would be the case in production.

For independent check verificationsanchor

The sandbox will return a successful verification using any number with 4-17 digits (e.g. 1000000000).

Test values for sandbox transactionsanchor

Once a bank account has been marked VERIFIED in sandbox, you can create test transactions that simulate various processor responses you might receive on real-world transaction requests.

Amounts for unsuccessful transactionsanchor

In sandbox, the transaction amount determines whether or not a transaction will be successful. Use the following amounts with a verified bank account to simulate unsuccessful transactions:

Test AmountInitial StatusFinal Status
44444.44Settlement PendingSettlement Declined (insufficient funds)*
55555.55Settlement PendingSettlement Declined (unauthorized transaction)*
6666.66Settlement PendingSettlement Declined (account closed)*
7777.77Settlement PendingSettlement Declined (account not found)*

See Transaction Statuses for more information about initial and final states.

*You'll receive a webhook notification if a transaction reaches a final status of Settlement Declined due to non-sufficient funds or unauthorized transaction (also known as an unauth).

Amounts for successful transactionsanchor

Transactions in the sandbox will be successful as long as you use:

  1. A verified bank account payment method.
  2. A transaction amount not listed in the test amounts table above.

Go liveanchor

  1. Make sure your production account settings mirror the ones in your tested sandbox configuration.
  2. If you've created any Transaction webhooks in sandbox, be sure to recreate them in your production account and point them to your production environment.
  3. Contact us to enable ACH Direct Debit payments in your production account.