Recaudar con una plantilla
Recauda de muchos pagadores con una sola llave Bre-B o QR estático.
Este flujo recauda pagos de muchos pagadores a través de una sola dirección compartida: una plantilla multiuso emite una llave Bre-B y un QR estáticos, tú los exhibes (en una pantalla, un afiche, el pie de una factura) y cada transferencia que reciben aterriza en tu subcuenta como un pago. No hay llamada a la API por pago: la plantilla es la campaña, y los webhooks son tu registro de quién pagó qué.
Úsalo para donaciones, pagos con QR en punto físico, cuotas recurrentes o cualquier recaudo donde no necesites saber de antemano qué pago específico viene en camino.
Antes de empezar
Vas a necesitar:
- Una cuenta de Mono con Core y la feature de recaudos habilitada para tu programa. Ver Métodos: configuración del programa.
- La subcuenta que recibirá los recaudos.
- Un endpoint de webhooks suscrito a los eventos de recaudos.
- El concepto de Plantillas fresco en la cabeza.
Vista de la secuencia
Pasos
-
Crea la plantilla de recaudo.
type: "collection"es el valor por defecto; hazlamultiple_usey pide el QR:{ "external_id": "campana-2026-regreso-a-clases", "usage_mode": "multiple_use", "subaccount_id": "<subcuenta receptora>", "currency": "COP", "reference": "Regreso a clases 2026", "minimum_payin_amount": { "amount": 1000000, "currency": "COP" }, "total_maximum_amount": { "amount": 5000000000, "currency": "COP" }, "expires_at": "2026-12-31T23:59:59Z", "method_params": { "co_breb": { "create_qr": true } } } -
Espera
payin_template_readyy publica la llave y el QR donde los pagadores los vayan a ver. -
Deja fluir los pagos. Cada transferencia se convierte en un pago:
payin_created→payin_approved_in_provider→payin_subaccount_credited. La identidad del pagador llega eninstrument.payer. Así sabes quién pagó, ya que en este flujo nada identifica los pagos de antemano. -
Vigila los hitos de la campaña. Si definiste
total_minimum_amount,payin_template_minimum_paidanuncia que se alcanzó la meta;payin_template_paidanuncia el tope (total_maximum_amount) y la plantilla deja de aceptar pagos. Reabre una campaña pagada subiendo el tope con un update. -
Ciérrala. Deja que
expires_atpode la plantilla, o elimínala cuandopaid_amountesté liquidado y nada quede en vuelo. En ambos casos la llave y el QR se dan de baja ypayin_template_discardedlo confirma.
Conciliación en este flujo
Los pagos son anónimos hasta que llegan, así que concilia listando pagos por template_id y cruzando instrument.payer (documento) y amount. Si necesitas un cruce exacto pago-a-orden, esa es la señal para usar intenciones de pago en su lugar.
Siguientes pasos
- Recaudar con intenciones de pago: cuando cada pago debe identificarse de antemano.
- Liquidación: cómo el dinero recaudado llega a tu cuenta de fondeo.
- Webhooks: el catálogo completo de eventos sobre el que corre este flujo.