--- title: "Flujo de pago Nómina" slug: "flujo-de-pago-de-nómina" updated: 2026-04-23T21:42:59Z published: 2026-04-23T21:42:59Z canonical: "docs.davipay.com/flujo-de-pago-de-nómina" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.davipay.com/llms.txt > Use this file to discover all available pages before exploring further. # Flujo de pago Nómina Requisitos previos Antes de dispersar pagos a empleados, es necesario: 1. Tener saldo disponible en el bolsillo correspondiente al tipo de pago (en este caso, bolsillo nómina) 1. Perfil de nómina creado (Ej: "Administrativo", "Desarrolladores", "Operativos") 1. Empleados registrados con información bancaria válida Paso a Paso: Pago de Nómina Paso 1: Recargar Bolsillo Descripción: Este paso es fundamental para asegurar que existe saldo disponible en el bolsillo asignado antes de realizar la dispersión de nómina. Los bolsillos actúan como "cuentas virtuales" segregadas por tipo de pago, permitiendo control contable granular. *1.1 Recarga de Bolsillo con Saldo* *ePayco* Descripción: Transfiere fondos desde tu saldo principal de ePayco hacia el bolsillo de nómina. Este proceso requiere autenticación de dos factores (2FA) por seguridad. Flujo 2FA/OTP: 1. Solicitar OTP: El sistema genera un código de un solo uso (OTP) y lo envía por SMS o correo electrónico 1. Validar OTP: El usuario debe ingresar el código recibido dentro del tiempo límite (30 segundos) 1. Token de sesión: Una vez validado, se genera un token de sesión temporal 1. Bloqueo por intentos: Después de 3 intentos fallidos, la operación se bloquea temporalmente Validaciones automáticas: - Verificación de límite diario de recarga - Validación de saldo disponible en cuenta ePayco - Validación del OTP Resultado: El bolsillo queda cargado con el monto especificado y se crea un registro de conciliación. Paso 2: Crear Perfil de Nómina Descripción: Los perfiles permiten segmentar a los empleados por departamento, rango salarial, o categoría laboral. Esto facilita la generación de reportes diferenciados y el control de costos por área. Endpoint: POST [https://apiflow.epayco.io/payouts/api/v2/profiles](https://apiflow.epayco.io/payouts/api/v2/profiles) Content-Type: application/json { "id_epayco": 613711, "name": "Atención al cliente", "state": true, "range_from": 1580000, "range_to": 6580000, "commerce_type": "C", "plan_type": 1010, "client_name": "default epayco" } Beneficios: - Reportes separados por área (ej: "Gasto total desarrolladores vs administrativos") - Control de rangos salariales permitidos - Facilita auditorías y análisis de costos Paso 3: Registrar Empleados Descripción: Antes de dispersar nómina, cada empleado debe estar registrado con su información bancaria completa. Endpoint: POST [https://apiflow.epayco.io/payouts/api/v2/employees](https://apiflow.epayco.io/payouts/api/v2/employees) Content-Type: application/json { "id_epayco": 123123,//<---cliente epayco id "id_plan": 1010, "document_type": "Cédula de ciudadanía", "document_number": 1010101010, "name": "juan guillermo", "last_name": "suarez velasquez", "email": "test[@gmail.com](mailto:juangsuarez@gmail.com)", "phone": 3101231212, "url_image": "", "bank": "BANCOLOMBIA", "bank_type": "Ahorros", "bank_number": "10101010101", "contract_type": "Indefinido", "start_contract": "2011-12-01T00:00:00.000Z", "salary": 3000000, "profile": "123123123123123",//id perfil "state": true, "private_label": 123, "partner": 123, "commerce_type": "C", "full_name": "juan guillermo suarez velasquez" } Validaciones: - Número de cuenta válido según formato bancario - Tipo de documento correcto - Banco registrado en el catálogo - Asociación válida a un perfil activo Paso 4: Crear Pagos de Nómina Descripción: Con el bolsillo recargado y empleados registrados, procede a crear los pagos de nómina. Puedes crear pagos individuales o masivos . *4.1 Pago Individual* Endpoint: POST [https://apiflow.epayco.io/payouts/api/v2/payments/bulk](https://apiflow.epayco.io/payouts/api/v2/payments/bulk) Content-Type: application/json [ { "id_epayco": 613711, "private_label": 4877, "partner": 0, "commerce_type": "C", "id_plan": 1010, "type": "pago proveedor", "type_payment": "saldo_epayco", "franchise": "", "state": "SIN_PROCESAR", "source_id": null, "source_type": "bolsillo", "target_type": "proveedor", "invoice_reference": "", "pay_epayco_account": false, "category": "Cultivo de cereales (excepto arroz), legumbres y semillas oleaginosas", "environment": "production", "id_pocket": 384, "target_id": 1342, "account_type": "Ahorros", "target_document_number": 1020558, "target_document_type": "Cédula de ciudadanía", "client_name": "Diséño & Más S.A.S.", "target": { "id_epayco": 613711, "client_name": "Diséño & Más S.A.S.", "id_plan": 1010, "name": "Diséño & Más S.A.S.", "state": true, "company_name": "certificacion", "document_type": "Cédula de ciudadanía", "document_number": "1010101010", "email": "[test@certificacion.com](mailto:test@certificacion.com)", "phone": 3121212212, "url_imagen": "", "bank": "DAVIPLATA", "type_account": "Ahorros", "account_number": "3121212212", "id_category": "0111", "category": "Cultivo de cereales (excepto arroz), legumbres y semillas oleaginosas", "commerce_type": "C", "id_epayco_provider": 0, "create_at": "2025-08-28T13:32:09.182Z", "id_provider": 1339, "updated_at": "2025-08-28T13:32:09.182Z", }, "category_id": "0111", "gross_total": 0, "debs_total": 0, "period_start": "2025-08-29 00:00:00", "period_end": "2025-08-29 00:00:00", "total": 10000, "description": "", "invoice": "N/A", "note": [], "value": "10000", "callback_url": "[https://miempresa.com/webhook/bulk-payment](https://miempresa.com/webhook/bulk-payment)" }] Procesamiento automático: 1. Validación de destinatarios: El sistema verifica que cada empleado existe y está activo 1. Validación de perfil: Comprueba que el empleado tiene un perfil asignado 1. Validación de saldo: Verifica que el bolsillo tiene fondos suficientes 1. Cálculo de comisiones: Genera automáticamente las comisiones ePayco 1. Persistencia: Guarda los pagos en estado SIN PROCESAR en la base de datos Step 5: Generar Dispersión (Procesamiento) Descripción: Una vez creados los pagos, se deben procesar para enviarlos al banco. El sistema decide automáticamente si usa procesamiento individual o batch según la cantidad de pagos. Endpoint: POST [https://apiflow.epayco.io/payouts/api/v2/payments/generatePayment](https://apiflow.epayco.io/payouts/api/v2/payments/generatePayment) Content-Type: application/json { "target": "proveedor", "payments": [ { "paymentId": "68ee6db37dcd1222c128c67f" } ] } Paso 6: Monitoreo y Callbacks Descripción: El sistema monitorea constantemente el estado de los pagos y notifica automáticamente a tu sistema mediante callbacks HTTP. Estados de pago: - SIN PROCESAR: Pago creado, esperando procesamiento - PENDIENTE: En tránsito hacia el banco - ACEPTADO: Dispersión exitosa - RECHAZADO: El banco rechazó la transacción - FALLIDO: Error técnico en el procesamiento Callback automático: El sistema envía un POST al callback_url configurado: POST [https://miempresa.com/webhook/payment-status](https://miempresa.com/webhook/payment-status) Content-Type: application/json { "data": { "operationId": "69cb49054334fa678e786f4c", "status": "FALLIDO", "occurredAt": "2026-04-14T00:43:25.885Z", "amount": 10000, "currency": "COP", "externalReference": null, "reasonCode": "PAYMENT_ERROR", "reasonMessage": "TypeError: Cannot read properties of undefined (reading 'message')" } } Consulta manual de estado: POST [https://apiflow.epayco.io/payouts/api/v2/payments/findone](https://apiflow.epayco.io/payouts/api/v2/payments/findone) Content-Type: application/json { "id_payment": 2200 }