Comercio Digital

Cómo cobrar con QR desde tu propio sistema en Bolivia, sin pasarela ni intermediario

David Morales Vega28 de octubre de 20267 min de lectura
a person using a laptop and a cell phone
Foto: Marielle Ursua en Unsplash

Cobrar con QR en Bolivia es fácil cuando tienes un negocio con mostrador: imprimes el QR de tu banco, lo pegas en la caja y listo. El problema empieza cuando quien cobra no es una persona sino un sistema: una tienda online, una app con suscripciones, un sistema de gestión que emite cien cuotas al mes. Ahí el QR impreso ya no sirve, y el camino típico («pide que te manden la captura del comprobante por WhatsApp») se convierte en el cuello de botella de todo el negocio.

Este artículo cuenta cómo se integra el cobro con QR dentro de tu propio sistema, qué pide el banco, dónde están las trampas y cuánto tarda de verdad. Está escrito con lo que aprendimos certificando nuestra propia conexión con un banco boliviano y cobrando con ella. Si buscas el panorama general de los pagos digitales en el país, está en nuestra guía de pagos QR en Bolivia.

Por qué el QR boliviano se presta tan bien para esto

El QR de pagos en Bolivia es interoperable: el código lo genera el banco donde está tu cuenta y lo puede pagar cualquier persona desde la app de su propio banco, sea el que sea. Tu negocio no necesita que el cliente tenga cuenta en tu banco, ni que instale una billetera, ni que cree una cuenta en ninguna parte.

Eso tiene una consecuencia enorme para un sistema: te basta con conectar un solo banco para cobrarle a todo el país. No hace falta integrar diez bancos. Hace falta integrar bien uno.

QR estático y QR dinámico: por qué tu sistema necesita el segundo

El QR del mostrador es estático: siempre el mismo, sin monto, y el cliente escribe cuánto paga. Para un sistema eso es inservible, porque no hay forma de saber qué pago corresponde a qué pedido sin que alguien mire un extracto.

Un sistema necesita un QR dinámico: uno distinto por cada cobro, con el monto exacto, una referencia (el número de pedido, la factura, la cuota) y un vencimiento. Así, cuando el banco informa «se pagó el QR 2610280101», tu sistema sabe exactamente que era el pedido 123, de Bs 150, y lo libera solo.

Los QR dinámicos solo se obtienen por la API del banco. Y ahí empieza la parte que nadie te cuenta.

Lo que te da el banco (y lo que no)

Cuando una empresa pide a su banco cobrar por API, recibe más o menos esto:

  • Un ambiente de pruebas (certificación) y uno de producción, cada uno con sus credenciales: usuario, contraseña o PIN, y una llave para cifrar lo que se envía.
  • La documentación de la API: cómo generar un QR, cómo consultar si se pagó, cómo anularlo.
  • A veces, un aviso de pago (una llamada del banco a tu servidor cuando alguien paga).

Lo que no te da el banco:

  • La conciliación. El banco te dice qué QR se pagaron; cuadrarlos con tus pedidos es problema tuyo.
  • Las reglas de negocio: qué hacer si pagan tarde, si pagan otro monto, si pagan dos veces.
  • El trámite rápido. En nuestra experiencia, conseguir credenciales y pasar la certificación con un banco toma meses, no días, y depende de la agenda del banco más que de la tuya.

Y una lección que nos costó aprender: el aviso de pago no es confiable por sí solo. En producción puede no llegar, llegar tarde o llegar dos veces. Un sistema serio consulta al banco el estado de cada QR pendiente (lo que llamamos sondeo) y usa el aviso solo para enterarse antes. Si tu integración depende únicamente del aviso, tarde o temprano vas a tener un pedido pagado que tu sistema cree pendiente.

El flujo, paso a paso

Así funciona un cobro con QR integrado, visto desde tu sistema:

  1. Tu sistema pide el cobro. Envía el monto, la referencia, una glosa corta (lo que verá el cliente en su app del banco) y los minutos de vigencia. Recibe el QR como imagen y un identificador.
  2. Muestras el QR. En la pantalla de pago de tu tienda, en la app, en un correo, en el recibo impreso. El cliente lo escanea con la app de su banco y confirma.
  3. El banco confirma el pago. Tu plataforma de cobros lo detecta, por aviso o por consulta, y marca el cobro como pagado.
  4. Tu sistema se entera. Recibe una notificación firmada (un webhook) con la referencia y el monto, y hace lo suyo: libera el pedido, marca la cuota, emite el recibo, manda el WhatsApp.

Entre el paso 2 y el 4 no hay ninguna persona revisando nada. Esa es la diferencia entre «aceptar QR» y cobrar con QR desde tu sistema.

Las cinco trampas que vemos siempre

1. El doble clic. El cliente toca «Pagar» dos veces y tu sistema pide dos QR para el mismo pedido. Si paga uno, ¿qué pasa con el otro? La solución se llama idempotencia: cada petición lleva una clave única por intento, y si se repite, la plataforma devuelve el mismo cobro en vez de crear otro. Nunca dos cobros vigentes con la misma referencia.

2. El pago tardío. Diste 30 minutos y el cliente pagó a los 45, cuando tu sistema ya dio el pedido por vencido. El dinero llegó igual. El cobro tiene que quedar pagado, con la marca de tardío, y tu sistema tiene que decidir qué hacer (entregar o devolver), no descubrirlo en el extracto a fin de mes.

3. El monto distinto. Pagaron Bs 100 por un QR de Bs 150. Eso no se puede dar por pagado solo. Tiene que quedar en revisión, con el motivo, y resolverse a mano. Lo mismo si el banco informa una transacción que ya liquidó otro cobro.

4. El QR vencido que sigue vivo. Que tu sistema diga «vencido» no significa que nadie pueda pagarlo: hasta que el banco anula el QR, alguien puede escanearlo y pagar. La plataforma tiene que anularlo en el banco y recién entonces darlo por vencido.

5. El aviso que no llega. Ya lo dijimos: sin sondeo y sin conciliación diaria contra el banco, los pagos se pierden en silencio. Y si tu servidor estaba caído cuando llegó la notificación, alguien tiene que reintentar durante horas, no una vez.

Ninguna de estas trampas aparece en las pruebas. Aparecen el segundo mes en producción, un viernes a las siete de la noche.

¿Y el dinero? Directo a tu cuenta

Hay dos formas de cobrar con QR por sistema. Con una pasarela o agregador, el dinero entra primero a la cuenta del intermediario y después te lo transfiere, descontando su comisión y con sus plazos. Con una integración directa con tu banco, el QR lo genera tu propio banco con tus credenciales y cada pago entra directo a tu cuenta, sin pasar por nadie.

La integración directa es más trabajo al principio, pero elimina la comisión del intermediario, el riesgo de tener tu dinero en una cuenta ajena y la dependencia de un tercero para saber si te pagaron. Para un negocio que cobra todos los días, se paga sola.

Cuánto tarda y qué cuesta, sin adornos

Lo honesto:

  • El trámite con el banco es la parte lenta. Credenciales, certificación, pruebas en su ambiente, activación en producción. Meses, y el ritmo lo pone el banco.
  • La integración en tu sistema es la parte rápida, si la plataforma de cobros ya existe y ya está certificada: tu sistema llama a una API, muestra una imagen y recibe una notificación. Días.
  • Las pruebas no se saltan: primero con un banco simulado, sin dinero; después un pago real de un boliviano; recién entonces, los clientes.

Por eso conviene preguntar, antes de contratar a nadie: ¿ya tienen una conexión certificada con algún banco, o la van a construir conmigo por primera vez? La respuesta cambia el plazo de meses a días.

Lista corta antes de empezar

  • ¿En qué banco tiene su cuenta tu empresa? ¿Ese banco ofrece API de cobros QR?
  • ¿Tu sistema puede llamar a una API desde el servidor (no desde el navegador) y recibir notificaciones por HTTPS?
  • ¿Quién decide qué pasa con un pago tardío o con un monto distinto?
  • ¿Cómo vas a facturar cada cobro? El QR no reemplaza la factura.
  • ¿Quién revisa la conciliación diaria y qué pasa con lo que no cuadra?

Si quieres que lo hagamos contigo, así lo trabajamos: cobros con QR desde tu propio sistema, con una conexión bancaria ya certificada, un caso en producción y los plazos por escrito.

Sigue leyendo

¿Quieres aplicarlo en tu empresa?

Cuéntanos qué necesitas: lo vemos juntos y te proponemos un camino por escrito, en español o en inglés.

[email protected]