Skip to main content

¿Qué es una Factura?

Una factura es un documento de cobro que genera automáticamente un Payment asociado. Es útil cuando necesitas combinar la creación de un cobro con información de facturación (cliente, descripción detallada, líneas de items).
Si solo necesitas cobrar un monto sin información de facturación, usa directamente Payments.

Ejemplo Rápido

Crear una factura con múltiples items y obtener un link de pago:
curl https://api.onepay.la/v1/invoices \
  -X POST \
  -H "Authorization: Bearer sk_test_xxx" \
  -H "Content-Type: application/json" \
  -H "x-idempotency: invoice-001" \
  -d '{
    "customer_id": "9dd4158b-0e45-42bc-b56f-a4c1f856814d",
    "amount": 250000,
    "currency": "COP",
    "items": [
      {
        "name": "Plan Premium - Mes de Febrero",
        "quantity": 1,
        "price": 150000,
        "subtotal": 150000
      },
      {
        "name": "Soporte técnico adicional",
        "quantity": 2,
        "price": 50000,
        "subtotal": 100000
      }
    ],
    "metadata": {
      "invoice_number": "INV-2025-001",
      "billing_period": "2025-02"
    }
  }'
Respuesta:
{
  "id": "9e5a2b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
  "amount": 250000,
  "amount_label": "$250.000",
  "currency": "COP",
  "status": "pending",
  "customer_id": "9dd4158b-0e45-42bc-b56f-a4c1f856814d",
  "payment": {
    "id": "9e5a2b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5d",
    "payment_link": "https://checkout.onepay.la/p/9e5a2b3c"
  },
  "items": [
    {
      "name": "Plan Premium - Mes de Febrero",
      "quantity": 1,
      "price": 150000,
      "subtotal": 150000
    },
    {
      "name": "Soporte técnico adicional",
      "quantity": 2,
      "price": 50000,
      "subtotal": 100000
    }
  ],
  "created_at": "2025-02-08T15:30:00.000000Z"
}
Envía el payment_link al cliente para que complete el pago.

¿Cuándo usar Facturas?

EscenarioSolución
Cobro simple con link de pagoUsa Payments
Cobro con detalle de items y datos de facturaciónUsa Facturas
Dividir el pago entre múltiples destinatariosUsa Facturas con splits
Cobro automático a método autorizadoUsa Charges

Flujo de una factura

Crear factura (POST /invoices)
    └── Se genera un Payment automáticamente
        ├── payment_link disponible para enviar al cliente
        ├── El cliente paga
        ├── Webhook payment.approved
        └── Dispersión a beneficiarios (si hay splits)

Cobros

Al crear una factura, OnePay genera un Payment que:
  • Contiene el monto, la referencia y los metadatos del cobro
  • Expone un payment_link para que el cliente pague
  • Mantiene su estado (pending, approved, cancelled)
Las facturas pueden incluir datos del cliente (phone, email) para habilitar notificaciones automáticas.

Pagos divididos (Splits)

El pago originado por una factura puede dividirse entre varios destinatarios:
  • Definir múltiples receptores con montos o porcentajes
  • Mantener trazabilidad de quién recibe qué parte
  • Preparar la información para dispersiones automáticas
La configuración de splits se realiza en el Payment asociado a la factura.

Dispersiones

Una vez cobrado el pago, los fondos se pueden dispersar a los beneficiarios:
  • El Payment de la factura sirve como fuente de la dispersión
  • Puedes dispersar de forma total o parcial
  • Las dispersiones respetan los splits definidos

Endpoints

MétodoEndpointDescripción
POST/invoicesCrear factura
GET/invoicesListar facturas
GET/invoices/Detalle de una factura
DELETE/invoices/Eliminar factura