Skip to content
Last updated

Las transacciones representan las operaciones de facturación realizadas a través de un comercio. Desde la Gestión de Clientes puedes consultar el listado, obtener el detalle completo y cancelar transacciones pendientes.


Listar transacciones

Endpoint

GET /v1/qrs/merchants/{merchantId}/transactions

Host (DEV):

https://api-dev.qrwey.com

Host (PROD):

https://api.qrwey.com

Headers requeridos

Authorization: Bearer {{access_token}}

Path params

ParámetroDescripción
merchantIdID del comercio (requerido)

Query params

ParámetroDescripción
transactionIdFiltrar por ID de transacción (opcional)
statusFiltrar por estado: PENDING, USED, EXPIRED, CANCELLED (opcional)
rfcFiltrar por RFC del receptor (opcional)
pageNúmero de página (default: 0)
sizeElementos por página (default: 20)
sortCampo y dirección de ordenamiento (ej. createdAt,desc)

Ejemplo de request (DEV)

curl -X GET "https://api-dev.qrwey.com/v1/qrs/merchants/mer_4aca0361cfcd41c097663db44008fbb9/transactions?status=USED&page=0&size=10" \
  -H "Authorization: Bearer {{access_token}}"

Respuesta

{
  "content": [
    {
      "transactionId": "qr_8b3f0a61cfcd41c097663db44008fcc1",
      "rfcReceptor": "EKU9003173C9",
      "products": 3,
      "total": 1160.00,
      "createdAt": "2026-03-19T14:30:00Z",
      "expiresAt": "2026-03-19T15:30:00Z",
      "status": "USED"
    }
  ],
  "totalElements": 1,
  "totalPages": 1,
  "number": 0,
  "size": 10
}

Campos de QrTransactionSummary

CampoDescripción
transactionIdIdentificador único de la transacción
rfcReceptorRFC del receptor que escaneo el QR
productsNúmero de conceptos/productos en la transacción
totalMonto total de la transacción
createdAtFecha de creación de la transacción
expiresAtFecha de expiración del QR
statusEstado de la transacción: ACTIVE, PENDING, USED, EXPIRED, CANCELED

Obtener detalle de transacción

Endpoint

GET /v1/qrs/merchants/{merchantId}/transactions/{transactionId}

Headers requeridos

Authorization: Bearer {{access_token}}

Ejemplo de request (DEV)

curl -X GET "https://api-dev.qrwey.com/v1/qrs/merchants/mer_4aca0361cfcd41c097663db44008fbb9/transactions/qr_8b3f0a61cfcd41c097663db44008fcc1" \
  -H "Authorization: Bearer {{access_token}}"

Respuesta

{
  "transactionId": "qr_8b3f0a61cfcd41c097663db44008fcc1",
  "store": "Estación Reforma Centro",
  "issuerRfc": "FUNK671228PH6",
  "issuerName": "KARLA FUENTE NOLASCO",
  "receiverRfc": "EKU9003173C9",
  "receiverName": "ESCUELA KEMPER URGATE",
  "invoiceStatus": "GENERATED",
  "invoiceUuid": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890",
  "operation": "SALE",
  "currency": "MXN",
  "amount": 1160.00,
  "subtotal": 1000.00,
  "status": "USED",
  "expiresAt": "2026-03-19T15:30:00Z",
  "createdAt": "2026-03-19T14:30:00Z",
  "qrContent": "https://app.qrwey.com/qr?t=...",
  "qrUrl": "https://app.qrwey.com/qr?t=...",
  "qrBase64": "data:image/png;base64,iVBORw0KGgo...",
  "operationItems": [
    {
      "sku": "GAS87",
      "description": "Gasolina Magna",
      "quantity": 49.210,
      "unitPrice": 20.321,
      "amount": 1000.00,
      "satProductServiceKey": "15101515"
    }
  ]
}

Campos del detalle de transacción

CampoDescripción
transactionIdIdentificador único de la transacción
storeNombre del comercio
issuerRfcRFC del emisor
issuerNameRazón social del emisor
receiverRfcRFC del receptor (si ya fue escaneado/facturado)
receiverNameRazón social del receptor
invoiceStatusEstado de la factura asociada (ej. GENERATED, null)
invoiceUuidUUID fiscal de la factura asociada (si ya fue timbrada)
operationTipo de operación
currencyMoneda de la transacción
amountMonto total
subtotalSubtotal antes de impuestos
statusEstado de la transacción
expiresAtFecha de expiración del QR
createdAtFecha de creación
qrContentContenido codificado del QR
qrUrlURL de resolución del QR
qrBase64Imagen del QR en formato base64 (data URI)
operationItemsLista de conceptos de la operación
operationItems[].skuIdentificador interno del producto
operationItems[].descriptionDescripción del concepto
operationItems[].quantityCantidad
operationItems[].unitPricePrecio unitario
operationItems[].amountImporte del concepto
operationItems[].satProductServiceKeyClave de producto/servicio SAT

Cancelar transacción

Cancela una transacción activa o pendiente. Solo se pueden cancelar transacciones con estado ACTIVE o PENDING.

Endpoint

PATCH /v1/qrs/merchants/{merchantId}/transactions/{transactionId}/cancel

Headers requeridos

Authorization: Bearer {{access_token}}

Ejemplo de request (DEV)

curl -X PATCH "https://api-dev.qrwey.com/v1/qrs/merchants/mer_4aca0361cfcd41c097663db44008fbb9/transactions/qr_8b3f0a61cfcd41c097663db44008fcc1/cancel" \
  -H "Authorization: Bearer {{access_token}}"

Respuesta

HTTP/1.1 200 OK

La operación no devuelve cuerpo en la respuesta.


Errores comunes

CódigoMotivo
400La transacción no está en estado ACTIVE o PENDING y no puede ser cancelada
401Token inválido o expirado
404Transacción o comercio no encontrado, o no pertenece a tu cuenta

Consulta: Manejo de errores


Buenas prácticas

  • Usa los filtros de status y rfc para localizar transacciones rápidamente
  • Cancela transacciones pendientes que ya no serán facturadas para mantener el orden
  • Consulta el detalle de la transacción para verificar la información de facturación antes de generar el CFDI

¿Qué sigue?