¿Cuándo usar esta guía?
Integración Estándar (NO requiere esta guía)
Si tu caso de uso es:- Consumir la API de Confío para crear pagos desde tu aplicación
- Recibir webhooks de Confío sobre cambios de estado de pagos
- Usar una cuenta centralizada de Confío para procesar pagos de todos tus usuarios
- Contacta a tu gerente de cuenta de Confío para obtener tu
CONFIO_ACCESS_TOKEN - Proporciona la URL de tu endpoint de webhooks para recibir notificaciones
- Comienza a usar la API siguiendo la guía de creación de pagos
Programa de Partners (SÍ requiere esta guía)
Esta guía aplica únicamente si:- Eres una plataforma (ej. Shopify, Dropi, WooCommerce)
- Cada usuario de tu plataforma tiene su propia cuenta de Confío
- Necesitas que tus usuarios vinculen sus cuentas de Confío con tu plataforma
- Requieres autenticación bidireccional (handshake) entre sistemas
Autenticación de Webhooks
Cuando Confío envía webhooks a tu plataforma, se autentica usando elPARTNER_ACCESS_TOKEN. Este token es diferente del CONFIO_ACCESS_TOKEN que tú usas para consumir la API de Confío:
CONFIO_ACCESS_TOKEN: Token que tú usas para autenticarte cuando llamas a la API de ConfíoPARTNER_ACCESS_TOKEN: Token que Confío usa para autenticarse cuando envía webhooks a tu plataforma
PARTNER_ACCESS_TOKEN que debes validar en tus endpoints.
Ejemplo de webhook recibido:
Esta guía está dirigida a desarrolladores que desean convertirse en partners de Confío. Explica el flujo de autenticación mutua (handshake) entre tu plataforma y Confío para que los comercios conecten sus cuentas de forma segura.
Descripción general del proceso
La integración sigue un flujo simple con intercambio de tokens y verificación de firmas:- Tu plataforma genera un token de conexión único y temporal para el comercio (recomendado: JWT firmado o token opaco con TTL)
- El usuario copia ese token y lo introduce en Confío
- Confío valida el token llamando a tu API
- Si es válido, Confío crea un access token para tu plataforma y lo envía mediante un webhook “handshake”
- Ahora ambas plataformas pueden comunicarse de forma segura usando tokens válidos y firmas HMAC
Requisitos previos
Para implementar la integración, necesitas:- Un endpoint para validar el token y devolver datos del comercio:
GET /confio/merchant - Un endpoint para recibir webhooks de Confío:
POST /confio/notifications - Capacidad para generar/verificar tokens seguros (JWT o tokens opacos con TTL)
- Secret compartido para firmas HMAC de webhooks (suministrado por Confío)
- Registro como proveedor oficial (contacta a nuestro equipo: +57 304 671 7568)
Paso 1: Generar token de conexión
Tu plataforma debe proporcionar una interfaz gráfica o API donde los usuarios puedan generar un token de conexión para Confio. Este token debe:- Ser único para cada comercio
- Contener información suficiente para identificar al comercio en tu plataforma
Ejemplo de implementación
Paso 2: Implementar endpoint de información del comerciante
Debes crear un endpoint en tu API que Confio utilizará para autenticar al comercio mediante el token y obtener información completa del comerciante:GET /confio/merchant. Este endpoint recibe el token en el encabezado de autorización Authorization: Bearer <token>.
El endpoint debe:
- Verificar que el token es válido
- Obtener la información del comerciante
- Devolver la información del comerciante; en caso de error, usar códigos adecuados
Solicitud
CONNECTION_TOKEN es el token que el usuario ingresó en Confio.
Respuesta 200 (ejemplo)
Errores comunes
- 400 Invalid token or purpose
- 401 Unauthorized: Bearer token required
- 403 Token expired or revoked
- 404 Organization not found
- 429 Too Many Requests
- 5xx Internal server errors
Ejemplo de implementación
Paso 3: Recibir webhooks de Confío (handshake y otros)
Confio enviará notificaciones a tu plataforma a través del endpoint que proporcionaste. Para el proceso de conexión inicial, Confio enviará una notificación de tipohandshake que incluye información de la organización.
Encabezados
- Authorization:
Bearer PARTNER_ACCESS_TOKEN- Este es el token que TÚ generaste en el Paso 1 y que Confío usa para autenticarse contigo - X-Confio-Event:
handshake | teardown | ...- Tipo de evento
Ejemplo (curl)
IMPORTANTE: El CONFIO_ACCESS_TOKEN en el body es el token que Confío genera para que TÚ lo uses en futuras llamadas a la API de Confío. Debes almacenar este token de forma segura.
Validación del tipo de notificación
El endpoint/confio/notifications recibe notificaciones identificadas por el encabezado X-Confio-Event. Es crucial que verifiques este encabezado antes de procesar cualquier notificación, ya que en el futuro Confio podría enviar diferentes tipos de eventos a este mismo endpoint.
Para el proceso de conexión inicial, el valor del encabezado será handshake. Este tipo de notificación incluye:
organization: ID de la organización en tu sistemastore: ID de la tienda en tu sistematoken: ElCONFIO_ACCESS_TOKENque debes almacenar para hacer llamadas a la API de Confío
Ejemplo de implementación
Paso 4: Utilizar los tokens para comunicación API
Una vez completado el intercambio de tokens, ambas plataformas pueden comunicarse entre sí utilizando los tokens de acceso.Llamadas desde tu plataforma a Confio
Utiliza elCONFIO_ACCESS_TOKEN que recibiste en el webhook de handshake para autenticar tus llamadas a la API de Confío.
Ejemplo de llamada a la API de Confio para obtener el estado de un pago:
Recibir llamadas de Confio
Confio utilizará elPARTNER_ACCESS_TOKEN (que tú generaste) para autenticar sus solicitudes a tu API mediante webhooks.
Eliminar integración
El usuario tendrá la opción de eliminar la integración una vez vinculada. Para esto, Confio emitirá una notificación a tu plataforma a través de un webhook con el tipo de eventoteardown. Este evento incluirá la información de la organización y la tienda en el payload.
Especificación del webhook
Ejemplo de implementación
Seguridad y mejores prácticas
- Utiliza HTTPS: Todas las comunicaciones deben realizarse a través de HTTPS.
- Valida los tokens: Siempre verifica la autenticidad de los tokens recibidos.
- Almacenamiento seguro: Guarda los tokens en un almacenamiento seguro y cifrado.
Pruebas de integración
Confio proporciona un entorno de sandbox para probar tu integración antes de pasar a producción. Contacta a nuestro equipo para obtener credenciales de sandbox.Flujo de prueba recomendado
- Genera un token de conexión en tu entorno de desarrollo
- Utiliza la interfaz de sandbox de Confio para introducir el token
- Verifica que tu endpoint de validación recibe y procesa correctamente la solicitud
- Confirma que tu endpoint de webhook recibe el token de Confio
- Prueba las llamadas API en ambas direcciones
Soporte y recursos adicionales
Si encuentras problemas durante la integración, puedes:- Consultar nuestra documentación de referencia de API
- Contactar a nuestro equipo de soporte en [email protected]