DELETE del orquestador, las transacciones se pueden cancelar o extornar según el estado en el que se encuentren.
Este endpoint cambia el estado de la operación según el estado actual de la transacción y el método de pago. Si necesitas confirmar el resultado final luego del cambio, apóyate también en Consulta y Notificaciones.
¿Qué cubre esta sección?
Cancelación
Las transacciones en estado
REGISTRADO o PENDIENTE pasan a estado CANCELADO para CARD cuando usa Redirect, CUOTEALO, QR, BANK_TRANSFER y PAGOEFECTIVO.Extorno
Las transacciones en estado
AUTORIZADO pasan a estado EXTORNADO para CARD y YAPE.Validación backend
Usa este endpoint para cerrar correctamente una operación desde backend cuando el negocio requiera anular o revertir el cobro.
Manejo por estado
El comportamiento no es igual para todos los métodos. La transición depende del estado actual de la transacción.
Request
Antes de consumir este endpoint, solicita tu
Access Token en Autenticación.Path
| Campo | Descripción | Formato | Tipo |
|---|---|---|---|
merchant_code | Identificador del comercio. | Cadena alfanumérica | String |
merchant_operation_number | Número de operación. | Cadena alfanumérica | String |
Headers
| Campo | Descripción | Valor | Tipo | Obligatorio |
|---|---|---|---|---|
Authorization | Token de identificación para uso del API creado previamente en API de Seguridad. | Bearer {access_token} | String | SI |
ALG-API-VERSION | Versión del API a usar. | 1709847567 | String | SI |
payment-facilitator-code | Identificador del PF. Uso obligatorio para PF. | Cadena alfanumérica | String | NO |
Response
Se devuelve la misma estructura general que el API de Consulta, con las transacciones que se pudieron cancelar o extornar de forma exitosa.Operación
Operación
| Campo | Descripción | Tipo | Obligatorio |
|---|---|---|---|
success | Indica si el proceso se realizó correctamente. Valores esperados: true o false. | Boolean | SI |
merchant_code | Identificador del comercio. | String | SI |
merchant_operation_number | Número de pedido de la operación cancelada o extornada. Puede estar presente a nivel raíz según la integración. | String | NO |
operation | Visible cuando se encontró el merchant_operation_number. Objeto con el detalle de la operación. | Object | SI |
operation.merchant_operation_number | Número de pedido de la operación cancelada o extornada. | String | SI |
operation.amount | Monto de la operación. | String | SI |
operation.currency | Código de moneda de la operación. | String | SI |
operation.state | Visible cuando la operación se pudo cancelar o extornar. Estado al cual cambió la operación. Valores frecuentes: CANCELADO, EXTORNADO. | String | SI |
operation.transactions | Lista de transacciones canceladas o extornadas sobre la operación. Este objeto cambia según el método de pago: Tarjeta, Transferencia Bancaria, QR, Yape, Cuotéalo, PagoEfectivo. | Array | SI |
Transacciones
Transacciones
| Campo | Descripción | Tipo | Obligatorio |
|---|---|---|---|
operation.transactions[].transaction_id | Identificador único de la transacción afectada. | String | SI |
operation.transactions[].channel | Canal de la transacción. Valor esperado: ecommerce. | String | SI |
operation.transactions[].state | Estado final de la transacción luego del cambio. Valores frecuentes: CANCELADO, EXTORNADO. | String | SI |
operation.transactions[].state_reason | Observación o motivo del cambio de estado. | String | SI |
operation.transactions[].amount | Monto de la transacción. | String | SI |
operation.transactions[].currency | Código de la moneda de la transacción. | String | SI |
operation.transactions[].payment_method | Objeto con información del método de pago usado. | Object | SI |
operation.transactions[].continue_url | Puede aparecer si el flujo original generó URL de continuación. | String | NO |
operation.transactions[].expiration_date | Puede aparecer si el flujo original incluía expiración. | Object | NO |
operation.transactions[].processor_response | Resultado devuelto por la procesadora. En extornos puede incluir datos específicos como reverse_date o reverse_code. | Object | NO |
operation.transactions[].authentication_result | Resultado de autenticación asociado a la transacción, cuando aplique. | Object | NO |
operation.transactions[].risk_evaluation | Resultado de evaluación antifraude, cuando aplique. | Object | NO |
operation.transactions[].additional_fields | Datos adicionales enviados en la autorización. | Object | NO |
operation.transactions[].lifecycle | Historial de estados por los que pasó la transacción. | Array | SI |
Meta
Meta
| Campo | Descripción | Tipo | Obligatorio |
|---|---|---|---|
meta | Objeto que contiene metadatos del flujo ejecutado. | Object | SI |
meta.status | Objeto que contiene el resultado del flujo ejecutado. | Object | SI |
meta.status.code | Código que representa el resultado del flujo ejecutado. | String | SI |
meta.status.message_ilgn | Lista de mensajes resultantes del flujo. | Array | SI |
meta.status.message_ilgn[].locale | Localidad a nivel de lenguaje para el mensaje del flujo ejecutado. | String | SI |
meta.status.message_ilgn[].value | Mensaje resultante del flujo ejecutado. | String | SI |
La estructura interna de
operation.transactions[] se mantiene alineada con el API de Consulta. Lo que cambia principalmente es el estado final alcanzado después de la cancelación o el extorno.Ejemplo: cancelación exitosa
Ejemplo: extorno exitoso
Siguiente paso
API de Consulta
Confirma el estado final de la operación y revisa el detalle por método cuando lo necesites.
Notificaciones
Complementa la cancelación con notificaciones S2S para trazabilidad operativa.

