Usa nuestra API de Pagos a Terceros
1. Funcionamiento del API
Nuestra API de pagos resuelve este problema al ofrecer una herramienta robusta, optimizada para procesar pagos en tiempo real y adaptada a múltiples escenarios de negocio, buscando que nuestros clientes puedan realizar su dispersión de pagos desde plataformas o aplicaciones propias.
El API de Pagos a Terceros de Wompi facilita la dispersión de pagos a cuentas bancarias en Colombia mediante la creación y gestión de lotes de pagos. Los usuarios pueden enviar pagos de manera individual o en lotes, utilizando archivos compatibles o mediante solicitudes JSON.
- Contamos con un ambiente Sandbox para que los clientes puedan simular pagos, consultar respuestas, simular recargas de saldo de cuentas origen y validar reportes de pagos en ambiente de prueba.
- El API permite utilizar múltiples cuentas origen: Wompi cuenta, cuentas Bancolombia y cuentas de otros bancos autorizados.
- Se ha incorporado soporte de idempotencia para evitar la duplicidad de pagos.
- Notificación de eventos mediante un webhook.
- Adicionalmente, ofrecemos un Dashboard donde los clientes pueden:
- Consultar trazabilidad de transacciones en producción.
- Visualizar el debugger de los eventos API.
- Descargar reportes de pagos procesados.
2. Tipos de pagos disponibles a través del API
Nuestra API de dispersión de pagos ofrece flexibilidad para adaptarse a diferentes necesidades de negocio. A través de la integración, puedes realizar los siguientes tipos de pagos:
Pagos inmediatos: Permite ejecutar una orden de pago en el momento en que se solicita. Ideal para operaciones que requieren procesamiento en tiempo real, como pagos a proveedores o desembolsos a usuarios finales.
Tener en cuenta los ciclos de procesamiento ACH y cuenta origen de la dispersión
Pagos programados: Permite agendar pagos para que se procesen en una fecha específica futura. Esta funcionalidad es útil para planificar pagos de nómina, obligaciones recurrentes o pagos a terceros en fechas pactadas.
Pagos recurrentes: Permite configurar pagos que se ejecuten de manera periódica (por ejemplo, semanal, quincenal o mensual). Esta opción es ideal para automatizar pagos recurrentes como membresías o servicios periódicos.
Cada tipo de pago puede ser gestionado de manera sencilla a través de los endpoints de creación de órdenes de pago, definiendo los parámetros necesarios como el tipo de programación, la fecha deseada de ejecución y el detalle de los destinatarios.
Importante: Los pagos programados y recurrentes quedarán registrados en el sistema y serán ejecutados de acuerdo con la configuración establecida al momento de la creación. Consulta más adelante cómo realizar la configuración de cada tipo de pago.
3. Flujo general para la integración
3.1. Autenticación
Obtener las llaves de autenticación (API Key y ID Usuario Principal) desde el dashboard de Wompi.
3.2. Creación de Lote
- Pago uno a uno: Enviar una solicitud
POSTal endpoint/payoutscon el detalle de las transacciones en formato JSON. Ver Crea tu primer lote - Pago mediante archivo: Enviar una solicitud
POSTal endpoint/payouts/fileadjuntando un archivo en uno de los formatos soportados (WOMPI,SAP,PAB,DISFON,BANCO_OCCIDENTE_FC,DAVIVIENDA). Ver Crea un lote de pago por archivo
3.3 Validación de los datos enviados:
Wompi valida los datos proporcionados y los envía a procesar.
3.4 Procesamiento de los lotes de pago e inicio del proceso de pago
Wompi procesa las transacciones enviadas en los lotes y realiza el proceso de pago, utilizando el mismo banco o ACH según la cuenta seleccionada.
3.5. Consultas y eventos del cambio de estado de las transacciones
Consultar el estado de los lotes y transacciones utilizando los endpoints proporcionados para obtener información detallada o la actualización de cada pago enviadas a través del webhook.
3.6. Reportes:
Reportes consolidados por lotes y transacciones disponibles a través del API o el dashboard de Wompi.
4. Consideraciones generales
- Moneda: Todas las transacciones se realizan en pesos colombianos (COP).
- Montos: Los montos se manejan en centavos y en formato entero, donde los dos ultimos digitos corresponden a los centavos Ej.
100000equivalente a$1000,00 - Llaves de Autenticación: Es esencial obtener las llaves de autenticación (API Key y ID Usuario Principal) desde el dashboard de Wompi para interactuar con el API. Ver Llaves de autenticación
- Formatos de archivo soportados: Al crear lotes mediante archivos, el API está en la capacidad de soportar y traducir los siguientes formatos: Plantilla Wompi, PAB y SAP Bancolombia, DISFON Banco de Bogotá, Banco de Occidente FC, Davivienda.
- Límites y restricciones: Existe un límite transaccional diario de $1.500.000.000 este límite se puede ampliar o disminuir si el cliente lo requiere. Existen restricciones en cuanto al número de lotes diarios que se pueden enviar por cliente el cual es de 3.800 lotes diarios, sin embargo, cada lote no tiene restricciones en cuanto al número de transacciones que puede contener. En caso de necesitar ajustar los límites, contáctate con soporte.
- Idempotencia: Implementada para evitar pagos duplicados usando una llave unica generada por el cliente y que expira en 24 horas.
- Sandbox: Entorno disponible para simular escenarios de prueba equivalente al entorno productivo.
- Horarios de procesamiento: Los pagos se procesan en los horarios establecidos por Wompi y las entidades bancarias. Es recomendable consultar estos horarios para garantizar el procesamiento oportuno de las transacciones.

5. Datos requeridos para un pago
Al crear un lote de pagos, se deben proporcionar los siguientes datos para cada transacción:
- legalIdType (String): Tipo de identificación del beneficiario (CC, NIT, CE).
- legalId (String): Número de identificación del beneficiario.
- bankId (UUID): Identificador único del banco, obtenido del endpoint
/banks. - accountType (String): Tipo de cuenta bancaria (
AHORROS,CORRIENTE). - accountNumber (String): Número de la cuenta bancaria. Debe contener solo números y ser diferente de cero.
- name (String): Nombre completo del beneficiario.
- email (String): Correo electrónico del beneficiario.
- amount (Integer): Monto a transferir en centavos (por ejemplo, $10,000 COP se representa como 1000000).
- reference (String): Referencia única para la transacción.
- accountId (String): Identificador de la cuenta de origen, obtenido del endpoint
/accounts. - paymentType (String): Tipo de pago (
PAYROLL,PROVIDERS,OTHER).
6. Tipos de cuenta bancaria
Los tipos de cuenta bancaria admitidos por el API son:
- AHORROS: Cuenta de ahorros.
- CORRIENTE: Cuenta corriente.
7. Códigos de Bancos en Colombia
Para obtener la lista actualizada de bancos y sus identificadores únicos (bankId), se debe consultar el endpoint /banks proporcionado por Wompi.
| Banco | Código |
|---|---|
| BANCO DE BOGOTA | 1001 |
| BANCO POPULAR | 1002 |
| ITAU antes Corpbanca | 1006 |
| BANCOLOMBIA | 1007 |
| CITIBANK | 1009 |
| BANCO GNB SUDAMERIS | 1012 |
| BBVA COLOMBIA | 1013 |
| ITAU | 1014 |
| SCOTIABANK COLPATRIA S.A | 1019 |
| BANCO DE OCCIDENTE | 1023 |
| BANCOLDEX S.A. | 1031 |
| BANCO CAJA SOCIAL BCSC SA | 1032 |
| BANCO AGRARIO | 1040 |
| BANCO MUNDO MUJER | 1047 |
| BANCO DAVIVIENDA SA | 1051 |
| BANCO AV VILLAS | 1052 |
| BANCO W S.A | 1053 |
| BANCAMIA S.A | 1059 |
| BANCO PICHINCHA | 1060 |
| BANCOOMEVA | 1061 |
| BANCO FALABELLA S.A. | 1062 |
| BANCO FINANDINA S.A. | 1063 |
| BANCO SANTANDER DE NEGOCIOS CO | 1065 |
| BANCO COOPERATIVO COOPCENTRAL | 1066 |
| MIBANCO S.A. | 1067 |
| BANCO SERFINANZA S.A | 1069 |
| LULO BANK S.A. | 1070 |
| BANCO J.P. MORGAN COLOMBIA S.A | 1071 |
| FINANCIERA JURISCOOP S.A. COMP | 1121 |
| COOPERATIVA FINANCIERA DE ANTI | 1283 |
| JFK COOPERATIVA FINANCIERA | 1286 |
| COOTRAFA COOPERATIVA FINANCIER | 1289 |
| CONFIAR COOPERATIVA FINANCIERA | 1292 |
| BANCO UNION S.A | 1303 |
| COLTEFINANCIERA S.A | 1370 |
| NEQUI | 1507 |
| DAVIPLATA | 1551 |
| BANCO CREDIFINANCIERA SA. | 1558 |
| PIBANK | 1560 |
| IRIS | 1637 |
| MOVII | 1801 |
| DING TECNIPAGOS SA | 1802 |
| POWWI | 1803 |
| Ualá | 1804 |
| BANCO BTG PACTUAL | 1805 |
| BOLD CF | 1808 |
| NU | 1809 |
| RAPPIPAY | 1811 |
| COINK | 1812 |
| GLOBAL66 | 1814 |
| BANCO CONTACTAR S.A. | 1819 |
8. Validaciones Bancarias
El número de cuenta debe ser numérico y tener entre 6 y 20 caracteres.
- El código del banco debe ser válido y estar en la lista de bancos admitidos.
- Los pagos a cuentas bloqueadas o inactivas serán rechazados.
- El beneficiario debe coincidir con el titular de la cuenta en algunos bancos.
- Validaciones de saldo y límites diarios antes de procesar el pago.
9. Estados de Lotes y Transacciones
Estados de un lote
| Estado lotes | ¿Es un estado final? | Descripción | |
|---|---|---|---|
| PENDING_APPROVAL | Por aprobar | No | Estado inicial del lote, que será revisado y aprobado / rechazado por parte del rol aprobador. Aplica a pagos creados solo desde el dashboard de Wompi. |
| PENDING | En proceso | No | Lote de pago aprobado por el rol aprobador, que está en proceso de ejecución. |
| NOT_APPROVED | No aprobado | No | Lote de pago que ha sido rechazado por el rol aprobador. |
| REJECTED | Rechazado | Sí | Lote de pago rechazado por incumplimiento de políticas, errores bancarios, errores del archivo o restricciones de cuenta. |
| PARTIAL_PAYMENT | Pago parcial | No | Se da cuando un lote de pagos contiene transacciones en diferentes estados, algunas ya finalizadas y otras aun en proceso. |
| TOTAL_PAYMENT | Procesado | Sí | Todas las transacciones del lote han sido gestionadas y cuentan con un estado final, ya sea aprobado o rechazado. |
Estados de Transacción:
| Estado transacciones | ¿Es un estado final? | Descripción | |
|---|---|---|---|
| PENDING | En proceso | No | La transacción está en trámite o pendiente de ser aplicada en la cuenta del beneficiario. |
| APPROVED | Pagado | Si | La transacción se aplicó exitosamente en la cuenta del beneficiario. |
| CANCELLED | Cancelado | Si | La transacción no fue procesada y debe ser cargada nuevamente. Se genera cuando el aprobador rechaza el pago. |
| FAILED | Rechazado | Si | La transacción no se acreditó al beneficiario debido a información incorrecta o restricciones en la cuenta destino. |
10. Causales de rechazo más comunes
| Codigo | Descripción | Estado |
|---|---|---|
| D02 | Banco no existe | FAILED |
| D04 | Tipo transacción invalido | FAILED |
| D06 | Oficina pago no numérica | FAILED |
| D07 | Numero cuenta no existe | FAILED |
| D09 | Código referencia no numérico | FAILED |
| D10 | Cuenta no autorizada para acreditar | FAILED |
| D11 | Cuenta Nit no corresponden | FAILED |
| D12 | Nit proveedor no inscrito para pagos | FAILED |
| D14 | Valor errado en transacción no monetaria | FAILED |
| D15 | Pago cheque o efectivo no permitido | FAILED |
| D18 | Nit no numérico | FAILED |
| D19 | Fondos insuficientes | FAILED |
| D21 | Falta nombre beneficiario | FAILED |
| D24 | Valor 0 en destino | FAILED |
| D25 | Nit en ceros | FAILED |
| D29 | Nit pagador no inscrito servicio tarjetas | FAILED |
| D30 | Transacción no válida para clase de pago | FAILED |
| D31 | Estado cuenta pensión cancelada | FAILED |
| D32 | Código de banco no numérico | FAILED |
| D33 | Código banco en ceros | FAILED |
| D34 | Número de cuenta no numérico | FAILED |
| D35 | Fecha de aplicación invalida | FAILED |
| D37 | Oficina no valida | FAILED |
| D39 | Tipo identificación invalido | FAILED |
| D40 | Oficina no autorizada para transacción | FAILED |
| D41 | Pago sin cedula de autorizado | FAILED |
| D44 | Pensionado no inscrito para la entidad | FAILED |
| D45 | Cuenta pensión no inscrita para entidad pagadora | FAILED |
| D49 | Código de banco no permitido | FAILED |