Skip to main content

Integrate Stripe payments

Stripe is a leading payment platform that helps businesses accept and manage online payments securely. By integrating Stripe with Kisi, you can connect bookings to a seamless checkout experience, ensuring that users complete their payment before receiving access.

info

This integration is currently in beta. It may be limited to higher-tier plans once fully released.

Prerequisites

note

Ensure that you are using the same Stripe mode (Test or Live) consistently across all values

Set up Stripe integration in bookings

When configuring a booking template in the Payment settings, you will see three fields:

  • Stripe payment link
  • Stripe restricted key
  • Stripe webhook secret

Paste the corresponding values from your Stripe Dashboard as follows.

  1. Sign in to the Stripe Dashboard
  2. Go to Payment > Payment Links
  3. Click on + New, set up your payment, then click Create link
  4. Copy and paste the generated payment link URL to Stripe payment link

For more information, follow Stripe's Payment Links guide.

Create a restricted API key

  1. In the sidebar, go to Developers > API keys
  2. Click Create restricted key
  3. Click Providing this key to another website
  4. Name your key and enter https://marketplace.kisi.io
  5. Click Customize permissions for this key and click Create restricted key
  6. Give the key only the following permissions:
    • Payment intents - Read
    • Checkout Sessions - Write
    • Payment Links - Read
    • Events - Read
  7. Click Create key and copy the generated restricted key
  8. Paste it into the Stripe restricted key field
info

Use a restricted key instead of a secret key for enhanced security. The restricted key only has the minimum permissions necessary for the Kisi integration.

For more information, follow Stripe's API Keys guide.

Create a webhook endpoint and copy the webhook secret

  1. Go to Developers > Webhooks
  2. Click on Add Destination
  3. Select 4 listed events and click Continue
    • checkout.session.completed
    • checkout.session.expired
    • payment_intent.succeeded
    • payment_intent.payment_failed
  4. Select Webhook endpoint as your destination type and click Continue
  5. For Endpoint URL, enter: https://marketplace.kisi.io/trpc/bookings.stripeWebhook
  6. Click Create destination
  7. Copy and paste your signing secret into the Stripe webhook secret field

After configuration, Kisi will only grant access for a booking once the payment is confirmed by Stripe. If a payment fails or is not completed, the user will not receive access.