v1.2 Back to TicketPayGo

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
  • Featured image: Shown on overview pages

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

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.

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.

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] Order management page for customers to manage tickets None (uses magic link from email)
[ticketpaygo_buy_button] Embed just the buy button without the event card id, class

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.

Order Management Shortcode

Create a page where customers can manage their tickets:

[ticketpaygo_order_lookup]

This shortcode:

  • 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
Note: This page is required for the "Manage your tickets" link in confirmation emails. See the Checkout & Emails section for more information.

Customization Settings

Via TicketPayGo > Customization you can adjust the following settings without code:

  • Image area background color
  • Content area background color
  • Button colors
  • horizontal or vertical
  • small, medium, or large
  • Visual effects

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.

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 also set custom styling per event in TicketPayGo > Events > Edit Event. These styles will be applied when displaying that specific event, whether via shortcode or Elementor widget. Elementor widget styles take precedence when "Use Global Styles" is disabled.

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.

Sjabloon editor

Click Edit on any template to open the Sjabloon 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

Send an email to support@upkyk.com. We usually respond within 24 hours on business days.

Account Portal

Log in to account.upkyk.com to manage your subscription, view invoices and find your license key.

Live Demo

See TicketPayGo in action on our demo website.