Skip to main content
El API de Consulta permite consultar una transacción generada previamente por el API de Autorización para ecommerce. Es la forma recomendada de confirmar el estado final desde backend, especialmente en métodos asíncronos o cuando necesitas una segunda validación del resultado.
GET /charges/{merchant_code}/{merchant_operation_number}/{transaction_id}
endpoint
Usa este API para validar el resultado final de una operación desde backend. También aplica al flujo Checkout Web (Flex) como segunda validación luego de responseCallback, redirect o cualquier confirmación preliminar mostrada al usuario.

¿Qué cubre esta sección?

Validación final

Confirma desde backend si la transacción terminó en estado autorizado, pendiente, expirado, cancelado u otro estado relevante para tu negocio.

Métodos asíncronos

Es especialmente útil para QR, Transferencia Bancaria, Cuotéalo y PagoEfectivo, donde el resultado final puede cambiar luego de la autorización inicial.

Checkout Web (Flex)

Si integras Flex, usa esta consulta como segunda validación antes de cerrar la orden o marcar el pago como exitoso en tu sistema.

Conciliación y soporte

Conserva merchant_code, merchant_operation_number y transaction_id para conciliación, soporte operativo y seguimiento de reclamos.

Métodos disponibles

API de Consulta con Tarjeta

Verifica el resultado de cobros con tarjeta y realiza conciliación.

API de Consulta con Yape

Consulta el estado de pagos con Yape cuando necesitas respaldo adicional.

API de Consulta con Transferencia Bancaria

Consulta operaciones con retorno diferido o pendientes de confirmación.

API de Consulta con QR

Úsala para validar pagos QR luego del redirect o durante polling controlado.

API de Consulta con Cuotéalo

Consulta el estado actualizado de operaciones en cuotas.

API de Consulta con PagoEfectivo

Verifica operaciones que completan su confirmación fuera de la sesión inicial.

Request

Antes de consumir este endpoint, solicita tu Access Token en Autenticación.

Path

GET {{base}}/charges/{merchant_code}/{merchant_operation_number}/{transaction_id}
CampoDescripciónFormatoTipo
merchant_codeIdentificador del comercio.Cadena alfanuméricaString
merchant_operation_numberNúmero de operación registrado por el comercio.Cadena alfanuméricaString
transaction_idIdentificador único de la transacción. Se usa para consultar una sola transacción dentro de una operación.Cadena alfanuméricaString

Headers

CampoDescripciónValorTipoObligatorio
AuthorizationToken de identificación creado previamente en API de Seguridad.Bearer {access_token}StringSI
ALG-API-VERSIONVersión del API a usar.1709847567StringSI
payment-facilitator-codeIdentificador del Facilitador de Pago.Cadena alfanuméricaStringNO
Authorization: Bearer {access_token}
ALG-API-VERSION: 1709847567
payment-facilitator-code: {pf_code}

Response

El orquestador responde el detalle de la operación y el listado de transacciones asociadas. Si consultas una transacción específica, la estructura es la misma y operation.transactions contendrá solo la transacción solicitada.

Operación

CampoDescripciónTipoObligatorio
successIndica si el proceso se realizó correctamente. Valores esperados: true o false.StringSI
merchant_codeIdentificador del comercio.StringSI
operationObjeto con el detalle de la operación.ObjectSI
operation.merchant_operation_numberNúmero de pedido de la operación consultada.StringSI
operation.amountMonto total de la operación.StringSI
operation.currencyCódigo de moneda de la operación.StringSI
operation.stateEstado actual de la operación. Valores frecuentes: REGISTRADO, PENDIENTE, AUTORIZADO, CANCELADO, EXPIRADO, LIQUIDADO, DEPOSITADO.StringSI
operation.transactionsLista de transacciones realizadas sobre la operación. Cambia según el método de pago: Tarjeta, Transferencia Bancaria, QR, Yape, Cuotéalo, PagoEfectivo.ArraySI
CampoDescripciónTipoObligatorio
operation.transactions[].transaction_idIdentificador único de la transacción.StringSI
operation.transactions[].channelCanal en el que se realizó la transacción. Valor esperado: ecommerce.StringSI
operation.transactions[].stateEstado actual de la transacción. Puede ser REGISTRADO, PENDIENTE, AUTORIZADO, CANCELADO, EXPIRADO, LIQUIDADO o DEPOSITADO.StringSI
operation.transactions[].state_reasonObservación o motivo del estado.StringSI
operation.transactions[].amountMonto de la transacción.StringSI
operation.transactions[].currencyCódigo de moneda de la transacción.StringSI
operation.transactions[].payment_methodObjeto con información del método de pago usado en la transacción.ObjectSI
operation.transactions[].payment_method.method_nameNombre del método de pago usado. Ejemplos: CARD, BANK_TRANSFER, QR, YAPE, CUOTEALO, PAGOEFECTIVO.StringSI
operation.transactions[].payment_method.method_detailsObjeto con información específica del método. Su estructura varía por flujo y se documenta en cada página de método.ObjectSI
CampoDescripciónTipoObligatorio
operation.transactions[].payment_method.method_details.redirect_urlURL de redirect enviada durante la autorización.StringNO
operation.transactions[].payment_method.method_details.callback_urlURL de callback enviada durante la autorización.StringNO
operation.transactions[].continue_urlVisible en estado PENDIENTE. Se usa para continuar el flujo de pago en CARD con redirect, BANK_TRANSFER y CUOTEALO.StringNO
operation.transactions[].expiration_dateVisible en estado PENDIENTE. Objeto con la fecha de expiración de la transacción para CARD con redirect, BANK_TRANSFER, PAGOEFECTIVO, QR y CUOTEALO.ObjectNO
operation.transactions[].expiration_date.utc_timeFecha de expiración en UTC.StringNO
operation.transactions[].expiration_date.unix_timeFecha de expiración en Unix time.IntegerNO
operation.transactions[].processor_responseResultado detallado del procesamiento. Visible normalmente en estados como AUTORIZADO, DENEGADO o EXTORNADO. Su estructura cambia según el método y debe tomarse como referencial.ObjectNO
operation.transactions[].additional_fieldsDatos adicionales enviados durante la autorización.DictionaryNO
CampoDescripciónTipoObligatorio
operation.transactions[].lifecycleHistorial de estados por los que pasó la transacción.ArraySI
operation.transactions[].lifecycle[].stateEstado del ciclo de vida. Valores frecuentes: REGISTRADO, PENDIENTE, AUTORIZADO, EXTORNADO, CANCELADO, EXPIRADO, LIQUIDADO, DEPOSITADO.StringSI
operation.transactions[].lifecycle[].dateObjeto con la fecha del cambio de estado.ObjectSI
operation.transactions[].lifecycle[].date.utc_timeFecha en UTC.StringSI
operation.transactions[].lifecycle[].date.unix_timeFecha en Unix time.IntegerSI
metaObjeto con metadatos del flujo ejecutado.ObjectSI
meta.statusObjeto con el resultado del flujo ejecutado.ObjectSI
meta.status.codeCódigo que representa el resultado del flujo ejecutado.StringSI
meta.status.message_ilgnLista de mensajes resultantes del flujo.ArraySI
meta.status.message_ilgn[].localeLocalidad del mensaje.StringSI
meta.status.message_ilgn[].valueMensaje resultante del flujo.StringSI
Si consultas una transacción puntual, recibirás la misma estructura de respuesta que una operación, pero operation.transactions incluirá solo la transacción solicitada.

Recomendaciones de uso

Polling controlado

Si el método es asíncrono, consulta con intervalos razonables y evita usar polling agresivo como única estrategia.

Complemento de S2S

Si ya recibes Notificaciones, usa este API como respaldo y validación adicional, no como único origen de verdad.

Flex como segunda validación

En Checkout Web (Flex), no cierres la orden solo con el resultado visual del frontend. Confirma el estado final consultando desde backend.

Conserva identificadores

Guarda merchant_operation_number y transaction_id desde la autorización para evitar consultas ambiguas y facilitar soporte.

Siguiente paso

API de Consulta con Tarjeta

Revisa el primer flujo específico por método para aterrizar la respuesta y validaciones de negocio.

Notificaciones

Combina consulta con notificaciones S2S para confirmar estados sin depender del frontend.