# Crear Transacción

Crea una transacción en el entorno.

Endpoint: POST /transaction/
Version: 1.0
Security: AppKeys

## Request fields (application/json):

  - `order_id` (string)
    Identificador externo

  - `currency` (string, required)
    Moneda en formato ISO

  - `note` (string)
    Nota

  - `extra` (object)
    Valores extra en formato JSON

  - `return_url` (string)
    URL de retorno. Se envía al cliente a esta url después de realizar el pago correctamente

  - `cancel_url` (string)
    URL de cancelación. Se envía al cliente a esta url si cancela el pago

  - `notify_url` (string)
    URL de notificación. Se envían a esta url las notificaciones de cambio de estado

  - `gateway_selected` (boolean)
    Si cuando el cliente abra la pantalla de pago la primera opción debe estar seleccionada

  - `language` (string)
    Idioma de la pantalla de pago
    Enum: "au", "es", "en", "fr"

  - `expired_date` (string)
    Fecha de expiración (por defecto, es una semana después de la creación)

  - `products` (array, required)
    Lista de elementos de producto

  - `products.amount` (number, required)
    Cantidad del producto

  - `products.product_id` (string)
    Identificador del producto existente en el API (requerido si no se envía el parámetro product)

  - `products.product` (object)
    Representa el modelo de datos para crear un producto.

  - `products.product.product_id` (string)
    Identificador externo

  - `products.product.name` (string, required)
    Nombre

  - `products.product.price` (number, required)
    Precio

  - `products.product.description` (string)
    Descripción

  - `tax_value` (number)
    Cantidad a pagar relacionada con el impuesto

  - `tax_name` (string)
    Nombre del impuesto incluido en la transacción

  - `tax` (string)
    Identificador de impuesto existente en el API

  - `shipping_value` (number)
    Cantidad a pagar relacionada con el envío

  - `shipping_name` (string)
    Nombre del envío incluido en la transacción

  - `shipping` (string)
    Identificador de envío existente en el API

  - `coupon_value` (number)
    Cantidad a descontar relacionada con el cupón

  - `coupon_name` (string)
    Nombre del cupón incluido en la transacción

  - `coupon` (string)
    Identificador de cupón existente en el API

  - `authorize` (boolean)
    Si se hace una retención o no (por defecto: false)

  - `source` (array,null)
    Origen de los fondos

  - `source.amount` (number, required)
    Cantidad

  - `source.wallet_id` (string)
    Identificador de Cuenta de Pago

  - `source.authorization_id` (string)
    Identificador de Autorización

  - `destination` (array,null)
    Destino de los fondos

  - `destination.amount` (number, required)
    Cantidad

  - `destination.wallet_id` (string, required)
    Identificador de Cuenta de Pago

## Response 201 fields (application/json):

  - `id` (string)
    Identificador único

  - `token` (string)
    Token de transacción. Se utiliza para representar la transacción de cara al usuario

  - `status` (string)
    Estado de la transacción (N - Pendiente, C - Cancelada, D - Completada, E - Expirada)
    Enum: "N", "C", "D", "E"

  - `items_price` (number)
    Precio total de todos los productos

  - `total_price` (number)
    Precio a pagar

  - `order_id` (string)
    Identificador externo

  - `currency` (string, required)
    Moneda en formato ISO

  - `note` (string)
    Nota

  - `extra` (object)
    Valores extra en formato JSON

  - `return_url` (string)
    URL de retorno. Se envía al cliente a esta url después de realizar el pago correctamente

  - `cancel_url` (string)
    URL de cancelación. Se envía al cliente a esta url si cancela el pago

  - `notify_url` (string)
    URL de notificación. Se envían a esta url las notificaciones de cambio de estado

  - `gateway_selected` (boolean)
    Si cuando el cliente abra la pantalla de pago la primera opción debe estar seleccionada

  - `language` (string)
    Idioma de la pantalla de pago
    Enum: "au", "es", "en", "fr"

  - `expired_date` (string)
    Fecha de expiración (por defecto, es una semana después de la creación)

  - `products` (array, required)
    Lista de elementos de producto

  - `tax_value` (number)
    Cantidad a pagar relacionada con el impuesto

  - `tax_name` (string)
    Nombre del impuesto incluido en la transacción

  - `tax` (string)
    Identificador de impuesto existente en el API

  - `shipping_value` (number)
    Cantidad a pagar relacionada con el envío

  - `shipping_name` (string)
    Nombre del envío incluido en la transacción

  - `shipping` (string)
    Identificador de envío existente en el API

  - `coupon_value` (number)
    Cantidad a descontar relacionada con el cupón

  - `coupon_name` (string)
    Nombre del cupón incluido en la transacción

  - `coupon` (string)
    Identificador de cupón existente en el API

  - `authorize` (boolean)
    Si se hace una retención o no (por defecto: false)

  - `source` (array,null)
    Origen de los fondos

  - `destination` (array,null)
    Destino de los fondos


## Response 400 fields

## Response 401 fields
