How to accept booking payments through WooCommerce
WooCommerce can process booking payments, but it does not manage appointments, time slots, or availability by itself. Use a booking plugin with WooCommerce support, configure the checkout and payment gateway, then test paid, failed, cancelled, and refunded bookings before going live.
- 01Confirm your booking setup
- 02Prepare the WooCommerce checkout
- 03Enable a payment gateway
- 04Connect bookings to WooCommerce
- 05Test every payment outcome
- 06Use the faster integration route
What you need
- A WordPress site with WooCommerce installed and active
- A booking or appointment plugin that supports WooCommerce payments
- A payment processor account and its WooCommerce gateway
- Administrator access to WordPress
Confirm your booking setup
WooCommerce handles the order and payment; a separate booking system must handle dates, times, availability, staff, capacity, or event places. WooCommerce alone is not a booking calendar, so install or use a booking plugin that can create a WooCommerce order for each booking.
Check that the booking plugin supports the payment gateway you intend to use. If it has native WooCommerce support, use that rather than trying to connect two unrelated checkout systems.
Prepare the WooCommerce checkout
Open WooCommerce > Settings > Advanced and confirm that the assigned Checkout page is the page customers should use. The Checkout block only displays payment methods that support it; an incompatible gateway can result in no payment methods being shown.
For a service or event, make the related product virtual if it does not need shipping. This removes shipping-related fields and shipping calculations from the purchase flow.
Enable a payment gateway
Go to WooCommerce > Settings > Payments, enable the gateway you want, and select Manage to connect the processor and enter its required settings. WooCommerce lets you change the order in which enabled payment methods appear at checkout.
Complete any account verification, webhook, API-key, or test-mode setup required by the gateway. Do not assume that an enabled gateway can charge customers until you have completed its connection and returned to the WooCommerce settings screen.
Connect bookings to WooCommerce
In your booking plugin, enable its WooCommerce payment option and choose what the customer sees as the appointment product or order item. The integration should send the customer to WooCommerce Checkout after they select a date and time, then return them to a confirmation page after the order is placed.
If your booking plugin has no WooCommerce integration, there is no reliable manual WooCommerce-only route for slot locking and appointment records. You would need a compatible booking extension or custom development, and mismatched payment and booking statuses can create double bookings.
Test every payment outcome
Create a test booking and check that the selected slot, customer details, price, and booking reference appear in both the booking records and the WooCommerce order. Test at least one successful payment, a declined payment, an abandoned checkout, a cancellation, and a refund.
Make sure a failed or unpaid order does not leave the slot permanently reserved. This is the Friday-afternoon failure that matters most: the customer sees an error, but the calendar still blocks the appointment. Also confirm that confirmation emails are sent only at the status your booking plugin treats as paid or approved.
Use the faster integration route
If you already use LatePoint, the LatePoint Addon adds WooCommerce payment support so customers can be redirected to the WooCommerce Checkout and use the gateways configured there. In LatePoint, install and activate the add-on, open LatePoint > Settings > Payments, enable WooCommerce payments, set the appointment product name, and choose the confirmation-page behaviour.
This is the quicker route when you need WooCommerce gateway support, checkout handling, refunds, and cancellations connected to LatePoint. The manual route is fine when your existing booking plugin already supports WooCommerce and you only need one straightforward payment method.
Let LatePoint Addon do it
Adds WooCommerce gateway support to LatePoint bookings, ideal when you need its payment methods, refunds, and checkout tools.
Sources
- woocommerce.com /document/configuring-woocommerce-settings/advanced/?utm_sou…
- woocommerce.com /document/managing-products/virtual-downloadable/?utm_source…
- woocommerce.com /document/configuring-woocommerce-settings/?utm_source=opena…
- latepoint.com /docs/woocommerce-addon-setup/?utm_source=openai
- woocommerce.com /document/booking-and-appointment/?utm_source=openai
Questions
- Can WooCommerce accept booking payments without a booking plugin?
- No. WooCommerce can take the payment and create the order, but it does not provide appointment availability, time-slot selection, staff schedules, or capacity management by itself. You need a booking extension, an appointment plugin with WooCommerce support, or custom development to connect the chosen booking time to the paid order.
- Why is my payment method missing at WooCommerce checkout?
- A payment method may be missing because it is disabled, not fully configured, unavailable for the customer’s location, or incompatible with the Checkout block. Check WooCommerce > Settings > Payments first, then confirm that the gateway supports the checkout layout your site uses. Switching to the classic checkout can help identify a block-compatibility problem.
- Should the booking be confirmed before payment succeeds?
- Usually, no. A booking should normally remain pending or unpaid until the gateway reports a successful payment, unless your business deliberately accepts reservations without immediate payment. Confirm how your booking plugin maps WooCommerce order statuses, because confirming too early can reserve slots for abandoned or failed orders and cause availability problems.
- Can customers pay a deposit for a booking?
- Only if the booking system or a compatible WooCommerce extension supports deposits or partial payments. WooCommerce processes the order total it receives, but it does not automatically understand booking deposits, remaining balances, or when the balance is due. Check the booking plugin’s payment settings before promising deposits or instalments to customers.
- What is the quickest way to connect LatePoint bookings to WooCommerce?
- Install the LatePoint WooCommerce integration add-on, enable WooCommerce payments in LatePoint’s payment settings, configure the appointment product name and confirmation destination, then test the redirect to WooCommerce Checkout. Customers can then use the payment gateways already configured in WooCommerce.