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.