Buyers pay into your own gateway account. SeatLayer creates the payment on your account and records the order; it never holds your funds. The gateway sets its own processing fees and payout timing.
Seven gateways are supported:
| Gateway | Regions |
|---|---|
| Stripe | Most countries |
| PayPal | Most countries |
| Razorpay | India |
| Tap | Middle East and the Gulf |
| Mercado Pago | Latin America |
| Xendit | Southeast Asia |
| Flutterwave | Africa |
Open Settings → Payments. Each gateway that is on for your account has a card with Connect and its name, for example Connect Stripe. If the one you want is listed under More payment options, choose Request and we switch it on for your account; then connect it the same way. Every form also asks for the currency your events are priced in, limited to the currencies that gateway takes.
Test and live
There is no mode switch. The keys decide the mode: a test key makes a test connection, a live key makes a live one. You can keep both side by side, and one connection per currency. Test events use a test connection and issue tickets marked as not valid for entry.
Stripe
Create a restricted key in Stripe
Choose Open Stripe API keys and create a restricted key with these permissions: Checkout Sessions: Write, Refunds: Write, Webhook Endpoints: Write, Basic Business Contact Information: Read. See Stripe permissions for why each one is needed.
Paste it
Paste the key into Restricted or secret key and choose Connect Stripe. The key is encrypted on save and cannot be read back.
Nothing else to do
SeatLayer verifies the key with Stripe and creates the payment webhook on your account.
Razorpay
Generate API keys
Choose Open Razorpay API keys and generate a key pair.
Create a webhook
In Razorpay, go to Account & Settings → Webhooks → Add new webhook. Use
the URL shown under Your webhook URL and subscribe to
payment.captured, payment.failed and refund.processed.
Paste all three values
Enter Key ID, Key secret and Webhook secret (from step 2), pick the Currency your events are priced in, and choose Connect Razorpay.
PayPal
Create an app in PayPal
Use a Sandbox app for test events and a Live app for live events. Choose Open PayPal apps.
Accept payments in your event currency
Make sure the PayPal account accepts the currency your event is priced in.
Paste the app's credentials
Enter Client ID and Secret and choose Connect PayPal. SeatLayer sets up PayPal’s payment notifications for you.
Tap
Open your Tap API credentials
Choose Open Tap dashboard and copy your secret key.
Paste the secret key
Enter Secret key and choose Connect Tap. Tap signs its payment notifications with this key, so there is nothing else to copy.
Mercado Pago
Open your application's credentials
Choose Open Mercado Pago Developers and copy the Access Token.
Paste the Access Token
Enter Access Token and choose Connect Mercado Pago. Each payment is read back from Mercado Pago to confirm it.
Xendit
Create a secret key in Xendit
Use a development key for test events and a production key for live events.
Add the webhook URL
In Xendit, go to Settings → Webhooks and paste Your webhook URL for Payment session and Refund. Note the verification token.
Paste both values
Enter Secret key and Verification token (from step 2), then choose Connect Xendit.
Flutterwave
Copy your secret key from Flutterwave
Use the test key for test events and the live key for live events.
Add the webhook URL
In Flutterwave, go to Settings → Webhooks, paste Your webhook URL, choose a secret hash and turn on retries.
Paste both values
Enter Secret key and Secret hash (from step 2), then choose Connect Flutterwave.
Check the connection
When a connection is ready, the card shows Connected and the row reads Ready. Re-check, Replace key and Disconnect are on each row.
Assign the connection to an event
Open the event, then Setup → Payment account. Choose Use [gateway] for this event, for example Use Stripe for this event. The row changes to ✓ Ready. The connection’s mode and currency must match the event.
Refunds made in your gateway dashboard
Refunds you make in Stripe, PayPal or Razorpay sync back to SeatLayer automatically: a full refund puts the seats back on sale, and a partial refund leaves them sold. With other providers, refund from the order in SeatLayer, or record an outside refund with Refund or cancel… → Cancel without refund.
Request a gateway
PayPal, Tap, Mercado Pago, Xendit and Flutterwave appear under More payment options until they are on for your account. An admin chooses Request next to one; we enable it, and its card appears with the others. For a gateway that is not listed, choose Ask us.