> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pay-me.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API de Consulta Unitaria de Devolución

> Consulta una devolución generada previamente por el API de Devoluciones.

El **API de Consulta Unitaria de Devolución** permite consultar una devolución generada anteriormente por el **API de Devoluciones**.

<ParamField path="GET /refund/{merchant_code}/{merchant_operation_number}" type="endpoint" />

<CardGroup cols={2}>
  <Card title="Pre-Producción" icon="flask">
    <code>[https://api.preprod.alignet.io/refund/\{merchant\_code}/\{merchant\_operation\_number}](https://api.preprod.alignet.io/refund/\{merchant_code}/\{merchant_operation_number})</code>
  </Card>

  <Card title="Producción" icon="rocket">
    <code>[https://api.alignet.io/refund/\{merchant\_code}/\{merchant\_operation\_number}](https://api.alignet.io/refund/\{merchant_code}/\{merchant_operation_number})</code>
  </Card>
</CardGroup>

<Note>
  Esta consulta devuelve el detalle de las devoluciones asociadas a una operación del comercio. El resultado incluye `operations_count`, el listado encontrado y el `lifecycle` de cada devolución.
</Note>

***

## Request

### Path

| Campo | Descripción | Tipo |
| :- | :- | :- |
| `merchant_code` | Identificador del comercio | String |
| `merchant_operation_number` | Número de operación | 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, obligatorio para Payment Facilitator | Cadena alfanumérica | String | NO |

***

## Response

| Campo | Descripción | Ejemplo | Tipo | Obligatorio |
| :- | :- | :- | :- | :- |
| `success` | Indica si el proceso se realizó correctamente | `true`, `false` | String | SI |
| `merchant_code` | Identificador del comercio | `41bb301e-3c37-4332-accb-ed5ec19081e4` | String | SI |
| `operations_count` | Cantidad de operaciones encontradas | `1` | String | SI |
| `operations` | Array que contiene objetos de transacciones a devolver | Array | Array | SI |
| `operations[].refund_id` | UUID único de la devolución | UUID | String | SI |
| `operations[].state` | Estado de la solicitud | `REGISTERED`, `IN_PROCESS`, `RESOLVED`, `REJECTED` | String | SI |
| `operations[].refund_reason` | Motivo o detalle asociado al estado | `Solicitud recibida y validada` | String | SI |
| `operations[].merchant_operation_number` | Número de pedido de la operación | `239766` | String | SI |
| `operations[].type` | Tipo de devolución | `TOTAL`, `PARTIAL` | String | SI |
| `operations[].transaction_id` | Código alfanumérico de la transacción | `bko66gpi8czns4tcde93q96vd` | String | SI |
| `operations[].refund_amount` | Monto a devolver en centavos | `1050` | String | SI |
| `operations[].transaction_amount` | Monto original de la transacción en centavos | `1050` | String | SI |
| `operations[].currency` | Código ISO 4217 de la moneda de la transacción | `604` | String | SI |
| `operations[].additional_fields` | Diccionario para enviar campos y valores personalizados como `key:value` | Dictionary | Dictionary | NO |
| `operations[].payment_method` | Objeto relacionado al medio y procesador de pago | Object | Object | SI |
| `operations[].payment_method.name` | Nombre del método de pago | `CARD`, `YAPE`, `CUOTEALO` | String | SI |
| `operations[].payment_method.brand` | Marca de la tarjeta | `VISA`, `MSCD`, `AMEX`, `DINC` | String | SI |
| `operations[].payment_method.masked_pan` | Tarjeta enmascarada | `447411******2240` | String | SI |
| `operations[].lifecycle` | Array que contiene listado de los estados por los que pasó la devolución | Array | Array | SI |
| `operations[].lifecycle[].state` | Estado de la devolución | `REGISTERED`, `IN_PROCESS`, `RESOLVED`, `REJECTED` | String | SI |
| `operations[].lifecycle[].date` | Objeto que contiene la fecha en la que se realizó el cambio de estado | Object | Object | SI |
| `operations[].lifecycle[].date.utc_time` | Fecha en UTC | `2025-05-26T06:06:45` | String | SI |
| `operations[].lifecycle[].date.unix_time` | Fecha en unix time | `1748239605` | Integer | SI |
| `meta` | Objeto que contiene metadatos del flujo ejecutado | Object | Object | SI |
| `meta.status` | Objeto que contiene el resultado del flujo ejecutado | Object | Object | SI |
| `meta.status.code` | Código que representa el resultado del flujo ejecutado | `00` | String | SI |
| `meta.status.message_ilgn` | Objeto que contiene el mensaje resultante del flujo | Object | Object | SI |
| `meta.status.message_ilgn[].locale` | Localidad a nivel de lenguaje para el mensaje del flujo ejecutado | `es_PE` | String | SI |
| `meta.status.message_ilgn[].value` | Mensaje resultante del flujo ejecutado | `Se procesó correctamente la petición` | String | SI |

### Ejemplo (JSON)

```json theme={"system"}
{
  "success": "true",
  "merchant_code": "41bb301e-3c37-4332-accb-ed5ec19081e4",
  "operations_count": "1",
  "operations": [
    {
      "refund_id": "922178aa-ce4c-4c5f-8190-82fa7e009425",
      "state": "REGISTERED",
      "refund_reason": "Solicitud recibida y validada",
      "type": "TOTAL",
      "merchant_operation_number": "239766",
      "transaction_id": "bko66gpi8czns4tcde93q96vd",
      "refund_amount": "1050",
      "transaction_amount": "1050",
      "currency": "604",
      "payment_method": {
        "name": "CARD",
        "brand": "VISA",
        "masked_pan": "447411******2240"
      },
      "additional_fields": {
        "canal": "WEB",
        "reason": "cliente no reconoció el consumo",
        "description": "solicitud por desconocimiento"
      },
      "lifecycle": [
        {
          "state": "REGISTERED",
          "date": {
            "utc_time": "2025-05-26T06:06:45",
            "unix_time": 1748239605
          }
        }
      ]
    }
  ],
  "meta": {
    "status": {
      "code": "00",
      "message_ilgn": [
        {
          "locale": "es_PE",
          "value": "Se procesó correctamente la petición"
        }
      ]
    }
  }
}
```

***

## Siguiente paso

<CardGroup cols={2}>
  <Card title="API de Devoluciones" icon="arrow-right">
    Usa el `POST /refund` para registrar nuevas solicitudes de devolución.
  </Card>

  <Card title="Devoluciones" icon="arrow-right">
    Vuelve al overview del módulo para revisar el resto de APIs del flujo.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.