Creación Simplificada de una Transacción

Este método permite realizar una transacción sin necesidad de especificar los tickets, sesiones o fechas de acceso específicas.

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 simplificada, 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).

Products

Lista de productos incluidos en la transacción.

⚠️ Importante:

  • Los tickets no deben tener sesiones ni fechas de acceso específicas.
  • Si el proveedor tiene AccessCodeMethodName = TicketWaitForIt, esta es la mejor forma de generar la transacción.

 

3. Ejemplo de Petición

{

    "ApiKey": "{partnerId}",

    "ReservationId": "giy64gjddgmmk",

    "IsTest": false,

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

    "Products": [

        {

            "ProductId": "ctgyir9m9q4bo"

        },

        {

            "ProductId": "htgy4tgm9q21n"

        }

    ]

}

4. Estructura de la Respuesta

La respuesta sigue la misma estructura que el método estándar de Creación de una Transacción, con los siguientes campos:

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.).

AccessDateTime

Fecha de acceso confirmada.

Products

Lista de productos incluidos en la transacció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",

    "Products": [

        {

            "ProductId": "ctgyir9m9q4bo",

            "AccessCode": "5058635698721396923",

            "ProviderId": "by81fymhsmjgw",

            "Status": 2

        }

    ],

    "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

  • La ApiKey debe mantenerse en secreto y solo debe usarse en el servidor.
  • El ReservationId es obligatorio y debe haberse obtenido previamente.
  • Si Success = false, revisar ErrorMessage para entender la causa del error.
  • Se recomienda usar PaymentRedirectUrl si el pago requiere una redirección externa.
  • El SaleId se usa posteriormente para generar facturas y controlar la venta.

¿Te ha parecido útil este artículo?