Cobros

Tres formas de cobrar, según cuánta fricción quieras: mandarle la solicitud a la app del cliente, enseñarle un QR, o aceptar que te mande el comprobante de una transferencia. Las dos primeras se concilian solas; la tercera la revisa una persona.

Pago push a Nequi

La forma con menos fricción: el cliente recibe la solicitud en su app y solo aprueba. No hay que mandarle enlaces ni que copie nada.

# ¿Está disponible en esta organización?
curl "https://api.mosend.dev/organizations/${ORG_ID}/billing/nequi/enabled" -H "X-Api-Key: ${API_KEY}"

# Enviar la solicitud al celular
curl -X POST "https://api.mosend.dev/organizations/${ORG_ID}/billing/nequi/push" \
  -H "X-Api-Key: ${API_KEY}" -H "Content-Type: application/json" \
  -d '{ "phone": "3001234567", "amountCents": 4500000 }'

# Consultar el estado (verifica en vivo contra Nequi si sigue pendiente)
curl "https://api.mosend.dev/organizations/${ORG_ID}/billing/nequi/${PAYMENT_ID}/status" \
  -H "X-Api-Key: ${API_KEY}"

Si el cliente cierra el modal o se arrepiente, POST /billing/nequi/:paymentId/cancel cierra el pago pendiente en vez de dejarlo colgando.

QR dinámico

POST /billing/nequi/qr genera un QR por el monto exacto. Sirve cuando no tienes el número del cliente o cuando cobras en mostrador: se muestra en pantalla y el cliente lo escanea.

Conciliación: escucha, no preguntes

Consultar el estado en bucle funciona, pero desperdicia llamadas y llega tarde. Wompi avisa cuando el pago se confirma:

  • POST /webhooks/wompi — endpoint general.
  • POST /webhooks/wompi/:orgId — URL propia por organización, útil si cada una configura su cuenta en Wompi.

Los dos validan la firma del proveedor antes de tocar nada, y reconcilian el pago con la orden. No hace falta que los llames tú: se los das a Wompi.

Comprobantes Bre-B / QR

Para pagos que llegan por transferencia, el cliente reporta el comprobante y alguien de Mosend lo verifica:

  • GET /billing/payment-reports/breb-info — la llave Bre-B y el QR de cobro, para enseñárselos al cliente.
  • POST /billing/payment-reports — sube el comprobante.
  • GET /billing/payment-reports — historial, y /:id/receipt devuelve una URL firmada del archivo.

Este camino no acredita el saldo solo: queda pendiente de verificación humana. Es la diferencia con Nequi y Wompi.

Detalles que evitan sorpresas

  • Los montos van en centavos (amountCents): 45.000 COP son 4500000. Es la fuente número uno de cobros por cien veces el precio.
  • Nequi puede no estar habilitado en el servidor. Comprueba /billing/nequi/enabled antes de ofrecerlo en tu interfaz, en vez de descubrirlo con un error delante del cliente.
  • Un pago pendiente que nadie cancela queda ocupando la orden. Cierra el modal con /cancel.
  • Para vender licencias, el cobro ya va incluido en el checkout del módulo — no hace falta orquestarlo a mano. Ver licencias digitales.

Referencia completa en API · nequi-payments y API · payment-reports.