All guides

Connect Stripe

Accept card payments (Visa, Mastercard…) with Stripe. Makasi provides the payment: your customer pays on Stripe’s payment page. You paste your secret key; the webhook is optional.

1. Before you start

Create a Stripe account. You can build and test entirely in test mode — no real card is charged — and switch to live mode when you publish.

Ask for card payments in the chat (the “Add to my app” button in Manage › Integrations prepares the request there). It goes into your app’s plan and is installed during the build, after your GO; it then stays in your app. You can paste your keys afterwards — until then, your customers see “payment not set up yet”. Online payments run on your app’s server, which requires a paid plan.

2. Paste your secret key

  1. Open the API keys page in Stripe. Keep test mode on while you build.
  2. Reveal and copy the Secret key (starts with sk_test_ in test mode).
  3. In Makasi, open Manage › Integrations › Card payments and paste it under “Paste your keys”.

It is the only key required. The key sets the mode: sk_test_ for trials (no card is charged), sk_live_ for real payments. Never paste a key into the chat.

3. The webhook (optional)

Without a webhook, payments still work: your app checks the status with Stripe when the customer comes back. If the customer closes the page before coming back, Makasi still picks up the payment by checking it with Stripe a few minutes later; the webhook confirms it right away.

  1. Copy the webhook address shown in Manage › Integrations › Card payments (“Copy this address into Stripe”).
  2. In Stripe, open Webhooks and add a destination with that address and the checkout.session.completed event.
  3. Copy the Signing secret (starts with whsec_) and paste it in Makasi, in the same window.

The whsec_ secret is only needed if you set up the webhook. Once it is pasted, your app refuses any call that Stripe has not signed.

4. Going live

Replace your test key with your live key (sk_live_). If you set up the webhook, add it in live mode too and paste its whsec_ secret: each mode has its own.

The amount is set by your app on its server, never by the customer’s browser.

5. Common problems

The payment went through but your app shows it a few minutes late: the customer closed the page before coming back. Set up the webhook for an immediate confirmation.

"No signatures found matching the expected signature": the whsec_ secret is wrong or comes from the other mode (test vs live).

Real payments fail while test works: you are still on the test key. Paste the live key.

6. For developers

© 2026 OmniLab — Makasi.TermsPrivacyLegal noticemakasi.dev