Skip to main content
Un cobro (cobrança) es un cobro Pix dinámico de un solo uso que solicita un pago específico. El Plugin Pix Indirecto (BTG) admite dos tipos. Ambos tipos usan un QR Code dinámico:
  • Inmediato (COB)cobrança imediata: un cobro de corta duración por un monto fijo. Úsalo para checkout y pagos únicos.
  • Con vencimiento (COBV)cobrança com vencimento: un cobro tipo boleto con una fecha de vencimiento y multa, interés, descuento y abatimiento opcionales. Úsalo para facturas, cuotas y facturación B2B.
Esta guía cubre el ciclo de vida del cobro y el flujo de pago. Para los detalles de generación de QR Codes y la validación campo por campo, consulta la guía de QR Codes.

Ciclo de vida


Ambos tipos de cobro comparten el mismo modelo de estados: Un cobro pasa de ACTIVE a COMPLETED cuando el pagador lo paga. Pasa a REMOVED_BY_PSP cuando expira, o a REMOVED_BY_RECEIVER cuando el comercio lo elimina. Cada tipo tiene su propia ventana de validez:
  • Inmediato (COB): el cobro expira después de expirationSeconds.
  • Con vencimiento (COBV): el cobro expira en dueDate más validAfterDue días.
Después de que un cobro expira o alcanza COMPLETED, el pagador ya no puede pagarlo. El plugin también rechaza cualquier intento de eliminar o actualizar un cobro COMPLETED (PIX-0704).

Campos clave


Para COBV, el valor final depende del momento del pago. El pago anticipado aplica descuentos. El pago a tiempo usa el monto original. El pago tardío agrega multa e interés, menos cualquier abatimiento.

Crear, consultar, actualizar, eliminar


Todas las solicitudes requieren el encabezado X-Account-Id. Puedes actualizar o eliminar un cobro solo mientras está ACTIVE.

Flujo de pago


El pagador liquida un cobro con un Pix entrante (cash-in) que lleva el txId del cobro:
  1. El comercio crea un cobro y presenta su QR Code (o txId) al pagador.
  2. El pagador liquida el cobro. BTG notifica al plugin del cash-in entrante.
  3. El plugin vincula el cash-in al cobro comparando el txId del pago con el txId del cobro y el documento del receptor. (FindByTxID(txID, receiverDocument).)
  4. En caso de coincidencia, el cobro pasa a COMPLETED y el plugin registra el cash-in en Midaz como una transacción del libro mayor.
  5. El plugin emite un webhook de cobro pagado para notificar a tu sistema en tiempo real.
Cuando estableces un debtor en el cobro, el cobro registra el CPF/CNPJ del pagador esperado. El plugin no bloquea a un pagador distinto en la liquidación.

Evento de webhook al pagar


Después de que un pago liquida un cobro, el plugin encola un webhook saliente. El webhook describe el pago y el nuevo estado COMPLETED. El worker de webhooks salientes lo entrega de forma asíncrona. Configura el destino mediante las URLs de webhook de cash-in (WEBHOOK_TRANSFER_CASHIN_URL, con WEBHOOK_DEFAULT_URL como respaldo). Para los tipos de evento, payloads, reintentos y resolución de URL, consulta la guía de Webhooks.

Casos de error


Referencia


Inmediato (COB): Crear · Listar · Consultar · Actualizar · Eliminar Con vencimiento (COBV): Crear · Listar · Consultar · Actualizar

Próximos pasos