> ## 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.

# Recibir transferencias

> Recibe transferencias entrantes en tiempo real con la API Transfers v2023-11-15 (legacy) de Fintoc y concilia pagos contra órdenes, facturas o usuarios finales.

# 🇲🇽 Transferencias entrantes en México

Para comenzar a usar la API de Transfers de Fintoc para recibir transferencias entrantes, una vez que hayas completado la guía de configuración, solo necesitas seguir estos pasos:

1. Busca o crea un `AccountNumber` —o una [CLABE](https://es.wikipedia.org/wiki/CLABE) SPEI— usando tu **Secret Key**. Cuando inicies sesión en el dashboard comenzarás con un **Default Account Number**.
2. Crea un `WebhookEndpoint` para manejar los eventos de transferencias entrantes.
3. Recibe una transferencia en el `AccountNumber` creado y recibe notificaciones en tiempo real.

El siguiente diagrama muestra cómo interactuará Fintoc contigo y con la contraparte que crea el payin.

<Frame>
  <img src="https://mintcdn.com/fintoc-49b8bee8/SkvJJ-DZ5D4yC6tQ/images/bfbff3c18083033f40b375c994f212d521f733b6f8ead999e479c8a2604ac88c-image.png?fit=max&auto=format&n=SkvJJ-DZ5D4yC6tQ&q=85&s=5e6b057bacb1157147a60297c8cb0f9f" width="2134" height="1124" data-path="images/bfbff3c18083033f40b375c994f212d521f733b6f8ead999e479c8a2604ac88c-image.png" />
</Frame>

<br />

## Paso 1: Crear un Account Number (CLABE SPEI)

Un `AccountNumber` representa una CLABE SPEI. Puedes pensar en un account number como una referencia que puedes asignar a un cliente —o a una orden— para conciliar fácilmente tus pagos entrantes. Las empresas generalmente asignan un `Account Number` por cliente para que, cuando reciban una transferencia a ese `Account Number`, automáticamente sepan que proviene de ese cliente específico. Para saber más sobre Account Numbers, consulta el [modelo de datos](/es/v2023-11-15/guides/transfers/transfers-overview/v2-transfers-account-number-data-model).

### Adjunta datos clave-valor arbitrarios a tu account number

Cuando creas un account number, puedes adjuntarle datos clave-valor arbitrarios usando el objeto `metadata`. Puedes usar `metadata` para almacenar tu identificador único para ese account number, como tu ID interno de cliente. Cuando recibas una transferencia entrante, el objeto `metadata` vendrá adjunto para que puedas conciliar fácilmente la transferencia con tus registros internos.

### Ejemplo

Usando tu **Secret Key** de prueba y tu **Account ID**, crea un `AccountNumber` desde tu backend, adjuntando un ID interno de cliente `id_cliente`:

```bash theme={null}
curl --request POST \
     --url https://api.fintoc.com/v2/account_numbers \
     --header 'Authorization: sk_test_9c8d8CeyBTx1VcJzuDgpm4H' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "account_id": "acc_Lq7dP901xZgA2B",
  "metadata": {
   "id_cliente": "12343212"
   }
}
'
```

La respuesta debería verse así:

```json theme={null}
{
  "id": "acno_Kasf91034gj1AD",
  "object": "account_number",
  "description": "My payins",
  "number": "000000000000000000",
  "account_id": "acc_Lq7dP901xZgA2B",
  "created_at": "2024-03-01T20:09:42.949787176Z",
  "mode": "test",
  "metadata": {
    "id_cliente": "12343212"
  }
}
```

### Usando nuestro SDK

Si estás usando nuestro SDK de Python o de Node, puedes crear el account number así:

```python Python theme={null}
account_number = client.v2.account_numbers.create(
    account_id="acc_M8sKf230BgHjD4",
    metadata={"id_cliente": "12343212"}
)
```

```javascript Node theme={null}
const accountNumber = await fintoc.v2.accountNumbers.create({
  account_id: 'acc_M8sKf230BgHjD4',
  metadata: {
    'id_cliente': '1234324',
  },
});
```

<br />

## Paso 2: Crear un Webhook Endpoint para manejar eventos de transferencias entrantes

Cada vez que recibas una transferencia entrante, Fintoc te enviará un evento `transfer.inbound.succeeded`. Sigue la [guía de webhooks](/es/v2023-11-15/guides/resources/webhooks-walkthrough) para aprender cómo crear un Webhook Endpoint para recibir estos eventos y ejecutar acciones.

El evento `transfer.inbound.succeeded` se ve así:

```json json theme={null}
{
  "id": "evt_a4xK32BanKWYn",
  "type": "transfer.inbound.succeeded",
  "object": "event",
  "data": {
    "id": "tr_jKaHD105H",
    "object": "transfer",  
    "direction": "inbound",
    "status": "succeeded",
    "amount": 2864,   
    "currency": "MXN", 
    "mode": "test",
    "post_date": "2020-04-17T00:00:00.000Z", 
    "transaction_date": "2020-04-17T05:12:41.462Z",
    "comment": "Electricity bill",
    "reference_id": "130824",
    "receipt_url": "https://www.banxico.org.mx/cep/",
    "tracking_key": "s2123423423324334",
    "return_reason": null,
    "account_number": {
      "id": "acno_Kasf91034gj1AD",
      "object": "account_number",
      "account_id": "acc_Jas92lf9adg94ka",
      "description": "My payins",
      "number": "000000000000000000",
      "created_at": "2024-03-01T20:09:42.949787176Z",
      "mode": "test",
      "metadata": {
        "client_id": "12343212"
      }
    },
    "counterparty": {
      "holder_id": "AAAA010101AAA",
      "holder_name": "Test Customer 1",
      "account_number": "000000000000000000",
      "type": "clabe",  
      "institution": {
        "id": "40012",
        "name": "BBVA Mexico",
        "country": "mx" 
       }
     }
  },
  "created_at": "2020-04-22T21:10:19.254Z",
  "mode": "test"
}
```

## Paso 3: Recibir una transferencia en el account number

Ahora que has creado un account number y agregaste un webhook endpoint para manejar las notificaciones, puedes transferir a él y comenzar a conciliar tus pagos.

Si quieres probar todo en modo de prueba, puedes usar nuestro endpoint `/simulate/receive_transfer` para simular una transferencia entrante. El comportamiento es idéntico a lo que sucedería si envías una transferencia real al account number especificado. Consulta [nuestra guía de pruebas](/es/v2023-11-15/guides/transfers/test-your-integration) para aprender cómo simular una transferencia.

# 🇨🇱 Transferencias entrantes en Chile

Para comenzar a usar la API de Transfers de Fintoc para recibir transferencias entrantes, una vez que hayas completado la guía de configuración, solo necesitas seguir estos pasos:

1. Crea un `WebhookEndpoint` para manejar los eventos de transferencias entrantes.
2. Recibe una transferencia en tu `Account` y recibe notificaciones en tiempo real.

El siguiente diagrama muestra cómo interactuará Fintoc contigo y con la contraparte que crea el payin.

<Frame>
  <img src="https://mintcdn.com/fintoc-49b8bee8/YQmOnq8Zegydl6oL/images/1739789ad5079938ca7535937106a401d4a401a2106610dc98cde971fbb1ac61-image.png?fit=max&auto=format&n=YQmOnq8Zegydl6oL&q=85&s=dbade713008df9b4e563e86899d0f627" width="2182" height="1220" data-path="images/1739789ad5079938ca7535937106a401d4a401a2106610dc98cde971fbb1ac61-image.png" />
</Frame>

## Paso 1: Crear un Webhook Endpoint para manejar eventos de transferencias entrantes

Cada vez que recibas una transferencia entrante, Fintoc te enviará un evento `transfer.inbound.succeeded`. Sigue la [guía de webhooks](/es/v2023-11-15/guides/resources/webhooks-walkthrough) para aprender cómo crear un Webhook Endpoint para recibir estos eventos y ejecutar acciones.

El evento `transfer.inbound.succeeded` se ve así:

```json json theme={null}
{
  "id": "evt_a4xK32BanKWYn",
  "type": "transfer.inbound.succeeded",
  "object": "event",
  "data": {
    "id": "tr_jKaHD105H",
    "object": "transfer",  
    "direction": "inbound",
    "status": "succeeded",
    "amount": 2864,   
    "currency": "CLP", 
    "mode": "test",
    "post_date": "2020-04-17T00:00:00.000Z", 
    "transaction_date": "2020-04-17T05:12:41.462Z",
    "comment": "Electricity bill",
    "reference_id": null,
    "receipt_url": null,
    "tracking_key": null,
    "return_reason": null,
    "account_number": {
      "id": "acno_Kasf91034gj1AD",
      "object": "account_number",
      "account_id": "acc_Jas92lf9adg94ka",
      "description": "My payins",
      "number": "000000000000000000",
      "created_at": "2024-03-01T20:09:42.949787176Z",
      "mode": "test",
      "metadata": {
        "client_id": "12343212"
      }
    },
    "counterparty": {
      "holder_id": "00000000T",
      "holder_name": "Test Customer 1",
      "account_number": "000000000000000000",
      "type": "checking_account", 
      "code": "01", 
      "institution": {
        "id": "cl_banco_santander",
        "name": "Banco Santander",
        "country": "cl" 
       }
     }
  },
  "created_at": "2020-04-22T21:10:19.254Z",
  "mode": "test"
}
```

## Paso 2: Recibir una transferencia en tu Account number

Ahora que identificaste tu Account y su `root_account_number`, y agregaste un webhook endpoint para manejar las notificaciones, puedes transferir a él y comenzar a conciliar tus pagos.

Si quieres probar todo en modo de prueba, puedes usar nuestro endpoint `/simulate/receive_transfer` para simular una transferencia entrante. El comportamiento es idéntico a lo que sucedería si envías una transferencia real al account number especificado. Consulta [nuestra guía de pruebas](/es/v2023-11-15/guides/transfers/test-your-integration) para aprender cómo simular una transferencia.
