Crear cobro
Crear cobro
POST
Crear cobro
Crea un nuevo pago en tu cuenta.
Headers
string
required
Token único para garantizar la idempotencia de la petición
Body
number
required
Monto a cobrar, en unidades mayores de la moneda (no en centavos). Enviar
1400000 con
currency: "COP" cobra $1.400.000 COP.No lo confundas con los campos de
partial_payment_config, que sí van en centavos: los
reconoces porque lo llevan en el nombre (min_amount_in_cents).string
required
Breve mensaje que se mostrará al usuario al realizar el pago
string
Código de moneda ISO (COP, USD) por defecto COP
string
Número de teléfono del cliente a enviar la solicitud de pago via whatsapp.
string
Campo opcional si quieres enviar una solicitud de pago via email
string
Referencia de pago para que el usuario pueda interactuar con el portal de recaudo.
number
Monto en la misma moneda con valor de impuestos, el valor predeterminado será del 19%
string
ID externo para relacionar el pago con un registro ya existente en tu sistema.
string
Descripción del pago
string
URL de un documento que se mostrará al usuario para que pueda realizar el pago.
date
Fecha de vencimiento del cobro, en formato
YYYY-MM-DD HH:MM:SS.No bloquea el pago: pasada esta fecha el cobro se sigue pudiendo pagar. Su
función es alimentar las reglas de cobranza ancladas al vencimiento (los
recordatorios de “por vencer”, “vence hoy” y de mora salen de acá). Es la misma
fecha que el due_date de una factura, que se copia al cobro que la cobra.date
Fecha de pago oportuno, en formato
YYYY-MM-DD (también acepta fecha y hora):
el último día para
pagar sin recargo ni suspensión del servicio.Es informativa: no bloquea el pago ni expira el cobro. Es distinta de
due_date — un recibo puede tener las dos. Las reglas de cobranza pueden anclar
recordatorios a esta fecha (disparadores “antes”, “el día” y “después” del pago
oportuno, configurables en el portal). Es la misma fecha que el
timely_payment_date de una factura, que se copia al cobro que la cobra.date
Fecha de expiración del cobro, en formato
YYYY-MM-DD HH:MM:SS.Sí bloquea el pago: al cumplirse, el cobro pasa a estado expired y deja de
poder pagarse. Si no la envías se aplica la expiración por defecto configurada
para tu empresa; si tu empresa no tiene una configurada, el cobro no expira.Son tres fechas distintas y complementarias:
due_date es cuándo vence el
documento (blanda, ancla los recordatorios de vencimiento y mora),
timely_payment_date es hasta cuándo se puede pagar sin recargo (blanda,
informativa, ancla los recordatorios de pago oportuno) y expiration_date es
hasta cuándo se puede pagar (dura, cierra el cobro). Puedes enviar una,
varias o las tres.date
Fecha en la que el cobro será enviado al usuario.
YYYY-MM-DD.array
Metadatos adicionales del pago, como una lista de pares
key / value (ambos texto):
[{"key": "salesforce_id", "value": "OP-554"}]. En la respuesta los verás como objeto:
{"salesforce_id": "OP-554"}.integer
Plantilla de WhatsApp con la que se enviará el cobro. Si no la envías, OnePay elige la plantilla según la configuración de tu canal.Obtén los valores válidos con
GET /templates: solo sirven los id que traen selectable: true, es decir, plantillas aprobadas de categoría PAYMENT que pertenecen a tu empresa o son genéricas compartidas contigo.La plantilla queda fijada en el cobro: la verás en
metadata.template_id de la respuesta y se usará también en los reenvíos. Puedes cambiarla, junto con los valores de sus marcadores, al reenviar el cobro. Si el cobro entra al motor de cobranzas, los recordatorios por etapa usan la plantilla configurada en la regla correspondiente.string
URL de redirección
array
Los pagos divididos permiten distribuir automáticamente un único pago entre múltiples destinatarios según reglas preestablecidas, optimizando la gestión de fondos sin necesidad de cálculos manuales o costos adicionales.
object
Configuración para pagos parciales. Permite que un cobro sea pagado en múltiples transacciones.
Requiere que el feature Pagos Parciales esté habilitado en tu cuenta. Contacta a soporte para activarlo.
object
Opciones de comportamiento del cobro.
Cómo funciona la llave Bre-B del cobro (
options.breb_key)- Es una llave aleatoria de 6 caracteres (por ejemplo
@K7QM3P) y vence a los 30 días. - Exige el monto exacto del cobro, y el QR ya trae ese monto cargado. Es de un solo uso.
- Mientras la llave está vigente, el cliente puede pagar el cobro por cualquier otro medio (PSE, tarjeta, WhatsApp, link de pago).
- Si el cobro se paga por otro medio, se cancela, expira o se elimina, la llave se da de baja.
- Si cambias el monto del cobro con
PUT /payments/{id}, la llave anterior se da de baja y se emite una nueva, con otro alias y otro QR. La factura impresa con la llave anterior deja de servir. - La llave no se renueva sola al vencer.
Métodos de pago permitidosEl método de pago disponible depende de la configuración de tu cuenta. Comunícate con el equipo de soporte para habilitar métodos adicionales.
Solo uno de los dos (
account_id o card_id) debe estar presente en la petición.Ejemplos de uso
- curl
- JavaScript
- Python
Response
string
Identificador único del pago
number
Monto del pago en pesos
string
Código de moneda ISO
string
Estado del pago:
pending- Pendienteprocessing- Procesandoapproved- Aprobadodeclined- Rechazadocancelled- Canceladoexpired- Expiradopartially_paid- Parcialmente pagadopartial_expired- Pago parcial expirado
string
ID del cliente que realizó el pago
string
Método de pago utilizado
string | null
Fecha de vencimiento del cobro (ISO 8601). No bloquea el pago.
string | null
Fecha de pago oportuno (ISO 8601): último día para pagar sin recargo ni
suspensión. Informativa: no bloquea el pago ni expira el cobro.
string
Descripción del pago
object
Metadatos adicionales del pago
object
Llave Bre-B del cobro para imprimir en la factura. Solo presente cuando el cobro se creó con
options.breb_key: true y la llave está vigente: emitida, sin vencer y con el cobro abierto.Si la llave no se pudo emitir al crear el cobro, el cobro se crea igual sin
breb_key y OnePay
reintenta la emisión. Consulta el cobro con GET /payments/{id} para
obtenerla.En modo de prueba (
sk_test_) la llave no se registra en Bre-B. Recibes un alias y una imagen
de QR de referencia para probar tu integración, pero no se pueden pagar.object
Información de pago parcial. Solo presente cuando
partial_payment_config está configurado.string
Fecha y hora de creación en formato ISO 8601