Help & guides / Stripe
Setup guide
Take card payments, Apple Pay and Google Pay for your bookings. The money goes straight into your own Stripe account.
Time: about 15 minutes
For: websites outside South Africa
You'll copy: 5 codes
Stripe is a card payment provider used in most countries. When a client pays for a booking, Stripe takes the payment and pays it into your bank account. You'll copy a publishable key and secret key (one pair for testing, one for live payments) and a webhook signing secret.
Stripe is for websites outside South Africa. Stripe isn't available to South African businesses, so it only shows on websites priced in a currency other than Rand. South African websites use PayFast instead.
1
Sign in at dashboard.stripe.com (or sign up at stripe.com). To take real payments, click Activate payments and add your business details, ID and bank account. You can test straight away while Stripe checks your details.
2
Turn on Test mode (sometimes called Sandbox) and go to Developers → API keys. Copy the Publishable key (pk_test_…) and click Reveal test key to copy the Secret key (sk_test_…).
3
Turn Test mode off and copy the live Publishable key (pk_live_…) and Secret key (sk_live_…). Stripe may only show the full live secret once, so paste it straight into your website or store it safely. Lost it? Use Roll key.
4
On your website, go to Nunkio Booking → Settings → Payments → Stripe and copy the Webhook endpoint address. In Stripe (Test mode off) go to Developers → Webhooks → Add destination, tick the event payment_intent.succeeded, choose Webhook endpoint, paste your address and click Create destination. Then click Reveal under Signing secret and copy it (whsec_…).
5
In the same Stripe section, tick Enable Stripe, paste the test and live keys into the matching boxes and the Webhook secret, leave Test mode ticked for now, and click Save settings.
6
Book a service and pay with Stripe's test card 4242 4242 4242 4242, any future expiry date and any 3-digit CVC. Check the booking shows as paid under All Bookings, then untick Test mode and save. You're taking real payments.
Stripe isn't on the booking form
Stripe only shows on websites priced in a currency other than Rand. Check Enable Stripe is ticked and saved.
Paid, but the booking stays unpaid
The webhook isn't reaching your website. Check the endpoint address matches exactly, payment_intent.succeeded is selected, and the whsec_ secret came from the same mode (test or live) as the payment.
“Invalid API key”
A key was copied incompletely or into the wrong box. Test keys go in the Test boxes, live keys in the Live boxes.
Real cards are declined
You're still in test mode. Untick Test mode and save.
Want the PDF version? If you have a Nunkio website, you'll find all the PDF guides in your account on nunkio.com or inside your plugin dashboard. Still stuck? Email support@nunkio.com. Please never send us your secret keys or Stripe password.