Taking payment
Choose whether customers pay online or on the day. This page explains how payment affects booking confirmation, holds and refunds.
Before you begin
kahunacart.bookings.manageto set Paying on a service, and to approve, turn down or cancel a booking.kahunacart.orders.viewto open the order behind a booking, andkahunacart.orders.refundto give money back.kahunacart.settingsfor the store-wide setting and for the deposits switch.- At least one payment provider set up, if anything you sell has a price on it. See Payment providers.
Payment options
Online payment is required only when these rules allow it:
- If the store uses payment on the day, no online payment is required.
- If the service uses payment on the day, no online payment is required.
- Otherwise, a positive price requires online payment. A zero price is free. On a store that sells in more than one currency, the price is the one in the visitor's currency, and a price nobody entered in that currency is not zero: it means the thing cannot be bought there. See Selling in more than one currency.
Either payment-on-the-day setting skips online payment. A service can opt out of a store that charges online, but cannot require online payment when the store is set to payment on the day.
Money due sends the booking through the cart. Choosing a time creates a temporary hold; the cart line shows the appointment details. The booking enters the diary when the order completes.
Nothing due creates the booking immediately, without a cart, order or checkout. The customer enters their name and email and confirms the appointment. Use this for free services or payment on the day.
Temporary holds
A hold temporarily reserves a time while the customer books. It blocks competing reservations and expires automatically if the customer does not complete the process.
Cart and payment holds have separate durations:
| Hold | Default | What it is |
|---|---|---|
| In the cart | 15 minutes | Reserves a selected time while the customer checks out. |
| On the payment page | 60 minutes | Allows time to complete payment with the provider. |
The payment hold is always at least as long as the cart hold, regardless of the configured values.
Starting payment extends the hold. Completing or closing the order releases it. Expired holds are cleared by the worker every five minutes and before every new reservation.
Booking confirmation
An order creates a booking with a waiting or confirmed status, depending on payment.
Any of these payment events can confirm the booking:
- The order completes with payment. This includes an immediate card capture or an offline payment marked paid at completion.
- Payment arrives later. For example, a bank transfer is marked paid or a payment webhook arrives after checkout.
- An authorisation is captured. The provider collects funds it previously reserved.
Each event confirms the booking, records the change in its history and sends a notification.
Approval
Set Wait for you to say yes to require approval. The booking remains a request even after payment, and you receive a notification.
A request holds its slot just like a confirmed booking. Approval keeps that reservation. Rejection frees the time and, if payment was taken, opens a refund request on the order with the reason.
Deposits
KahunaCart core calculates deposits, marks orders as part paid and manages balance collection. See Deposits.
Important
Appointment and class deposits are taken from an existing order. Online booking checkout collects the full price. To collect a deposit, open the order and press Take a deposit, then collect the balance through its pay link. A product’s deposit percentage does not enable a deposit option on the booking page.
Rentals supports deposits at checkout. Enable deposits for the store and set a percentage on the property to collect part now and the balance before arrival. With deposits disabled or no property percentage set, checkout collects the full amount.
Check the first few deposits on the order screen. Part payments are recorded when a provider reports a capture or an offline payment is marked paid. A provider that charges in one step without reporting a capture may leave the collection showing an amount owed.
A part-paid order is not fully paid. The remaining balance stays outstanding.
The deposit can still confirm the booking. Booking confirmation depends on payment being received, so the appointment remains reserved while the order balance is outstanding.
Refunds and cancellations
Cancellation does not issue a refund automatically. It frees the time, records the change and notifies you. If an order is linked, it creates a refund request for your review.
Review the request against your cancellation policy before issuing the refund.
| What you do | What happens to the bookings |
|---|---|
| Refund an order in full | Cancels its bookings and releases their times. |
| Refund part of an order | Retains the bookings and records the refunded amount in their histories. |
| Cancel an order | The same as a full refund |
A partial refund does not cancel the appointment. Cancel the booking separately if the customer will not attend.
Once cancellation releases a slot, a later failure does not reserve it again. The booking remains cancelled because another customer may already have taken the time.
Cancellation cutoffs
Set the customer cancellation and rescheduling cutoff on the service. After it passes, self-service changes are refused with "It is too late to cancel this online. Give the shop a ring."
The cutoff does not restrict staff actions at the front desk.
Payment after a hold expires
A payment can arrive after its hold expires and another customer reserves the time.
In this case, the paid booking is created as a request in conflict, without reserving any time. Its history records the cause and you receive a notification. Resolve the conflict by arranging another time or refunding the payment.
The booking cannot be approved while it holds no time. Contact the customer to arrange another slot or a refund. See Bookings and Troubleshoot.
Supported payment providers
Bookings are services. Checkout excludes providers whose terms permit only digital goods.
The service classification also determines tax treatment and avoids requesting a shipping address for an appointment. If no compatible provider is available, checkout explains why.
Related
- Payments - the cart, the payment page and what each provider can do
- Payment providers - Stripe, Polar, PayPal and the offline provider
- Deposits - the collection, the sessions, the balance and the pay link, all of it core's
- Orders and the admin - refunds, refund requests and the order's own timeline
- Settings reference - the two hold lengths and the store-wide payment setting