Skip to main content
En Bolivia (QR interoperable local) y en Brasil (QR PIX, incluido el código “copia e cola”) también puedes pagar a un QR de cobro en dos pasos: escanear y confirmar. El escaneo es gratis; solo se cobra al confirmar, igual que un payout normal (tu tasa + fijo). Si no envías country/currency, se asume Bolivia (BOB); para Brasil envía country: "BR" y currency: "BRL".

1. Escanea el QR (gratis)

Devuelve los datos del destinatario para que el usuario confirme a quién le paga:

2. Confirma el pago (se cobra aquí)

  • Se debita usdt_amount + fijo a tu tasa, igual que un bank_transfer.
  • El resultado es síncrono: la respuesta ya trae el estado final (completed o failed con reembolso automático) — sin esperas.
  • Reintentos con la misma idempotency_key devuelven el payout original. En Bolivia la referencia del scan es de un solo uso (un QR escaneado solo puede pagarse una vez); en Brasil el QR PIX estático es reutilizable y cada pago lleva su propia clave. El confirm también acepta settlement_asset (USDT, USDC, BTC, GOLD, SILVER o PLATINUM) para elegir el saldo virtual que se debita; si se omite, se usa el activo predeterminado de la cuenta. El servidor genera los identificadores internos del pago: el integrador solo envía la referencia devuelta por scan y el monto con dos decimales.

Reconciliación del estado

Si la respuesta síncrona no puede demostrar un estado terminal, el payout queda en processing. Consulta el recurso existente:
No crees otro payout ni uses una clave nueva. Repite la lectura hasta obtener completed o failed; un failed de confirmación implica que el débito ya fue reembolsado. Si el cliente repite el confirm con la misma clave, recibe el payout original con idempotency_hit: true.

Errores

El catálogo general de errores vive en Errores.

FAQ

No — el scan es una lectura local gratuita. Solo se cobra cuando el confirm crea el payout.
Los QR de un solo uso (referencia fija) admiten un único pago. Los QR estáticos reusables pueden pagarse legítimamente más de una vez — por eso el confirm exige una idempotency_key explícita por pago.
Todavía no — un QR dinámico responde invalid_qr_payload (400) con la guía. Pide al pagador el QR estático del destino.
La misma que un payout normal: la tasa cotizada en el confirm, congelada para esa operación, con tu spread ya incluido.
Los QR de monto fijo se pagan exacto; un descalce falla el payout con reembolso automático. Los QR de monto abierto aceptan el monto que pases en el confirm.
Reintenta con la misma idempotency_key — el QR jamás se “quema” por errores de validación: nada se crea hasta que el payload valida.
Última modificación el 3 de octubre de 2026