Creación de una Transacción

Este endpoint permite crear una transacción utilizando el identificador de reserva y el método de pago seleccionado previamente.

1. Método de Acceso

Parámetro

Descripción

URL (Versión por defecto 3.21)

{baseurl}/api/transaction

URL (Versión 3.60)

{baseurl}/api/transaction&api-version=3.60

Verbo HTTP

POST

Formato de Envío

application/json

 

2. Datos de Envío

Para realizar la transacción, se deben proporcionar los siguientes parámetros:

Campo

Descripción

ApiKey

Clave única y privada del colaborador.

ReservationId

Identificador de la reserva obtenida previamente.

IsTest

true para pruebas, false para transacciones reales.

AccessDateTime

Fecha de acceso (sin hora).

PartnerSaleId

Identificador interno de la venta (opcional).

PaymentMethod

Objeto que define el método de pago.

Client

Información del cliente (opcional).

PointOfSale

Información del punto de venta (opcional).

Products

Lista de productos y tickets incluidos en la transacción.

DeliveryMethod

Método de entrega (opcional si los tickets lo requieren).

DiscountCouponCodes

Lista de códigos de descuento aplicados (opcional).

 

3. Ejemplo de Petición

 

{

    "ApiKey": "{partnerId}",

    "ReservationId": "fdg34s334dsel",

    "IsTest": false,

    "AccessDateTime": "2025-02-05T00:00:00",

    "PartnerSaleId": "0FAF19889ADDA",

    "PaymentMethod": {

        "PaymentMethodType": 1,

        "ReturnUrlOk": "https://yourweb.com/success",

        "ReturnUrlKo": "https://yourweb.com/failure"

    },

    "Client": {

        "FullName": "Juan Pérez",

        "Surname": "López",

        "Email": "juan.perez@example.com"

    },

    "PointOfSale": {

        "CustomCode": "Shop_001",

        "Name": "My Shop",

        "Description": "My shop description"

    },

    "Products": [

        {

            "ProductId": "ctgyir9m9q4bo",

            "Tickets": [

                {

                    "TicketId": "1tqgtrf7ctefc"

                }

            ]

        },

        {

            "ProductId": "htgy4tgm9q21n",

            "Tickets": [

                {

                    "TicketId": "jkp78j40cnfh3"

                }

            ]

        }

    ]

}

 

4. Estructura de la Respuesta

Campo

Descripción

Success

true si la transacción fue exitosa, false en caso contrario.

TransactionId

Identificador de la transacción.

SaleId

Identificador de la venta.

PaymentStatus

Estado del pago (1 = No pagado3 = Pagado, etc.).

PaymentRedirectUrl

URL de redirección al pago (si aplica).

AccessDateTime

Fecha de acceso confirmada.

Products

Lista de productos incluidos en la transacción.

Tickets

Lista de tickets con su código de acceso y facturación.

Documents

URL para descargar el documento de la venta.

ErrorMessage

Mensaje de error en caso de fallo.

 

5. Ejemplo de Respuesta Exitosa

 

{

    "Success": true,

    "TransactionId": "5603191358506446612",

    "SaleId": "5603191358506446612",

    "PaymentStatus": 3,

    "AccessDateTime": "2025-02-05T00:00:00",

    "PaymentRedirectUrl": "{baseurl}/Payment/Tpv?encrypteddataforpayment",

    "Products": [

        {

            "ProductId": "ctgyir9m9q4bo",

            "AccessCode": "5058635698721396923",

            "ProviderId": "by81fymhsmjgw",

            "Status": 2,

            "Tickets": [

                {

                    "TicketId": "1tqgtrf7ctefc",

                    "AccessCode": "7338633218776390145",

                    "BillingCode": "xyz789/2025/qwerty"

                }

            ]

        }

    ],

    "Documents": [

        {

            "SalesDocumentUrl": "{baseurl}/TransactionDownload/SalesDocument?SaleId=5603191358506446612"

        }

    ]

}

6. Ejemplo de Respuesta con Error

{

    "Success": false,

    "ErrorMessage": "No se encontró la reserva especificada.",

    "Timestamp": "2025-02-05T15:42:00.000Z"

}

7. Consideraciones Finales

  • El ApiKey debe mantenerse en secreto y solo debe usarse en el servidor.
  • El ReservationId es obligatorio y debe haberse obtenido previamente.
  • El PaymentMethodType debe coincidir con un método de pago disponible.
  • Si el Success es false, revisar ErrorMessage para entender la causa del error.
  • La URL PaymentRedirectUrl es clave para completar pagos online.

El SaleId se usa posteriormente para generar facturas y controlar la venta.

¿Te ha parecido útil este artículo?