Bank Transfers
Test bank transfers in the sandbox environment with simulated scenarios for ACH, Turbo, Transfiya, and Bre-B transfers.
In the sandbox environment, you can simulate successful and declined bank transfers. To develop your system correctly, keep in mind that two validations occur before the money is credited to the payee's account.
- To simulate ACH or Turbo cases, please set the corresponding value option in the
routingfield. 2. The simulation are evaluating the fieldpayee.document_number.
ACH
These cases are available to simulate for ACH:
Origin bank validations
The first validation is done by our bank partner to ensure you have enough balance, including the GMF tax, and that you haven't exceeded the origin account's transactional limits (any admin user can adjust these limits directly in the user interface). Origin bank declinations in production are usually informed in less than 10 minutes through a webhook.
Test case: payee.document_number starts with 888 and ends with 000 (e.g., 88814235000)
Destination bank validations
The second validation is performed by the destination bank to check the account information and status. In production, these declinations take up to three ACH cycles, or around 12 working hours, to be received. In the sandbox, these are simulated in 2 minutes.
Test case: payee.document_number starts with 999 and ends with 000 (e.g., 99914235000)
Successful ACH bank transfer
The transfer should be approved.
Test case: payee.document_number does not meet the criteria for any of the other test cases.
Turbo
These cases are available to simulate for Turbo:
| Scenario | Description | Test case |
|---|---|---|
| Global limit exceeded | The transfer exceeds the global limit allowed for the account. | Starts with 777, ends with 000 |
| Insufficient funds | The origin account doesn't have sufficient funds to complete the transfer. | Starts with 777, ends with 111 or starts with 111, ends with 000 |
| Turbo not supported | The destination bank doesn't support Turbo transfers (signer not found). | Starts with 777, ends with 222 |
| Transaction deadline exceeded | The transfer was rejected by the destination bank due to timeout. | Starts with 777, ends with 333 or starts with 100, ends with 001 |
| Disabled account | The destination account is disabled. | Starts with 777, ends with 444 |
| Successful Turbo transfer | The transfer should be approved. | Does not meet any other criteria |
Transfiya
These cases are available to simulate for Transfiya:
| Scenario | Description | Test case |
|---|---|---|
| Global limit exceeded | The transfer exceeds the global limit allowed for the account. | Starts with 555, ends with 000 |
| Disabled account | The destination account is disabled. | Starts with 555, ends with 444 |
| Insufficient funds | The origin account doesn't have sufficient funds to complete the transfer. | Starts with 555, ends with 111 |
| Transaction deadline exceeded | The transfer was rejected by the destination bank due to timeout. | Starts with 555, ends with 222 |
| Transaction not completed | The user rejected or didn't complete the transaction through Transfiya. | Starts with 555, ends with 333 |
| Successful Transfiya transfer | The transfer should be approved. | Does not meet any other criteria |
"global_limit_exceeded" is the only case that allows routing simulation with a permitted error for fallbacks.
CoopCentral Bre-B
CoopCentral Bre-B provides instant transfers through the Bre-B network. The sandbox allows you to simulate different scenarios using specific patterns in the Bre-B key (for key lookups) and description field (for transaction operations).
Bre-B Transfer Process
A Bre-B transfer follows a three-step process:
- Key Lookup: First, the system validates the Bre-B key and retrieves the associated account information from the network.
- Transaction Initiation: Once the key is validated, the transfer is initiated with the destination participant.
- Status Verification: Finally, the transaction status is checked to confirm whether it was completed successfully or failed.
The simulation sections below correspond to each of these steps, allowing you to test different scenarios at each stage of the transfer process.
Identity Validation
For successful Bre-B transfers in sandbox, when sending identity document information, you must use:
document_type:CCdocument_number:12345678
Important: If you send document identity information and it differs from these values, the transfer will generate errors. You can also choose not to send the document identity information to skip this validation.
Bre-B Key Lookup Simulation
These cases are available to simulate Bre-B key lookup by using specific Bre-B key patterns:
| Scenario | Description | Test case |
|---|---|---|
| Key not found | The Bre-B key doesn't exist in the network. | Key contains key_not_found |
| Participant unavailable | The destination participant/bank is temporarily unavailable. | Key starts with key_unavailable |
| Key blocked or inactive | The Bre-B key is blocked or inactive in the network. | Key contains key_blocked |
| Timeout | The key lookup request timed out. | Key contains key_timeout |
| Successful lookup | The Bre-B key lookup should succeed and return account information. | Key doesn't match any error pattern |
Bre-B Transaction Initiation Simulation
These cases are available to simulate Bre-B transaction initiation by using specific description patterns:
| Scenario | Description | Test case |
|---|---|---|
| Timeout | The transaction initiation request timed out. | Description contains tx_timeout |
| Disabled account | The destination account is disabled. | Description contains tx_disabled |
| Invalid Bre-B key | The provided Bre-B key is invalid. | Description contains tx_invalid_key |
| Daily amount limit exceeded | The transfer exceeds the daily amount limit. | Description contains tx_limit_daily_amount |
| Daily count limit exceeded | The account has exceeded the daily transaction count limit. | Description contains tx_limit_daily_count |
| Fraud detected | The transaction was flagged as fraudulent. | Description contains tx_fraud |
| Insufficient funds | The origin account doesn't have sufficient funds. | Description contains tx_insufficient |
| Monthly amount limit exceeded | The transfer exceeds the monthly amount limit. | Description contains tx_limit_monthly_amount |
| Monthly count limit exceeded | The account has exceeded the monthly transaction count limit. | Description contains tx_limit_monthly_count |
| Invalid account | The destination account information is invalid. | Description contains tx_invalid_account |
| Account blocked | The destination account is blocked. | Description contains tx_blocked |
| Unknown error | An unknown error occurred during processing. | Description contains tx_error |
| Successful initiation | The transaction should be initiated successfully. | Description doesn't match any error pattern |
Bre-B Transaction Status Simulation
These cases are available to simulate Bre-B transaction status checks by using specific Bre-B key patterns:
The transaction status simulation uses the same Bre-B key that was used during the key lookup step. The system validates the pattern of the Bre-B key to determine which status to return.
| Scenario | Description | Test case | Status code |
|---|---|---|---|
| Transaction not found | The transaction ID doesn't exist. | Key contains status_not_found | - |
| Timeout | The status check request timed out. | Key contains status_timeout | - |
| Participant unavailable | The participant is unavailable for status checks. | Key contains status_unavailable | - |
| Failed transaction | The transaction has failed. | Key contains status_failed | 91 |
| Pending transaction | The transaction is still pending. | Key contains status_pending | - |
| Successful transaction | The transaction has completed successfully. | Key doesn't match any error pattern | 00 |