Connect Stripe
Take card payments into your own Stripe account: add your keys, test, then turn payments on.
Updated 24 Oct 2026
To connect Stripe, create a webhook in Stripe, paste your secret key and webhook signing secret into Settings → Payment provider, run a test transaction, then select Turn payments on. Customers then pay on Stripe's hosted checkout page and the money goes to your own Stripe account. Card details never reach Hapro.
Only the account owner can set up payments.
Want to try it first?
In the Payments step of the guided setup, choose Use test payments. Orders get a payment link and are marked paid, but no money moves. You can switch to Stripe whenever you are ready.
What you need from Stripe
- Your secret key, from Developers → API keys in Stripe. It starts
sk_test_(test mode) orsk_live_(live). You can use a restricted key startingrk_instead, as long as it can write Checkout Sessions and Refunds and read Payment Intents. - A webhook signing secret, from Developers → Webhooks in Stripe. It starts
whsec_.
Create the webhook in Stripe
Stripe uses a webhook to tell Hapro when a customer has paid.
- In Stripe, go to Developers → Webhooks and add an endpoint.
- For the endpoint address, use your Hapro webhook address. It is specific to your account, so contact support and we will send it to you.
Choose these events:
checkout.session.completedcheckout.session.async_payment_succeededcheckout.session.async_payment_failedcheckout.session.expired
- Save the endpoint, then copy its signing secret.
Test mode and live mode in Stripe have different endpoints and different signing secrets.
Add your keys to Hapro
- Open Settings → Payment provider, or select Connect Stripe in the Payments step of the guided setup.
- In the Provider card, paste the Secret key and the Webhook signing secret.
- Select Set up payments. The status changes to Set up, not tested.
Your keys are stored encrypted and are never shown again. To replace one later, type the new value and select Save provider; leave a field blank to keep its current value.
Test, then turn payments on
- In Testing and going live, select Run a test transaction. When it succeeds, the status changes to Tested.
- Select Turn payments on. The status changes to Taking payments.
If you used test keys (sk_test_), you will see Test mode — no real money. When you are ready for real payments, paste your live secret key and your live webhook signing secret, select Save provider, and run a test transaction again.
Switching payments off
Select Switch payments off at any time. Customers can still build a basket, but cannot check out until you turn payments back on.