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.
This integration is currently in beta. It may be limited to higher-tier plans once fully released.
Prerequisites
- Kisi administrator access rights
- An active Stripe account
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.
Create a Stripe payment link
- Sign in to the Stripe Dashboard
- Go to Payment > Payment Links
- Click on + New, set up your payment, then click Create link
- 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
- In the sidebar, go to Developers > API keys
- Click Create restricted key
- Click Providing this key to another website
- Name your key and enter https://marketplace.kisi.io
- Click Customize permissions for this key and click Create restricted key
- Give the key only the following permissions:
- Payment intents - Read
- Checkout Sessions - Write
- Payment Links - Read
- Events - Read
- Click Create key and copy the generated restricted key
- Paste it into the Stripe restricted key field
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
- Go to Developers > Webhooks
- Click on Add Destination
- Select 4 listed events and click Continue
checkout.session.completedcheckout.session.expiredpayment_intent.succeededpayment_intent.payment_failed
- Select Webhook endpoint as your destination type and click Continue
- For Endpoint URL, enter:
https://marketplace.kisi.io/trpc/bookings.stripeWebhook - Click Create destination
- 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.