WordPress · Stripe · Events

How to take paid event bookings on WordPress with Stripe

How I take paid event bookings on WordPress without a shop: Stripe through Forminator, a date picker, per-date packages, booking emails and a daily summary.

Mohit Goyal 5 min read
How to take paid event bookings on WordPress with Stripe

To take paid event bookings on WordPress, add a booking form with a date picker and package choices to the event page, connect the form to Stripe so the visitor pays as they submit, and send booking emails to the customer and your team. You do not need a full WooCommerce shop for this. On Ravens Ait, a Thames island venue, I built ticketed pages for Wimbledon, Christmas and party nights with Stripe payments through Forminator.

Why take bookings on the event page instead of by enquiry?

Because every step between interest and payment loses people. An enquiry form means a reply, a quote, a payment link and a reminder. For a fixed-price event, a visitor who has already decided wants to pick a date and pay, now.

Ravens Ait hosts weddings, private dining and corporate events, which still run on enquiries. Later in 2025 the venue added revenue pages for events with set packages, and those take payment on the page:

  • Wimbledon Tennis on the Island: a date picker, per-date packages, Stripe payment, customer and admin email templates, past dates disabled and a daily booking summary email.
  • Christmas 2025: early-bird packages and a PDF flipbook menu.
  • Dinner and Dance and Bollywood Student Night: Stripe bookings, with a combined promo popup.

Should you use a payment form or WooCommerce?

OptionGood forTrade-off
Form plugin with StripeA handful of ticketed events, set packages, depositsNot built for stock control or baskets
WooCommerceMany products, baskets, coupons, accounting syncA whole shop to configure and maintain
An external booking systemRooms, tables or availability you manage elsewhereVisitors leave your site to book

Ravens Ait uses the first. Forminator with Stripe gave the venue paid bookings without a full e-commerce install. Hotels are different: on Crowne Plaza London Kingston each room links to IHG booking, because the hotel's reservation system is the source of truth for availability. When a store does need a basket, as on Whitfield Service Station, I use WooCommerce with Stripe, Apple Pay and Google Pay.

How does a Stripe booking form work?

Rendering diagram…

The visitor never leaves the page. Stripe handles the card details, so they do not touch your server, and the form records the booking in WordPress. Each booking triggers a customer email and an admin email from templates, and the team gets a daily summary.

What should visitors see before they pay?

Everything they would otherwise email to ask. A payment form only converts when the page has already answered the questions:

  • What each package includes, with the price next to it.
  • The date, times and location, including how to get there. For an island venue, that matters.
  • The menu for dining events. The Christmas 2025 page carries a PDF flipbook menu.
  • Terms and refunds, close to the pay button, not hidden in the footer.
  • Proof, such as reviews and photos from past events.

How do you build a reusable event template?

This is what makes the system cheap to grow. On Ravens Ait, nine event pages and eleven seasonal pages, from Holi to Boxing Day, all come from one Bricks template, so a new occasion is a content task rather than a build. Every event page follows one heading structure for search:

  • A single H1 for the event.
  • Three H2s for venue settings, catering and entertainment.
  • H3s for FAQs, testimonials and the enquiry or booking form.
  • An email subscription section at the end.

The lesson I took from that project is that one well-structured template, applied twenty times, is worth more than twenty bespoke pages.

What should you test before taking real payments?

  1. 1

    Run Stripe in test mode

    Book every package on several dates with Stripe's test cards, including a declined card.

  2. 2

    Check the date rules

    Past dates disabled, sold-out or closed dates unavailable, and the right packages on each date.

  3. 3

    Read every email

    Customer confirmation, admin notification and the daily summary, on desktop and phone.

  4. 4

    Check tracking

    Confirm each booking fires an event in GA4.

  5. 5

    Switch to live keys

    Swap the Stripe keys, make one small real booking and refund it.

  6. 6

    Hand over the template

    Show the team how to add the next event themselves.

Watch the host's cache

On two client sites a GoDaddy cache layer swallowed form submissions until PHP was upgraded from 8.0 to 8.3. A booking form that silently fails costs real money, so test a live booking after any hosting or caching change.

How do you promote paid events without annoying visitors?

Ravens Ait uses popups carefully. The Dinner and Dance and Bollywood Student Night pages share one combined promo popup rather than one each. The exit-intent popup shows at most once every 12 hours, with a scroll-triggered version on mobile, so it reaches leaving visitors without nagging. The site still scores 94 or higher on PageSpeed, reported after launch, because Bricks keeps the markup lean and WP Rocket handles caching.

More on hospitality sites is in what a hotel or restaurant website needs to take bookings, and tracking each booking is covered in how to set up GA4 and Google Tag Manager for landing pages.

Where should you start?

List your events, the packages and prices for each, and the dates. That is the brief. I build these pages through my booking and event landing pages with Stripe service. Tell me about the event and I will reply with a plan.

Frequently asked

Can WordPress take Stripe payments without WooCommerce?+

Yes. Form plugins such as Forminator connect to Stripe and take a payment when the form is submitted. Ravens Ait sells tennis, Christmas and party night packages this way without a full e-commerce install.

When should I use WooCommerce for bookings instead?+

When bookings behave like products: stock to manage, many items in one basket, coupons, or accounting sync. For a few ticketed events a year, a payment form is simpler to run.

How do I stop people booking dates that have passed?+

Disable past dates in the form's date picker. On the Ravens Ait Wimbledon page, past dates are disabled and each date carries its own packages.

Can I take deposits instead of full payment?+

Yes. A deposit is a payment form with a smaller amount and clear wording about what is owed later. Make the terms visible before the visitor pays.

How do staff keep track of bookings?+

Send them an email per booking and a daily summary. Ravens Ait's Wimbledon page sends customer and admin emails for each booking and a daily booking summary email.

Mohit Goyal

Written by Mohit Goyal

Senior Web Developer in Gurugram, India. 100+ fast, SEO-friendly sites shipped in 4+ years with Next.js, React and WordPress, including the procol.ai rebuild. Send me your next project.

Keep reading

Let's build

Have a site that needs to be fast, rank and convert?

Open to Work. Usually replies within a day.