> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Test your integration

> Simulate transfers to test your integration.

To confirm that your integration works correctly, simulate transfers without moving any money using test amounts and counterparty account numbers in `test` mode.

Use test API keys for every API call in `test` mode.

## Simulate an inbound transfer

Fintoc lets you simulate an inbound transfer through the API or the dashboard. You can simulate an inbound transfer only for account numbers created in `test` mode. To create an account number, see [Create an account number](/docs/transfers/inbound-transfers#step-1-create-an-account-number-clabe).

Simulate receiving a transfer with the API or an SDK. To simulate an inbound transfer of \$1,020.00 MXN, replace `YOUR_ACCOUNT_NUMBER_ID` with an account number created in `test` mode:

<CodeGroup>
  ```bash curl theme={null}
  curl --request POST \
    --url 'https://api.fintoc.com/v2/simulate/receive_transfer' \
    --header 'Authorization: YOUR_TEST_SECRET_KEY' \
    -d account_number_id=YOUR_ACCOUNT_NUMBER_ID \
    -d amount=102000 \
    -d currency='mxn'
  ```

  ```node Node theme={null}
  const simTransfer = await fintoc.v2.simulate.receiveTransfer({
      account_number_id: 'YOUR_ACCOUNT_NUMBER_ID',
      amount: 102000,
      currency: 'mxn'
  });
  ```

  ```python Python theme={null}
  transfer = client.v2.simulate.receive_transfer(
      amount=102000,
      currency="mxn",
      account_number_id="YOUR_ACCOUNT_NUMBER_ID",
  )
  ```

  ```json Response theme={null}
  {
    "id": "tr_2vF18OHZdXXxPJTLJ5qghpo1pdU",
    "object": "transfer",
    "account_number": {
      "id": "acno_2vF18OHZdXXxPJTLJ5qghpo1pdU",
      "object": "account_number",
      "account_id": "acc_000000000000000000",
      "created_at": "2026-06-23T12:00:00.000Z",
      "description": "Payins",
      "metadata": {},
      "mode": "test",
      "number": "000000000000000000"
    },
    "amount": 102000,
    "comment": "Test inbound transfer",
    "counterparty": {
      "account_number": "000000000000000001",
      "account_type": "clabe",
      "holder_id": "AAA010101AAA",
      "holder_name": "Test Customer 1",
      "institution": {
        "id": "mx_banco_bbva",
        "country": "mx",
        "name": "BBVA Mexico"
      }
    },
    "currency": "mxn",
    "direction": "inbound",
    "metadata": {},
    "mode": "test",
    "post_date": "2026-06-23T00:00:00.000Z",
    "receipt_url": "https://www.banxico.org.mx/cep/example",
    "reference_id": "000000",
    "return_reason": null,
    "status": "succeeded",
    "tracking_key": "TEST0000000000000001",
    "transaction_date": "2026-06-23T12:00:00.000Z"
  }
  ```
</CodeGroup>

<br />

<Info>
  **Simulate endpoint**

  The `/simulate/*` endpoints simulate production behavior and are available only in `test` mode.
</Info>

### Test returning an inbound transfer

The `amount` of your simulated inbound transfer determines the return outcome in `test` mode:

| Return outcome                 | Inbound transfer `amount` (smallest currency unit) |
| :----------------------------- | :------------------------------------------------- |
| Transfer returned successfully | Any value except `9999`                            |
| Failed return                  | `9999` (99.99 MXN)                                 |

## Test outbound transfers

Fintoc provides test amounts and counterparty account numbers for Mexico and Chile to simulate transfer outcomes. When you create a test outbound transfer, you receive the same webhooks you receive in `live` mode.

### Mexico 🇲🇽

To simulate a successful or returned outbound transfer, use one of the following counterparties:

| Description                                                                                                                      | Counterparty                                                                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Regular `Transfer` flow. If you have enough funds, the transfer succeeds. Otherwise the API returns an insufficient funds error. | Account Number: Any account number to a non-Fintoc institution.<br />Here are some examples of valid standardized Mexican bank account numbers (CLABEs) you can use:<br />012969100000000110<br />646969100000000214 |
| Failed transfer due to external errors.                                                                                          | Account Number: 012969100000000013                                                                                                                                                                                   |
| Returned transfer triggered by recipient institution.                                                                            | Account Number: 012969100000000026                                                                                                                                                                                   |

<br />

### Chile 🇨🇱

Use one of the following counterparties to simulate transfers in Chile:

| Description                                                                                                                      | Counterparty                                                                                                                                                      |
| -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Regular `Transfer` flow. If you have enough funds, the transfer succeeds. Otherwise the API returns an insufficient funds error. | `holder_id`: Any valid RUT<br />`holder_name`: Any name<br />`account_number`: Any account number<br />`type`: Any type<br />`institution_id`: Any institution id |
| Failed `Transfer` due to insufficient funds.                                                                                     | `holder_id`: 41579263-8<br />`holder_name`: Any name<br />`account_number`: Any account number<br />`type`: Any type<br />`institution_id`: Any institution id    |
| Returned `Transfer` due to a reversal by the Automated Clearing House (CCA).                                                     | `holder_id`: 40427672-7<br />`holder_name`: Any name<br />`account_number`: Any account number<br />`type`: Any type<br />`institution_id`: Any institution id    |
