Skip to main content

Website Integration: End-to-End

Build a fully custom ticketshop using SECUTIX APIs for the entire purchase workflow — from catalog display to ticket purchase and payment, every step can be tailored to your specific requirements.

This architecture gives you complete control over the user experience, allowing you to build a ticketing solution that aligns precisely with your brand and business needs. It requires the most development effort, including PCI-compliant payment handling via the SECUTIX Payment Widget.


Architecture Overview​

Website End-to-End Integration Architecture

Integration Steps​

The numbered steps below correspond to the flows shown in the architecture diagram.

  1. Retrieve Catalog — Your backend calls the Catalog API to retrieve in real-time all products available on the sales channel. This includes product descriptions, names, pictures, dates, tariffs, prices, and sales periods across all product families (events, competitions, memberships, season tickets, visit passes). Since catalog calls are scoped to a {salesChannelId}, each channel can expose different products and pricing. The API is designed to be called on demand — no client-side caching is required. See Catalog Overview. Example API references: Search On-Sale Events

  2. Retrieve Availabilities — For each product on sale, your backend fetches real-time availability using the dedicated availability endpoints. Availability endpoints exist at product, event, performance, and seat level. The APIs deliver up-to-date data directly. API References: List Performance Availabilities, List Match Availabilities.

  3. Create Contact — Your backend manages customer data using the Contact API. See How to Create/Modify/Delete User Accounts.

  4. Sales — Create Order — Your backend uses the Sales API to build the cart. Start by creating an order using the appropriate operation endpoints for event tickets, memberships, or other product types. You can retrieve and display the cart contents at any time. See How to Complete an Event Sale and Understanding Orders and Sales.

  5. Shipment — Your backend retrieves the available shipment methods for the order. Different shipment modes are available depending on the contact's address and the products in the cart. Once the user selects a shipment method, update it accordingly. API references: Shipment Modes, Update Shipment Mode.

  6. Sales — Close Order — Before displaying payment options, your backend finalizes the order. This returns a task ID that you must poll until completion. This will hold the inventory until payment is fully processed or cancelled. See How to Complete an Event Sale for polling details.

  7. Embed Payment Widget — Embed the SECUTIX Payment Widget in your frontend. The widget must be initialized with parameters from step 6. Proper configuration is required to ensure continuous PCI compliance — your application never handles raw card data.

  8. Pay — The Payment Widget communicates with S-Pay (SECUTIX's payment gateway) which handles the transaction with the Adyen payment partner. Once the payment is completed and validated, a callback notifies your application of the result.

  9. Get Ticket — Your backend retrieves the generated tickets for the finalized order. This enables ticket delivery (e-tickets, PDF download, mobile wallet) directly from your application. API reference: Generate PDFs.

  10. Customer History — Your backend can access the contact's complete order history, allowing you to display past purchases, active tickets, and upcoming events in your customer account area. API reference: List Tickets.


Optional: Seatmap Widget​

For seated events, you can embed the SECUTIX Seatmap Widget directly in your frontend to let users interactively select their seats before the order is created (step 5). The widget handles 2D/3D venue rendering and seat selection, and returns the selected seat identifiers that your backend passes to the Sales API when adding operations to the order.


Usage Plan​

This integration pattern maps to the TS_END_TO_END usage plan. Available tiers: BASIC (30 req/s), STANDARD (150 req/s), PREMIUM (750 req/s). See Rate Limits for full details.