# Reversión de Transacciones - [Reversión de Transacciones](#reversión-de-transacciones) - [Overview](#overview) - [Reversar Transacción](#reversar-transacción) ## Overview [#overview] Este endpoint permite reversar una transacción aprobada. La reversión está disponible para transacciones procesadas por Redeban (MasterCard) o Credibanco (Visa). ## Reversar Transacción [#reversar-transacción] | Nombre del campo | Descripción | Reglas | | - | - | - | | transaction_id | El `transaction_id` (consecutivo) de la transacción a reversar. Debe ser de tu comercio | `['required', 'exists:transactions,transaction_id']` | | comment | Motivo de la reversión. Queda registrado y lo ve tu operador | `['required', 'string', 'min:1', 'max:255']` | | amount | Valor a reversar en COP. Si lo omites se reversa el total. No puede superar el valor en pesos de la transacción | `['nullable', 'numeric', 'min:0', 'max:']` | **Restricciones:** - La transacción debe tener menos de un año de antigüedad - No debe tener un contracargo asociado - No puede ser una transacción tokenizada - Debe haber saldo disponible suficiente para realizar la reversión - Solo se pueden reversar transacciones realizadas con tarjeta de crédito/débito - Solo se pueden reversar transacciones procesadas por Redeban (MasterCard) o Credibanco (Visa) - Solo se pueden reversar transacciones agregadoras - Solo se pueden reversar transacciones realizadas con tarjetas Mastercard o Visa - Si la transacción ya tiene una reversión, solo se puede intentar nuevamente si el código de respuesta lo permite **Ejemplo de solicitud:** `POST /api/v1/payment/refund-transaction` Cuerpo de ejemplo: ```json { "transaction_id": "123e4567-e89b-12d3-a456-426614174000", "comment": "Reversión por solicitud del cliente" } ``` ```bash curl -X POST \ '/api/v1/payment/refund-transaction' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H "Content-type: application/json" \ -d '{ "transaction_id": "123e4567-e89b-12d3-a456-426614174000", "comment": "Reversión por solicitud del cliente" }' ``` **Respuesta exitosa:** ```json { "reversed": true, "message": "La transacción ha sido reversada." } ``` **Posibles errores:** | Código HTTP | Mensaje | |------------|-----------------------------------------------------------------------------------------------------------| | 404 | La transacción solicitada no existe en el sistema. | | 400 | La transacción no puede ser reversada porque está fuera del horario permitido (debe ser antes de las 21:00). | | 400 | La transacción no puede ser reversada porque tiene más de un año de antigüedad. | | 400 | No es posible reversar una transacción que tiene un contracargo asociado. | | 400 | No es posible reversar una transacción tokenizada. | | 400 | No hay saldo disponible suficiente para realizar la reversión. | | 400 | Solo es posible reversar transacciones realizadas con tarjeta de crédito/débito. | | 400 | Solo es posible reversar transacciones procesadas por Redeban o Credibanco. | | 400 | Solo es posible reversar transacciones agregadoras. | | 400 | Solo es posible reversar transacciones realizadas con tarjetas Mastercard o Visa. | | 400 | La transacción ya tiene una reversión y no es posible realizar otro intento. |