---
title: "Reembolsar Pago"
method: POST
path: "/v2/merchants/orders/{order_token}/refund"
tags: ["Pagos"]
---

# Reembolsar Pago

`POST /v2/merchants/orders/{order_token}/refund`

Este request crea un reembolso de una orden identificada por el token de la orden, el reembolso puede ser:
1. <b>Reembolso total</b>, en este caso no es necesario enviar el atributo `amount`.
2. <b>Reembolso parcial</b>, debes enviar el atributo  `amount` para especificar que es un reembolso parcial, indicando la cantidad a reembolsar.
Dependiendo del PSP pueden ser asíncronos o no, para más información revisar la siguiente <a href="https://docs.deuna.com/docs/reembolsos-as%C3%ADncronos" target="_blank">guía</a>.

## Headers

- `X-API-KEY` string, required
- `X-Idempotency-Key` string, uuid

## Request body

- object
  - `amount` number — Deberá estar expresado en centavos; por ejemplo, si el monto es $10.00, estará representado como 1000, lo que significa 10 dólares y 0 centavos.
  - `order` object
    - `airline_information` AirlineInformation — Objeto para la información de vuelos. Es Requerido solamente cuando **order_type** sea AIRLINE_ORDER.
      - `booking_items` BookingItem[] — Lista de items de la reserva, incluyendo tickets e información de la agencia de viajes.
        - `airline_3_digit_code` string — Código de 3 dígitos de la aerolínea.
        - `airline_iata_designator` string — Código de 2 dígitos para la aerolínea según el estándar IATA.
        - `ancillaries` Ancillary[] — Lista de servicios adicionales de la reserva.
          - `category_code` string — Código de categoría del servicio adicional, según los estándares de IATA (International Air Transport Association).
          - `description` string — Descripción del servicio adicional.
          - `fee_code` string — Código específico asignado al cargo o tasa del servicio adicional.
          - `service_category` string — Categoría del servicio adicional.
          - `sub_category_code` string — Código de subcategoría del servicio adicional, según los estándares de IATA (International Air Transport Association).
          - `ticket_number` string — Es el número identificador del servicio adicional.
          - `total_amount` integer — Monto del servicio adicional. Deberá estar expresado en centavos, por ejemplo si el monto es $10.00 estará representado como 1000 lo que significa 10 dólares 0 centavos.
          - `type` string — Es el tipo de servicio adicional.
          - `unit_price` integer — Precio unitario del servicio adicional. Deberá estar expresado en centavos, por ejemplo si el monto es $10.00 estará representado como 1000.
        - `e_ticket` boolean — Indica si el ticket es electrónico.
        - `legs` FlightLeg[] — Lista de vuelos de la reserva.
          - `airport_tax_amount` number — Es el monto de la tasa aeroportuaria incluida en el valor del tiquete. Debe estar expresado en centavos. Por ejemplo, si el monto es $10.00 debe representarse como 1000, lo que significa 10 dólares y 0 centavos.
          - `carrier_code` string — Código de la aerolínea que opera el vuelo. Este código debe tener una longitud de 2 caracteres.
          - `carrier_name` string — Nombre de la aerolínea que opera el vuelo.
          - `destination` FlightSegment — Objeto para la información de los segmentos de vuelo.
            - `city` string — Ciudad de origen o destino del vuelo.
            - `date` string — Fecha del vuelo en formato YYYY-MM-DD. Este campo es esencial para verificar la disponibilidad de vuelos y horarios.
            - `iata_code` string — Código IATA del aeropuerto. Este código debe tener siempre una longitud de 3 caracteres alfanuméricos.
            - `time` string — Hora del vuelo en formato HH:MM. Este campo es esencial para verificar la disponibilidad de vuelos y horarios.
          - `fare_basis_code` string — Código de base de tarifa del vuelo. Este campo es alfanumérico y puede tener una longitud máxima de 6 caracteres.
          - `flight_number` string — Número de vuelo. Este campo es alfanumérico y puede tener una longitud máxima de 6 caracteres.
          - `origin` FlightSegment — Objeto para la información de los segmentos de vuelo.
            - `city` string — Ciudad de origen o destino del vuelo.
            - `date` string — Fecha del vuelo en formato YYYY-MM-DD. Este campo es esencial para verificar la disponibilidad de vuelos y horarios.
            - `iata_code` string — Código IATA del aeropuerto. Este código debe tener siempre una longitud de 3 caracteres alfanuméricos.
            - `time` string — Hora del vuelo en formato HH:MM. Este campo es esencial para verificar la disponibilidad de vuelos y horarios.
          - `seat_location` string — Ubicación del asiento del pasajero en el vuelo.
          - `service_class` string — Código que indica el tipo de clase del vuelo. Puede ir de la A a la Z. Por ejemplo, dependiendo de la aerolínea, la letra "J" representa un vuelo de clase ejecutiva, "I" business, etc.
          - `stopover_code` 'X' | 'O' — Código que indica si el vuelo tiene una escala. "X" será para vuelos directos (array de legs con 1 elemento) y "O" para vuelos con escala (array de legs con 2 o más elementos).
          - `sub_total_amount` number — Es el monto del subtotal del vuelo. Este monto es sin impuestos. Deberá estar expresado en centavos, por ejemplo si el monto es $10.00 estará representado como 1000 lo que significa 10 dólares 0 centavos.
          - `tax_amount` number — Es el total de los impuestos del vuelo. Deberá estar expresado en centavos, por ejemplo si el monto es $10.00 estará representado como 1000 lo que significa 10 dólares 0 centavos.
          - `total_amount` number — Es el total del vuelvo esto comprende la suma del total de sub_total y total_tax_amount. Deberá estar expresado en centavos, por ejemplo si el monto es $10.00 estará representado como 1000 lo que significa 10 dólares 0 centavos.
        - `passenger` Passenger — Objeto para la información del pasajero.
          - `country_code` string — Código de país del pasajero, de acuerdo con el estándar ISO 3166-1 alpha-2.
          - `date_of_birth` string — Fecha de nacimiento del pasajero en formato YYYY-MM-DD. Este campo es esencial para verificar la elegibilidad de los pasajeros basados en la edad se debe seguir estrictamente el formato de fecha para asegurar la correcta validación.
          - `document_number` string — Número de documento de identificación del pasajero.
          - `document_type` string — Tipo de documento de identificación del pasajero. Para viajes domésticos el valor puede ser DNI o ID, para viajes internacionales se requiere el valor de Passport.
          - `email` string, email — Correo electrónico del pasajero.
          - `first_name` string — Nombre del pasajero.
          - `frequent_flyer_code` string — Número de tarjeta de viajero frecuente del pasajero. Este campo es alfanumérico.
          - `last_name` string — Apellido del pasajero.
          - `middle_name` string — Segundo nombre del pasajero.
          - `phone` string — Número de teléfono del pasajero, incluyendo el código de país en caso de ser necesario.
          - `title` string — Título de cortesía del pasajero.
          - `type` 'ADT' | 'CNN' | 'INF' | 'INS' | 'CHD' | 'SRC' | 'YTH' | 'MIL' | 'SEA' | 'STU' | 'JCB' | 'LAB' | 'ZZZ' — Type of the passenger according to IATA standard passenger type codes (PTC). Should be 3 characters long. These codes identify the category of the passenger (e.g., adult, child, infant, senior, etc.) for pricing, taxation, and fare qualification. ZZZ is the default value.
          - `user_id` string — Identificador de usuario del pasajero, proporcionado por la aplicación que realiza la integración. Este campo es almacenado como un string, su formato puede ser un UUID o cualquier otro identificador único.
        - `pnr` string — Número de reserva de la aerolínea.
        - `reservation_system_code` string — Código que identifica al sistema de reserva (GDS) utilizado para realizar la reserva y emitir el boleto.
        - `ticket_number` string — Número de ticket para la reserva. El número de ticket generalmente debe tener una longitud de 13 dígitos numéricos (por el estándar IATA). Pero puede tener una longitud maxima de 15 dígitos para algunos casos especiales.
        - `ticketing_travel_agency` TicketingTravelAgency — Objeto para la información de la agencia de viajes. Es Requerido solamente cuando el OrderType sea AIRLINE_ORDER.
          - `agency_invoice_number` string — Número de factura emitido por la agencia de viajes IATA o la aerolínea.
          - `iata_code` string — Código IATA de la agencia de viajes que emitió el ticket. Este código debe tener una longitud de 8 caracteres pero puede tener una longitud máxima de 12 caracteres para algunos casos especiales.
          - `name` string — Nombre de la agencia de viajes.
  - `reason` string, required — Razón por la cual se efectua el reembolso de la orden.

## Response `200`

Ejemplo de un Reembolso V2 exitoso

- object
  - `data` object
    - `refund_amount` object
      - `amount` string
      - `currency` string
    - `refund_id` string
    - `refunds` object[] — Lista de los reembolsos realizados en la orden
      - `external_transaction_id` string
      - `refund_amount` object
        - `amount` string
        - `currency` string
      - `refund_id` string
      - `refunded_on` string
      - `status` string
    - `status` string

## Other responses

- `400` — Respuesta de un bad request
- `401` — Respuesta de una solicitud **sin autorización** este problema es debido a el **X-API-KEY** inválido o por el **Bearer-Auth
- `404` — Ejemplo de una orden no encontrada

---

[API](https://skmtc.dev/deuna/apis/user-network-api.md) · [All operations](https://skmtc.dev/deuna/apis/user-network-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/deuna/user-network-api/revisions/df73fa00ed05/schema)
