Ir al contenido

Cobro con QR (Nequi)

POST /v1/co/payin/qr

Genera un código QR para que el usuario pague escaneándolo desde su app Nequi. El estado final se confirma vía webhook.

{
"amount": 50000,
"reference": "orden-8842",
"expirationMinutes": 10
}
CampoTipoRequeridoDescripción
amountnumberMonto en pesos COP enteros (> 0)
referencestringTu referencia interna (vuelve como txIdSource en Transacciones)
expirationMinutesnumberMinutos hasta que expira el QR (default 10)
{
"txId": "9c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f",
"status": "PENDING",
"qrCode": "<payload del QR>",
"qrImage": "data:image/png;base64,...",
"expiresAt": "2026-06-01T10:10:00.000Z",
"amount": 50000,
"currency": "COP",
"estimatedFees": {
"feeClient": 1500,
"feeBase": 1261,
"iva": 239,
"netAmount": 48500,
"currency": "COP"
}
}
CampoDescripción
txIdID único de la transacción
qrCodePayload del QR (para renderizar con cualquier librería QR)
qrImageImagen PNG del QR en base64 (data URI), lista para mostrar
expiresAtTimestamp de expiración del QR
estimatedFees.feeClientFee total que se te cobrará (base + IVA, en pesos COP)
estimatedFees.netAmountMonto neto que recibirás en tu balance

GET /v1/co/payin/qr/{txId}

Misma semántica que el estado del cobro push: si sigue PENDING, la consulta sincroniza contra Nequi en el momento. Estados posibles: PENDING, COMPLETED, FAILED, EXPIRED.