Saltar al contenido principal
Para crear transferencias salientes con la API de Transferencias de Fintoc, completa la guía de configuración y luego sigue estos pasos:
  1. Configura las llaves de firma JSON Web Signature (JWS) y genera una firma JWS.
  2. Agrega fondos al root_account_number de la cuenta.
  3. Desde tu backend, crea una transferencia usando tu Secret Key y una firma JWS.
  4. Monitorea el estado de la transferencia.
El siguiente diagrama muestra cómo Fintoc interactúa contigo y con la contraparte que recibe el payout.

Paso 1: Configurar las llaves de firma JWS y generar una firma JWS

Cada solicitud a los endpoints de Transferencias de Fintoc requiere una firma JWS. JWS es un mecanismo estándar utilizado para firmar digitalmente una pieza de datos con el fin de garantizar su integridad y autenticidad. Para aprender a firmar una llamada a la API, sigue los pasos de la guía de firma JWS.

Paso 2: Agregar fondos a Fintoc

Para crear transferencias, primero fondea tu Account agregando fondos al root_account_number. El depósito aparece como una transferencia entrante.

Paso 3: Crear una transferencia

Después de agregar fondos a tu cuenta, crea una transferencia desde tu backend. Incluye tu Secret Key de prueba, firma JWS, cuenta de origen, monto, moneda y contraparte. Los ejemplos siguientes muestran respuestas exitosas de transferencia. Para probar resultados fallidos, usa la tabla de estados terminales en la sección Probar la integración más abajo.

Usa una clave de idempotencia

Fintoc admite idempotencia para reintentar transferencias de manera segura sin crear una transferencia duplicada. Al crear una transferencia, usa una clave de idempotencia. Si ocurre un error de conexión, repite la solicitud de manera segura. Para realizar una solicitud idempotente, proporciona un header Idempotency-Key en la solicitud. Aprende más sobre solicitudes idempotentes en esta guía.

Crear una transferencia para México 🇲🇽

A continuación se muestra un ejemplo que crea una transferencia de 590.13MXN.Elcampoamountestaˊenlaunidadmıˊnimadelamoneda,porloque590.13 MXN. El campo `amount` está en la unidad mínima de la moneda, por lo que 590.13 es el entero 59013.
curl
Node
Python
Una respuesta exitosa se ve así:
Las monedas se representan como enterosPor ejemplo, Fintoc representa MXN $10.29 como 1029.Puedes leer más sobre monedas aquí.
Recuerda agregar el institution IDAl transferir a una CLABE, no es necesario un institution ID de contraparte. Fintoc deduce la institución a partir del número de CLABE. Si tu contraparte es un número de teléfono móvil o una tarjeta de débito, incluye el institution ID como un número de 5 dígitos, como se muestra aquí. De lo contrario, obtendrás un error 400 Bad Request.
En México, el objeto Counterparty requiere un atributo:

Crear una transferencia para Chile 🇨🇱

A continuación se muestra un ejemplo que crea una transferencia de $1,869 CLP. Como CLP no tiene unidad menor, el campo amount es el mismo entero, 1869.
curl
Node
Python
Una respuesta exitosa se ve así:
En Chile, el objeto Counterparty requiere cinco atributos:

Paso 4: Monitorear el estado de la transferencia

Flujo de estados de la transferencia

El estado de una transferencia es uno de pending, succeeded, failed, returned, return_pending o rejected. Para más detalles sobre los estados de transferencia, consulta el modelo de datos de Transferencias.

Monitorear el estado usando webhooks

Fintoc envía un evento transfer.outbound.succeeded cuando la transferencia se liquida. Usa la guía de webhooks para recibir estos eventos y ejecutar acciones, como enviar un correo de notificación a tu cliente o registrar la transferencia en tu ERP. Recomendamos manejar los siguientes eventos:
Los webhooks pueden llegar en desordenPor ejemplo: un evento de webhook transfer.outbound.rejected podría llegar antes que el webhook transfer.outbound.succeeded de la misma transferencia, aunque la transferencia primero haya tenido éxito y luego haya sido rechazada.

Probar la integración

Usa tu Secret Key de prueba (sk_test_...) para ejecutar transferencias en modo test sin mover dinero real. Cada respuesta incluye "mode": "test". En modo test, una transferencia alcanza los mismos estados terminales que en producción. El resultado no se fuerza mediante una entrada predefinida. Depende de cómo la parte receptora resuelva la transferencia. Usa los tres estados terminales para confirmar tu manejo de webhooks: