v1.2 Back to TicketPayGo
No results found for your search.

TicketPayGo Documentation

Welcome to the TicketPayGo documentation. Here you'll find all the information to set up your events, sell tickets and check in visitors.

Quick Start (5 minutes)

Get your first event live in 5 steps. Follow this checklist to get started quickly.

1

Install Plugin

Download the plugin from your account portal and upload to WordPress via Plugins > Add New > Upload Plugin.

2

Activate License

Go to TicketPayGo > Settings and enter your license key. You receive this via email after signup.

3

Connect Payment Provider

Choose Stripe, PayPal or Mollie. Enter your API keys at Settings > Payments. This is a one-time setup.

4

Create Event

Go to TicketPayGo > Events > New Event. Fill in title, date, location and capacity.

5

Add Tickets

Add at least one ticket type with name and price. Publish the event and you're ready to sell.

Tip: Test first with your payment provider's test mode. This way you can go through the entire process without real payments.

Installation and Activation

System Requirements

  • WordPress 5.0 or higher
  • PHP 7.4 or higher
  • SSL certificate (HTTPS) for payments

Install Plugin

  1. Log in to your TicketPayGo account
  2. Download the plugin (.zip file)
  3. In WordPress go to Plugins > Add New
  4. Click Upload Plugin and select the .zip file
  5. Click Install Now and then Activate

Activate License

  1. Go to TicketPayGo > Settings > License
  2. Enter your license key (received via email)
  3. Click Activate
Note: Your license key is linked to your domain. When moving to another domain, you can deactivate the license and reactivate it.

One-time Setup

Configure these settings once. After that, you can create unlimited events.

Connect Payment Provider

TicketPayGo supports three payment providers: Mollie (iDEAL + more), Stripe (Credit Cards), and PayPal. Choose the one that fits your needs and follow the setup guide below.

๐Ÿ’ก Which provider should I choose?
  • Mollie: Best for European customers. Supports iDEAL, Bancontact, credit cards, and more.
  • Stripe: Global solution, excellent for credit card payments worldwide.
  • PayPal: Widely recognized, good for international customers who prefer PayPal.
๐Ÿ”ฎ Future: Wero Payment Integration

Wero is the new EU-wide payment solution that will eventually replace iDEAL and other national payment methods across Europe. TicketPayGo will add Wero support once it's fully rolled out and integrated by payment providers like Mollie and Stripe.

๐Ÿ‡ช๐Ÿ‡บ Mollie Setup (iDEAL + Credit Cards)

Step 1: Create Mollie Account

  1. Go to mollie.com/signup and create an account
  2. Complete the onboarding process and verify your business details
  3. Once approved, log in to your Mollie Dashboard

Step 2: Get API Keys

  1. In Mollie Dashboard, go to Developers โ†’ API keys
  2. You'll see two types of keys:
    • Test API key (starts with test_) - for testing without real money
    • Live API key (starts with live_) - for real transactions
  3. Copy the Test API key first (we'll test before going live)

Step 3: Configure in TicketPayGo

  1. In WordPress, go to TicketPayGo โ†’ Settings โ†’ Payment Methods
  2. Find the Mollie section
  3. Paste your Test API key in the Mollie API Key field
  4. Check the Test Mode checkbox
  5. Click Save Settings

Step 4: Set Up Webhook

Webhooks ensure tickets are sent automatically when payments complete, even if customers close their browser before returning to your site.

  1. In Mollie Dashboard, go to Developers โ†’ Webhooks
  2. Click + Webhook
  3. Enter your webhook URL: https://yoursite.com/?ticketpaygo_webhook=mollie
  4. Replace yoursite.com with your actual domain
  5. Click Create webhook

Step 5: Test & Go Live

  1. Create a test event and try purchasing a ticket
  2. Use Mollie's test payment methods (they provide test card numbers)
  3. Verify you receive the ticket email with QR code
  4. When ready for production:
    • Copy your Live API key from Mollie
    • Replace the Test key in TicketPayGo settings
    • Uncheck Test Mode
    • Save settings
โœ… Mollie is ready! Your customers can now pay with iDEAL, credit cards, Bancontact, and other methods supported by Mollie.

๐Ÿ’ณ Stripe Setup (Credit Cards Worldwide)

Step 1: Create Stripe Account

  1. Go to stripe.com/register and create an account
  2. Complete the business verification process
  3. Log in to your Stripe Dashboard

Step 2: Get API Keys

  1. In Stripe Dashboard, click Developers in the top menu
  2. Go to API keys
  3. You'll see:
    • Publishable key (starts with pk_test_ or pk_live_)
    • Secret key (starts with sk_test_ or sk_live_) - click "Reveal test key"
  4. Copy both the Test Publishable key and Test Secret key

Step 3: Configure in TicketPayGo

  1. In WordPress, go to TicketPayGo โ†’ Settings โ†’ Payment Methods
  2. Find the Stripe section
  3. Paste your Publishable Key in the first field
  4. Paste your Secret Key in the second field
  5. Leave the Webhook Signing Secret empty for now (we'll add it in Step 4)
  6. Check the Test Mode checkbox
  7. Click Save Settings

Step 4: Set Up Webhook (Critical for Security!)

  1. In Stripe Dashboard, go to Developers โ†’ Webhooks
  2. Click + Add endpoint
  3. Enter your webhook URL: https://yoursite.com/?ticketpaygo_webhook=stripe
  4. Replace yoursite.com with your actual domain
  5. Under Select events to listen to, choose:
    • checkout.session.completed
    • checkout.session.expired
  6. Click Add endpoint
  7. After creating, click on the webhook to view details
  8. Click Reveal next to "Signing secret" (starts with whsec_)
  9. Copy this secret
  10. Go back to TicketPayGo โ†’ Settings โ†’ Payment Methods
  11. Paste the signing secret in the Webhook Signing Secret field
  12. Click Save Settings
โš ๏ธ Security Warning: The Webhook Signing Secret is REQUIRED for production! Without it, attackers could send fake payment confirmations to your site. Always configure this before going live.

Step 5: Test & Go Live

  1. Create a test event and try purchasing a ticket
  2. Use Stripe's test card: 4242 4242 4242 4242, any future expiry, any CVC
  3. Verify the payment completes and you receive the ticket email
  4. When ready for production:
    • Toggle to Live mode in Stripe Dashboard (top right)
    • Copy your Live Publishable key and Live Secret key
    • Create a new webhook endpoint for live mode (same URL)
    • Copy the Live Webhook Signing Secret
    • Update all three keys in TicketPayGo settings
    • Uncheck Test Mode
    • Save settings
โœ… Stripe is ready! Your customers can now pay securely with credit cards from anywhere in the world.

๐Ÿ…ฟ๏ธ PayPal Setup (PayPal + Credit Cards)

Step 1: Create PayPal Business Account

  1. Go to paypal.com/business and create a business account
  2. Complete the verification process
  3. Log in to your PayPal account

Step 2: Create REST API App

  1. Go to PayPal Developer Dashboard
  2. Log in with your PayPal business account
  3. Click Apps & Credentials
  4. Make sure you're on the Sandbox tab (for testing)
  5. Click Create App
  6. Enter an app name (e.g., "TicketPayGo")
  7. Click Create App

Step 3: Get API Credentials

  1. After creating the app, you'll see:
    • Client ID - copy this
    • Secret - click "Show" and copy this
  2. Keep these credentials safe

Step 4: Configure in TicketPayGo

  1. In WordPress, go to TicketPayGo โ†’ Settings โ†’ Payment Methods
  2. Find the PayPal section
  3. Paste your Client ID in the first field
  4. Paste your Client Secret in the second field
  5. Check the Sandbox Mode checkbox (for testing)
  6. Click Save Settings

Step 5: Test & Go Live

  1. Create a test event and try purchasing a ticket
  2. Use PayPal's sandbox test accounts (create them in Developer Dashboard)
  3. Verify the payment flow works and you receive the ticket email
  4. When ready for production:
    • In PayPal Developer Dashboard, switch to Live tab
    • Create a new app for live mode
    • Copy the Live Client ID and Live Secret
    • Update both credentials in TicketPayGo settings
    • Uncheck Sandbox Mode
    • Save settings
โœ… PayPal is ready! Your customers can now pay with PayPal or credit cards through PayPal's checkout.

๐Ÿ’ก Pro Tips:
  • Always test first: Use test mode to verify the entire payment flow before going live
  • Webhook troubleshooting: Check your WordPress error logs if payments aren't confirming automatically
  • SSL required: Your site must use HTTPS for payment providers to work
  • Currency matching: Make sure your TicketPayGo currency matches your payment provider's account currency

Email Templates

Go to TicketPayGo > Settings > Emails. Here you can customize:

  • Confirmation email: Sent after successful payment
  • Ticket email: Contains the QR code and event details
  • Sender name and email: Customize to your organization name

Basic Settings

  • Currency: Choose your default currency (EUR, USD, etc.)
  • Date format: Set how dates are displayed
  • Checkout page: Select or create a page for checkout
  • Terms & Privacy: If the Terms or Privacy URL fields are filled in, the links will be shown in the checkout modals. If they are left empty, those links stay hidden.
  • Thank you page: Where visitors land after payment

WooCommerce Order Sync (Optional)

If you also sell products through WooCommerce, you can optionally sync ticket purchases to WooCommerce orders. This keeps all your orders in one place for easier management.

๐Ÿ’ก Why use WooCommerce Order Sync?
  • Unified order management: View all orders (products + tickets) in WooCommerce's order overview
  • Guest customer tracking: Ticket buyers appear in WooCommerce even without a user account
  • Better customer insights: See complete purchase history when customers buy both products and tickets
  • No duplicate data: Tickets, QR codes, and check-ins stay in TicketPayGo โ€” only order references sync to WooCommerce

Enabling Order Sync

  1. Make sure WooCommerce is installed and activated
  2. Go to TicketPayGo โ†’ Settings โ†’ WooCommerce Integration
  3. Check "Sync Orders to WooCommerce"
  4. Save settings

When enabled, every ticket purchase automatically creates a corresponding WooCommerce order. The order includes the event name, ticket quantity, and customer details. The order status updates automatically: "Pending" while awaiting payment, "Completed" when payment is confirmed. If an order is cancelled in TicketPayGo, the WooCommerce order is also cancelled.

Note: This feature is entirely optional. TicketPayGo works standalone without WooCommerce. The sync only creates a reference copy in WooCommerce โ€” all ticket functionality (QR codes, scanning, check-ins) remains in TicketPayGo.

Create Event

Go to TicketPayGo > Events > New Event to add an event.

Basic Information

  • Title: The name of your event
  • Description: Detailed information about the event

Date and Time

  • Start date: When the event begins
  • End date: Optional, for multi-day events
  • Start and end time: The times of the event
  • Timezone: Automatically taken from WordPress

Location

  • Venue name: Name of the venue
  • Address: Street, number, postal code, city
  • Online event: Check for virtual events

Capacity

  • Maximum capacity: Total number of available spots
  • Per ticket type: You can also set a limit per ticket type

Recurring Events

TicketPayGo supports recurring events:

  • Daily, weekly, biweekly, monthly or yearly
  • Select specific days (e.g., every Monday and Wednesday)
  • Set an end date or number of repetitions
  • Apply changes to all future instances

AI Event Text

The AI Event Text button helps you write or improve your event description. It is available on every event edit page, right next to the description editor.

How it works

Open any event via TicketPayGo > Events > Edit. Below the description field you will see a purple button with a sparkle icon: AI Event Text. Click it to open the AI assistant panel.

Generate from Scratch

If your description field is empty, the AI generates a complete, polished event description based on your event title and ticket types. The text is written in the same language as your WordPress admin interface.

  1. Make sure your event has a title and at least one ticket type.
  2. Click AI Event Text.
  3. Choose Generate in the panel.
  4. Review the preview that appears. If you like it, click Apply to editor to insert the text into the description field.

Enhance Existing Text

If you already wrote a draft, the AI can improve it: make it more engaging, fix grammar, adjust tone, or restructure paragraphs. The AI detects the language from your existing text and responds in the same language.

  1. Write your draft in the description editor.
  2. Click AI Event Text.
  3. Choose Enhance in the panel.
  4. Review the improved version. If you like it, click Apply to editor to replace your draft.
Tip: The AI works best when your event title and ticket type names are descriptive. "Summer Yoga Workshop โ€” Morning Session" gives better results than "Event 1".
Note: The AI Event Text feature requires a valid license and an internet connection. No API key or extra setup is needed โ€” it is included with your TicketPayGo subscription.

Set Up Tickets

Each event needs at least one ticket type. You can create multiple types.

Add Ticket Type

In the event edit screen, scroll to Tickets and click Add Ticket Type.

  • Name: E.g., "Standard", "VIP", "Early Bird"
  • Description: What's included with this ticket
  • Price: Amount in your set currency
  • Stock: Number of available tickets of this type
  • Minimum/Maximum per order: How many can someone buy

Free Tickets

Set the price to 0 for free tickets. Visitors still go through checkout to fill in their details and receive a confirmation.

Paid Tickets

For paid tickets, the visitor is redirected to your provider's payment page. After successful payment:

  • They receive a confirmation email
  • They get an e-ticket with QR code
  • They can add the ticket to Apple Wallet

Availability Period

  • Sales start: From when tickets are available
  • Sales end: Until when tickets can be purchased
Tip: Use Early Bird tickets with an end date to create urgency.

Promo Codes

Promo Codes let you offer controlled discounts during checkout. You can use them for early-bird campaigns, partner codes, VIP invitations, last-minute promotions, or private discounts for a specific event.

Enable Promo Codes

  1. Go to TicketPayGo > Settings.
  2. Open the Feature Settings section.
  3. Enable Promo Codes and save your settings.
  4. The Promo Codes menu item will appear under TicketPayGo only when the feature is enabled.

Create a Promo Code

  1. Go to TicketPayGo > Promo Codes.
  2. Enter the code customers will type at checkout, for example EARLYBIRD10 or VIP25.
  3. Choose Percentage for a percentage discount or Fixed amount for a currency discount.
  4. Set the discount value, optional minimum order amount, maximum uses, start date, and end date.
  5. Choose whether the code applies to all events or only selected events.
  6. Save the promo code.

How Customers Use It

  • Customers enter the promo code in the booking modal or Quick Checkout.
  • TicketPayGo validates the code against the event, order amount, active dates, and usage limit.
  • When valid, the discount is shown immediately and the order total is updated before payment.
  • The applied promo code is stored with the order for reporting and campaign tracking.
Tip: Use event-specific promo codes for partners, sponsors, or private guest lists, and use global promo codes for site-wide campaigns.

Checkout & Emails

Checkout Process

The checkout process works as follows:

  1. Visitor selects tickets and quantity
  2. Fills in name and email address
  3. Chooses payment method (for paid tickets)
  4. Is redirected to payment provider
  5. Returns to thank you page after payment

Quick Checkout

Quick Checkout combines ticket selection, customer details, payment method, and terms agreement into one streamlined modal on the event page.

  • Tickets are selected directly in the event view
  • The customer fills in name, email, and optional phone number
  • The payment method is chosen without leaving the page
  • Terms & Privacy links appear only when the URLs are configured in Settings

Ticket Email

After successful payment, the buyer automatically receives:

  • Confirmation email with order details
  • QR code ticket directly in the email (PNG image)
  • Link to add ticket to Apple Wallet
  • Link to add event to calendar (Google Calendar, Apple Calendar, Outlook)

QR Code

Each ticket contains a unique QR code. This code:

  • Is linked to the specific order
  • Can only be scanned once
  • Shows ticket type and name when scanned

Apple Wallet

Visitors can add their ticket to Apple Wallet via the link in the email. The ticket shows:

  • Event name and date
  • Location
  • QR code for check-in
  • Ticket type

"Manage your tickets" link

Every confirmation email automatically includes a "Manage your tickets" link at the bottom. This link allows customers to:

  • View their order details and ticket status
  • Resend tickets to their email if they lost them
  • Access without needing a password or account

Setup (one-time)

  1. Go to TicketPayGo > Email Settings
  2. Check "Show 'Manage Tickets' Link" (enabled by default)
  3. Create a new page (e.g., "My Tickets")
  4. Add the shortcode [ticketpaygo_order_lookup] to the page
  5. Publish the page - done!
Tip: If you use WooCommerce, you don't need to create a separate page. The link automatically points to the WooCommerce "My Account" page.

How it works for customers

When a customer clicks the "Manage your tickets" link in the email:

  • They are directly sent to their order overview
  • They see their tickets, event details, and order
  • They can resend their tickets
  • The link remains valid for 30 days

The link is secure and only works for the person who placed the order.


Ticket Transfers

Ticket transfers let the original buyer securely transfer a ticket to someone else. When the recipient completes the transfer, TicketPayGo updates the ticket holder details and regenerates the QR code so the old ticket can no longer be used.

Setup

  1. Create a page and add the shortcode [ticketpaygo_transfer] to it. Transfer links in confirmation emails will point to that page automatically.
  2. Open the event and enable Allow Ticket Transfers for that specific event. Optionally set a transfer deadline.
  3. Save the event. Confirmation emails for that event will now include a secure transfer link for each ticket.
Important: The email preview shows an example transfer block, but real confirmation emails only include transfer links when ticket transfers are enabled on the event itself.

How it works

  • The buyer receives a secure transfer link for each eligible ticket.
  • Opening the link only shows the transfer form; the link is not consumed by clicking it.
  • The link expires only after the recipient completes the transfer.
  • After completion, TicketPayGo updates the ticket holder and generates a new QR code for the new owner.
  • Both the new owner and the original buyer receive confirmation emails.

Scanner & Check-in

The web-based scanner works on any device with a camera. No app installation needed.

Set Up Scanner

  1. Go to TicketPayGo > Scanner in your WordPress admin
  2. Click Generate Connection Code
  3. Open ticketpaygoscan.upkyk.com on your phone (or scan the QR code)
  4. Enter the connection code in the mobile app
  5. Select your site and start scanning

Scanning

  1. Open the scanner URL on your phone or tablet
  2. Grant permission for camera access
  3. Point the camera at the ticket's QR code
  4. The result appears directly on screen

Multiple Scanners

Depending on your subscription, you can use multiple scanners simultaneously:

  • TicketPayGo: 2 scanners included
  • TicketPayGo Multi: 4 scanners included
  • TicketPayGo Venue: 7 scanners included
  • Extra scanners: Available for โ‚ฌ20 per month per scanner

Understanding the Scanner Screen

The scanner header shows at a glance what's happening at your event.

Scanner header bar showing check-in counter and connection status

The Check-in Counter (e.g. 12/50)

The X/Y counter in the header shows: X = tickets checked in so far, Y = total tickets sold. So 12/50 means 12 tickets have been checked in out of 50 total tickets. Note: One person can have multiple tickets โ€” the counter always shows tickets, not people. This updates in real-time after every scan.

The Pending Counter (orange number)

An orange number next to a clock icon shows how many scans were made while offline and have not yet synced with the server. Tap it to sync manually once you have a connection.

Connection Status

  • Green "Online": Connected to your site. Scans are validated and recorded in real-time.
  • Red "No Connection": No internet detected. Scans are saved locally as pending and synchronized when you reconnect.

What You See After a Scan

After scanning a QR code, the full screen shows the result with attendee details.

Green valid ticket result screen with attendee details
  • โœ… Green โ€” Valid Ticket: Shows attendee name, email, ticket type, and how many guests from this order are now checked in. Safe to admit.
Yellow already scanned ticket screen
  • โš ๏ธ Yellow โ€” Already Checked In: This ticket was already scanned. Check when it was last used before deciding to admit the visitor.
Red invalid ticket screen
  • ๐Ÿšซ Red โ€” Invalid: QR code not recognized, not valid for this event, or ticket was refunded. Do not admit.
  • ๐ŸŸ  Orange โ€” Pending (Offline): Scan saved locally while offline. Will be validated when you reconnect and sync.
Tip: After a successful scan, tap the OK button to automatically resume scanning. The camera restarts immediately so you can scan the next ticket.

Scanning Without Internet (Offline Mode)

If your internet drops at the venue โ€” don't stop scanning. The scanner automatically switches to offline mode and continues to work.

What Happens When You Scan Offline

  1. The connection status turns red "No Connection".
  2. You scan a ticket โ€” an orange Pending screen appears instead of the normal green result.
  3. The scan is saved on your device. The orange counter in the header increases by one.
  4. Keep scanning โ€” each ticket is queued. Use your own judgment to admit attendees.
Orange pending scan screen in offline mode
Note: The scanner attempts to pre-load attendee data when you open the event. If successful, you'll see the attendee's name, ticket type, and group size on the pending screen โ€” giving you the information to make an admission decision. If the pre-load fails (due to network issues or older events), the pending screen will show a generic message. The check-in is always confirmed server-side once you sync.

Synchronizing When Back Online

When your connection comes back:

  • The scanner automatically detects the reconnection and syncs pending scans.
  • Or tap the orange pending counter in the header to sync manually.
  • After syncing, each scanned ticket appears in a color-coded list showing its status: green for valid check-ins, yellow for already checked-in tickets, and red for invalid tickets. Each entry displays the ticket type, number of guests, and attendee name โ€” giving you instant visual confirmation of what happened while offline.
  • The orange counter drops to zero once all pending scans are resolved.
Sync results showing color-coded ticket statuses

Event Overview Screen

On the main scanner screen, tap the "Event Overview" button to open a live dashboard of your entire check-in operation.

Event Overview screen showing statistics and attendee list

Statistics Cards

  • Total Tickets: Total tickets sold for this event.
  • Checked In: How many tickets have been scanned and admitted.
  • Remaining: Tickets sold but not yet checked in.
  • Check-in Rate: Percentage of tickets that have been checked in.
  • Duplicate Scans: Number of times an already-checked-in ticket was scanned again. Useful for spotting shared tickets.
  • Invalid Attempts: QR codes scanned that were not recognized or not valid for this event.

Attendee List

Below the stats is a searchable list of all attendees for the event. You can:

  • Search by name or email to quickly look someone up.
  • See at a glance who is checked in (green badge) and who hasn't arrived yet.
  • View the exact time of each check-in.
  • See the ticket type for each attendee.
Tip: The overview auto-refreshes while open. Pull down to refresh manually. Use it on a second device as a live dashboard while staff scan at the entrance.

Attendees & Export

Attendee Overview

Go to TicketPayGo > Orders to view all orders. Per order you see:

  • Name and email address
  • Purchased tickets and types
  • Payment status
  • Check-in status
  • Order date

Filtering

Filter orders by:

  • Event
  • Ticket type
  • Payment status (paid, pending, refunded)
  • Check-in status
  • Date range

Export to CSV

  1. Go to the orders overview
  2. Apply filters if needed
  3. Click Export
  4. Download the CSV file

The export contains all relevant fields and can be opened in Excel or Google Sheets.

Analytics Dashboard

View statistics per event:

  • Revenue and number of tickets sold
  • Distribution per ticket type
  • Payment method distribution
  • Check-in percentage

Styling & Shortcodes

TicketPayGo offers various shortcodes to display events and tickets on your website. Below you'll find an overview of all available shortcodes with their parameters.

Shortcodes Overview

Shortcode Purpose Attributes
[ticketpaygo_events] Show an overview of upcoming events limit, layout, status, upcoming
[ticketpaygo_event] Show a specific event with booking modal id, layout
[ticketpaygo_calendar] Interactive calendar view (FullCalendar.js) view, category, filters
[ticketpaygo_order_lookup] Customer order lookup page for managing tickets, resending links, and viewing order details None (uses magic link from email)
[ticketpaygo_buy_button] Embed just the buy button without the event card id, class
[ticketpaygo_event_link] Create a text link that opens the event checkout popup id, link text between the shortcode tags
#ticketpaygo-event-123 Open the event checkout popup from any image, banner, button, or design Replace 123 with your event ID

Events Overview Shortcode

Show an overview of your events on any page:

[ticketpaygo_events]

Available parameters:

  • limit="10" Number of events to show (default: 10)
  • layout="grid" Display: grid, list, or card (default: grid)
  • status="active" Filter by status (default: active)
  • upcoming="true" Show only future events (default: true)
Example:
[ticketpaygo_events limit="6" layout="grid"]

Single Event Shortcode

Show a specific event with booking modal:

[ticketpaygo_event id="123"]
  • id="123" Event ID (required)
  • layout="default" Layout template (default: default)

The template is loaded from templates/event-{layout}.php. The default template is event-default.php.

Calendar View

Show events in an interactive calendar (uses FullCalendar.js):

[ticketpaygo_calendar]
  • view="dayGridMonth" View: dayGridMonth, timeGridWeek, timeGridDay, listMonth
  • category="" Filter by category (optional)
  • filters="true" Show view filters above calendar (default: true)

Buy Button Shortcode

Embed just the buy button for a specific event, perfect for hero sections:

[ticketpaygo_buy_button id="123"]
  • id="123" Event ID (required)
  • class="my-class" Additional CSS classes for the wrapper (optional)

The button inherits its text and colors from the event's customization settings and opens the same checkout modal as the full event card.

Open the Checkout Popup from Any Image or Design

You can use your own website design and still open the TicketPayGo checkout popup. This is useful for custom landing pages, hero banners, image blocks, Elementor sections, or any design you already have on your site.

See it in action on our demo playground.

  1. Open your event in TicketPayGo > Events.
  2. Copy the Custom Image, Design, or Text Link, for example #ticketpaygo-event-123.
  3. Paste that link into the URL field of any image, banner, button, or text link on your page.
  4. When visitors click it, the event checkout popup opens automatically on the same page.
#ticketpaygo-event-123

You can also use a full URL with the hash at the end, for example:

https://yourwebsite.com/events/#ticketpaygo-event-123

For clickable text inside WordPress content, use:

[ticketpaygo_event_link id="123"]Buy tickets[/ticketpaygo_event_link]
Tip: You do not need to rebuild your page with TicketPayGo cards. Keep your own image, poster, or button design and simply link it to the event popup.
Advanced fallback: If your theme blocks automatic popup loading, place [ticketpaygo_event_modal id="123"] somewhere on the same page. Most sites do not need this.

Order Management Shortcode

Create a regular frontend page where customers can manage their tickets after opening the magic link from their email:

[ticketpaygo_order_lookup]

This shortcode is useful when you want a clean, dedicated customer page without a card layout. It:

  • Shows order details when customers arrive via the magic link from their email
  • Provides a form to request a new magic link
  • Allows customers to resend their tickets
  • Works without customers needing to log in

Use it on a simple page if you want the ticket management flow to feel lightweight and focused.

Note: This page is required for the “Manage your tickets” link in confirmation emails. See the Checkout & Emails section for more information.
Elementor tip: You can place the same shortcode inside an Elementor page if you want to style the surrounding section with Elementor while keeping the ticket management form itself simple and functional.

Design Settings

Via TicketPayGo > Design you can adjust the following settings without code, including button colors, card layout, modal styling, and more:

  • Card layout: horizontal (16:9) or vertical (3:4)
  • Card size: small, medium, or large
  • Image area background color
  • Content area background color
  • Card corners: rounded or square
  • Shadow intensity
  • Button text, colors, font size, and border radius
  • Modal colors and typography
  • Calendar colors
  • Order lookup page styling
  • Featured image, image fit, and title overlay (per event, in the Events tab)
Global settings vs. per-event: Think of it as two layers. The Global tab in TicketPayGo > Design is the outer layer โ€” it applies to every event on your site. If you run one type of event, these global settings are all you need. But if different events need their own look (different button text, colors, or size), open the Events tab in the same Design page, pick the event, and override just what you need. Anything left unchanged falls back to the global setting automatically.

Google Analytics and Facebook Pixel

TicketPayGo automatically integrates with:

  • Google Analytics 4: E-commerce events for view_item, add_to_cart, begin_checkout, and purchase
  • Facebook Pixel: ViewContent, AddToCart, InitiateCheckout, and Purchase events

Configure your tracking IDs at TicketPayGo > Settings > Integrations.

Elementor Integration

TicketPayGo seamlessly integrates with Elementor, allowing you to design event pages with full visual control. When Elementor is detected, TicketPayGo automatically registers custom widgets.

Auto-Detection: When you activate TicketPayGo with Elementor installed, the plugin automatically detects it and enables the Elementor widgets. No additional configuration needed!

Available Widgets

Find these widgets in the Elementor panel under the "TicketPayGo" category:

Event Card

Display a single event with full styling control. Select any event and customize colors, typography, and layout directly in Elementor.

Events Grid

Show multiple events in a responsive grid or list layout. Control columns, spacing, and which events to display.

Events Calendar

Interactive calendar view with customizable colors. Visitors can browse events by month, week, or day.

Buy Button

Display just the buy button for a specific event โ€” perfect for hero sections or custom layouts. Opens the same checkout modal as the Event Card.

Order lookup note: The [ticketpaygo_order_lookup] shortcode is not an Elementor widget, but it works fine inside an Elementor-built page. Use Elementor for the surrounding layout if you want, and keep the order lookup area clean for customers.

How to Use Elementor Widgets

1

Open Elementor Editor

Edit any page with Elementor. In the widget panel, search for "TicketPayGo" or scroll to the TicketPayGo category.

2

Drag Widget to Page

Drag the Event Card, Events Grid, or Calendar widget to your desired location on the page.

3

Select Event(s)

In the Content tab, select which event to display (for Event Card) or configure filters (for Events Grid).

4

Customize Styling

Switch to the Style tab to customize colors, typography, spacing, and more. You can use global styles or override them per widget.

Styling Options

Each widget offers comprehensive styling controls in the Style tab:

Card Style

  • Card background color
  • Image area background
  • Content area background
  • Title and text colors
  • Icon and price colors
  • Border radius and box shadow

Button Style

  • Background and text colors
  • Hover colors
  • Typography (font, size, weight)
  • Padding and border radius
  • Border and box shadow

Modal Style

  • Header background
  • Body background and text colors
  • Info grid colors
  • Modal button styling
  • Price color
Global vs Custom Styles: By default, widgets use your global styles from TicketPayGo > Customization. Toggle "Use Global Styles" off to customize each widget individually in Elementor.

Per-Event Customization

You can set custom styling per event in TicketPayGo > Design, on the Events tab. These styles are applied when displaying that specific event, whether via shortcode or Elementor widget. Elementor widget styles take precedence when "Use Global Styles" is disabled.

When is this useful? If you run a single type of event, the Global tab in the Design page is all you need. But if different events need a different look (a festival with a bright orange button, a corporate seminar with a navy one), the Events tab lets you override exactly those settings per event without touching the global defaults. Only the fields you fill in are overridden; anything left blank falls back to the global setting automatically.

How to use it: Go to TicketPayGo > Design, open the Events tab, select the event from the dropdown, and adjust the colors and settings you want to change. Save when done.

Tips for Best Results

  • Use Elementor's preview mode to see exactly how your events will look
  • Test on different screen sizes using Elementor's responsive mode
  • Set up your global styles first in TicketPayGo > Customization, then override only where needed
  • For consistent branding, use the same colors across all event widgets

Badges Add-on

The Badges add-on lets you generate print-ready name badge PDFs for your event attendees โ€” directly from your WordPress dashboard. It uses the same QR code as the digital ticket, so no second scan system is needed.

Add-on: Badges is a paid add-on (โ‚ฌ25/month or โ‚ฌ250/year per site) that requires an active TicketPayGo plan (TicketPayGo, Multi, or Venue). It is not available on the Free plan.

Installing the Badges Plugin

  1. Log in to your TicketPayGo account and go to Add-ons.
  2. Enable the Badges add-on and download the plugin (.zip file).
  3. In WordPress go to Plugins > Add New > Upload Plugin.
  4. Select the .zip file, click Install Now, then Activate.
  5. A new "Badges" submenu will appear under TicketPayGo in your WordPress admin.

Badge Templates

Go to TicketPayGo > Badges > Templates to manage your badge designs. Four starter templates are included:

  • Classic โ€” Portrait (3ร—4 in). Blue header block, large centered name. Ideal for conferences and business events.
  • Modern โ€” Landscape (4ร—3 in). White background, purple accent header, bold name. Great for workshops and networking events.
  • Minimal โ€” Landscape (3.5ร—2 in). Thin green color strip, maximum white space. Best when the name should dominate.
  • Label โ€” Square (2ร—2 in). No header, name and QR only. For events where the badge card is pre-printed and you only need a data label.

Template Editor

Click Edit on any template to open the Template Editor. You can configure:

  • Header type โ€” solid color or a custom image (your event logo or a banner).
  • Header color โ€” pick any brand color for the header block.
  • Font โ€” choose from Inter, Roboto, Open Sans, or Montserrat.
  • Visible fields โ€” toggle and reorder: Name, Ticket Type, Organization, Function/Role, QR Code, Agenda.
  • QR code โ€” always uses the same QR as the digital ticket. Can be shown or hidden.
  • Agenda field โ€” shows the ticket type name (e.g. "Workshop A"). Useful for multi-track events.

A live preview updates as you make changes. Click Save Template when done.

Badge Sizes

Each template has a fixed size. The supported sizes are:

  • 3ร—4 in (76ร—102 mm) โ€” Portrait. Fits standard badge holders and lanyards. Used by Classic.
  • 4ร—3 in (102ร—76 mm) โ€” Landscape. Most common conference badge size. Used by Modern.
  • 3.5ร—2 in (89ร—54 mm) โ€” Landscape. Business card size. Used by Minimal.
  • 2ร—2 in (51ร—51 mm) โ€” Square label. Used by Label.

Attendee Data & Field Collection

Badge data is collected in three ways:

  1. Checkout fields โ€” Attendees fill in Organization and Function/Role when buying their ticket. Enable these fields under Badges > Settings > Checkout Fields.
  2. CSV import โ€” Go to Badges > Assign Attendees > Import CSV. Upload a spreadsheet with columns: name, organization, function. This is the fastest option when you have a pre-registered group (e.g. a company block booking, a speaker list, or a sponsored delegation) โ€” you can prepare all badge data in Excel or Google Sheets and import it in one go, without attendees needing to fill in anything at checkout.
  3. Manual entry โ€” In the Attendees tab, click any attendee to edit their badge fields individually.

Staff & Guest Badges (No Ticket Required)

You can create badges for people who did not buy a ticket โ€” staff, speakers, press, or VIP guests.

  1. Go to Badges > Attendees > Add Manual Badge.
  2. Enter the name and select a badge role: Staff, Speaker, VIP, Press, or Volunteer.
  3. A unique badge ID is generated automatically. The QR code on this badge still works with your scanner.

Generating & Printing PDFs

Go to Badges > Generate to create PDFs. You can generate:

  • All attendees โ€” one PDF with all badges for the event.
  • By ticket type โ€” e.g. only VIP badges, or only Workshop A attendees.
  • Individual badge โ€” reprint a single attendee's badge.

Generated PDFs are available via a secure download link for 24 hours. Download once and print as many copies as needed.

Print tip: Always print at 100% scale โ€” never "fit to page". For A4 printers, 4ร—3 in badges print 2 per sheet. Use 160โ€“200 gsm card stock for rigidity. For label printers (Dymo, Zebra, Brother), the PDF is pre-sized to match the label โ€” just send it to your printer driver.

Customizing Badge Fields

You control badge fields in two different places depending on what you want to change:

  • Field visibility & order โ€” Open a template via Badges > Templates > Edit. In the template editor you toggle fields on/off and drag them into the order you want (Name, Ticket Type, Organization, Function/Role, QR Code, Agenda). This is saved per template.
  • Custom fields per event โ€” In the event editor (Create/Edit Event) you can define your own badge fields, for example "Table number" or "Diet preference". Attendees fill these in at checkout. These event-specific fields then appear in the Assign Attendees tab and in the CSV import columns.
  • Field label renaming โ€” Go to Badges > Settings to rename the two standard fields globally: Occupation and Organization. Useful if your event uses different terminology, e.g. "Job Title" or "Company".

Custom per-event fields override the standard Occupation/Organization fields for that event. The template editor always shows you the current field set for the selected event.

QR Code Compatibility

The QR code on every badge is the same as on the digital ticket. Your existing TicketPayGo scanner validates it without any changes โ€” no separate badge scan app, no second system needed.

Troubleshooting

Below you'll find solutions for the most common problems.

1. Payments not coming through

Cause: Webhook not correctly configured.

Solution: Check if the webhook URL is correctly set up with your payment provider. You can find the URL at TicketPayGo > Settings > Payments. Make sure your site uses HTTPS.

2. Emails not being sent

Cause: WordPress cannot send emails.

Solution: Install an SMTP plugin like WP Mail SMTP and configure with your email provider. Test with the built-in test function.

3. Scanner shows "No connection"

Cause: REST API blocked or poor internet connection.

Solution: Check if the WordPress REST API is accessible. Some security plugins block the API. Add an exception for the TicketPayGo endpoints.

4. QR code not recognized

Cause: Poor lighting or damaged QR code.

Solution: Ensure sufficient light. Ask the visitor to increase screen brightness. For a printed ticket: check if the print is not faded.

5. Ticket shows "Already checked in" but visitor is new

Cause: Ticket was forwarded or screenshot shared.

Solution: Check the check-in time in the system. Each ticket can only be used once. The original buyer may have shared the ticket.

6. Events not showing on website

Cause: Event not published or shortcode missing.

Solution: Check if the event is set to "Published". Add the shortcode [ticketpaygo_events] to the desired page.

7. License cannot be activated

Cause: License already active on another domain or expired.

Solution: Log in to your account portal and deactivate the license on the old domain. Check if your subscription is active.

8. Checkout page shows error

Cause: Conflict with another plugin or theme.

Solution: Temporarily disable other plugins to identify the conflict. Check the browser console for JavaScript errors.

9. Apple Wallet ticket not working

Cause: SSL certificate problem or server configuration.

Solution: Check if your site has a valid SSL certificate. The .pkpass files require specific MIME types. Contact support if the problem persists.

10. Slow load times with many events

Cause: Hosting not powerful enough or no caching.

Solution: Use a caching plugin like WP Super Cache or W3 Total Cache. Consider better hosting for events with many visitors. Limit the number of events per page with the limit parameter.

Frequently Asked Questions

Which payment providers are supported?

TicketPayGo supports Stripe, PayPal and Mollie. Each provider has webhook handling, automatic refunds and a test mode.

Can I create multiple ticket types?

Yes. Create VIP, Early Bird, Standard or any desired type with their own prices, capacity and availability periods.

Does it work on mobile?

Yes. The entire experience is mobile-first, from the booking form to the e-ticket. Tickets can also be added to Apple Wallet.

How does scanning work with multiple staff?

Create a scanner per staff member or entrance. Each scanner has its own URL that can be opened on any device. Scans are synchronized in real-time.

Does it support recurring events?

Yes. Set up daily, weekly, biweekly, monthly or yearly recurrence. Select specific days and set an end date.

Do I need WooCommerce?

No. TicketPayGo works standalone with native payments. If WooCommerce is installed, you can enable optional order sync to manage all orders in one place โ€” perfect if you also sell products through your store.

Can I customize the ticket templates?

Yes. Copy templates to your theme to customize them, or use the visual customizer for colors and fonts without code.

What happens when my subscription expires?

You cannot create new events and the scanner stops working. Existing tickets remain valid and visitors can still view their tickets.

Are there costs per ticket sold?

No. You pay a fixed monthly amount regardless of how many tickets you sell. The only extra costs are the transaction fees from your payment provider.

Can I process refunds?

Yes. Refunds can be processed via your payment provider dashboard. The ticket status is automatically updated via the webhook.

Contact & Support

Email Support

We usually respond within 24 hours on business days.

Send an email