WORDPRESS PLUGIN

Reserved seating, added to WordPress like any other block.

The SeatLayer plugin puts a real seating chart on a page or post. Visitors see live availability, pick the seats they want, and pay — with the money going straight into your own Stripe or Razorpay account.

Block and shortcodeYour own gatewaySecret key never reaches a browser
Edit Page — Opening Night· WORDPRESS BLOCK EDITOR

Opening Night

Friday · 7:30 PM · The Lantern Theatre

SEATLAYER SEATING CHARTSELECTED BLOCK
Row C · Seats 6–7Continue to payment
Block or shortcodeSite editor or classic, same rendering
Live availabilitySeats update without a page refresh
Seat holdsTwo buyers cannot take one seat
Your connected gatewayStripe or Razorpay, paid to you
THREE REASONS TO USE THE PLUGIN INSTEAD OF PASTING AN EMBED

A wrapper around the parts that are easy to get wrong.

You can already paste a SeatLayer embed into a Custom HTML block, and it will work. The plugin exists because three things are awkward that way, and each of them is a way to leak a credential or lose a buyer.

01 · CREDENTIAL SAFETY

The secret key stays on the server

Listing your events needs a key that can also create and modify them. The plugin makes that call from WordPress itself, through an admin-only route, so the key is never written into a page a visitor can read.

server-side · never in the browser
02 · NO PASTING KEYS

Editors pick an event from a dropdown

Whoever writes the page chooses the event by name in the block sidebar. No copying identifiers between two browser tabs, and no silently-wrong chart because a character was dropped.

[seatlayer_chart event="…"]
03 · THE RETURN TRIP

Buyers come back to the page they bought from

With in-page checkout on, a card payment that leaves for the gateway returns to the exact page holding the chart, read in the browser at load so a cached page cannot send a buyer to the wrong address.

declare the site in embed domains

What it is not: the plugin is a safe, no-code wrapper around the buyer-facing chart — not a second copy of SeatLayer. Designing venues, creating events, connecting gateways, refunds, and check-in all live in your SeatLayer dashboard, and the plugin deliberately does not try to reproduce them inside wp-admin.

FROM A BLANK PAGE TO A LIVE SEAT MAP

Set the event up once. Drop the block wherever it belongs.

The chart needs an event key and nothing else. The optional secret key only buys you the dropdown, so a site that would rather not store one simply does not.

  1. Build the venue and create the event

    Design the chart in your SeatLayer dashboard — rows, tables, booths, general-admission areas, multiple floors — then create the event that sells against it. One chart can carry every later performance.

  2. Connect Stripe or Razorpay

    Connect your own gateway under Payments and assign it to the event. Buyers pay you; SeatLayer never sits in the middle of the money.

  3. Install the plugin and, if you want the dropdown, save a key

    Activate it, then optionally paste a secret key under Settings → SeatLayer. Leave it blank and everything still works — you type event keys by hand instead of choosing them from a list.

  4. Add the block, or paste the shortcode

    Search for SeatLayer seating chart in the block inserter and pick your event. On a classic-editor site, the shortcode does the same job and renders through exactly the same code.

    [seatlayer_chart event="your-event" height="640"]
  5. Choose where buyers pay, then open sales

    By default the buyer is handed to SeatLayer's page to pay. Switch Checkout to keep them on your site, and add your site under embed domains so the card return lands back on your page. Preview it, buy a test seat, then go on sale.

Compare this with the SDK and the managed embed →
WHO OWNS WHAT

Your site, your gateway, your customers.

SeatLayer is not a payment processor and never holds your money. It is the seating and ticketing layer beneath a sale that stays yours end to end.

YOU OWN

The page and the commercial relationship

  • The event page, its story, imagery and policies
  • Ticket prices, on-sale timing and buyer support
  • The Stripe or Razorpay account the money lands in
  • Refunds, issued from your own payment dashboard
SEATLAYER HANDLES

Seats, holds, tickets and entry

  • Published seating, live availability and temporary holds
  • Checkout against your connected gateway, and the order record
  • Seat-specific tickets, QR codes, printable PDFs and confirmation email
  • Releasing seats back on sale when it sees a refund
USAGE
Pricing follows confirmed sold seats.

The current standard rule uses one credit when a seat is first confirmed sold. Payment-provider fees, taxes, enterprise terms and entitlements can still apply.

See current pricing →
BEFORE YOU INSTALL ANYTHING

The plugin is a client for a hosted service. Here is what leaves your site.

It does not work standalone, so installing it means your pages and your visitors talk to SeatLayer. The same disclosure ships inside the plugin's own readme, and it is the whole list.

Visitors

On a page that contains a chart — and only on such a page — the browser loads the chart renderer and asks SeatLayer for the seating layout and live availability. Selecting seats places a hold; buying starts a payment.

SENT
The event key, the seats selected, and — at the payment step only — the buyer's email address and, if given, their name.
NOT SENT
No amount. A payment is started from the hold alone and SeatLayer recomputes the total from its own records. Card details go to Stripe or Razorpay and never touch your WordPress site or its database.
IN-PAGE MODE
Additionally the public web address of the page the chart is on, so a returning buyer lands back on it. It is used only if it matches an embed domain you declared in advance, and otherwise ignored.

Administrators

Only if you saved a secret key, and only inside the block editor: your server asks SeatLayer for your event list to fill the dropdown. That request carries the key and no visitor data, and the response is projected down to the four fields the dropdown shows.

Deleting the plugin removes its settings, including any saved key. Deactivating deliberately leaves everything alone.

THE QUESTIONS THAT DECIDE IT

Answered plainly, including the parts that are not finished.

If your site needs to run its own checkout, react to seat selection in code, or sell through an existing cart, the plugin is the wrong tool and the SDK is the right one.

Look at the SDK path →
Do I need a secret key to show a seating chart?

No. The chart renders from the event key alone, which is not a secret. Saving a secret key only makes the editor nicer, by listing your events in a dropdown instead of you pasting keys by hand.

Where does the secret key go if I do save one?

Into your WordPress database, like any other plugin setting, and it is used only in server-side requests. It is never sent to a browser. Anyone with administrator or database access to the site can read it, so if that is not acceptable, leave it blank and type event keys by hand.

Where does the ticket money go?

To the Stripe or Razorpay account you connected. SeatLayer is not a payment processor and never holds the money. Refunds happen in your own payment dashboard, and SeatLayer releases the seats back on sale when it sees one.

Does the plugin work with WooCommerce?

Not today. Buyers pay through SeatLayer checkout using your own connected gateway. A WooCommerce integration, with seats as cart line items paid through your existing Woo gateway, is a separate piece of work.

Will it slow the rest of my site down?

The chart's code is enqueued only on pages that actually contain a chart, so pages without one load nothing extra.

Can two people buy the same seat?

No. A seat is held on SeatLayer's servers the moment a buyer selects it, and only one hold can exist per seat. If they do not pay in time the hold expires and the seat returns to sale.

START WITH ONE EVENT

Keep the WordPress site you have. Give it the seat map it is missing.

Design the venue, create an event, connect your gateway, and drop the block on the page you already send people to.