Skip to content

Connect payments

Connect your own payment gateway on the Payments page, keep test and live side by side, and assign a connection to an event.

Updated View as Markdown

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.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close