Skip to content
GPLWP Guides

How to accept payments for appointments on WordPress

Booking & Events Time About 30–60 minutes 6 steps Updated 3 Sep 2026

BOOKING & EVENTS
The short answer

You normally need an appointment-booking plugin to combine availability, reservations and payment status in one flow. Connect the plugin to Stripe or another gateway, choose full payment or a deposit, publish the booking form and test a real customer journey before taking bookings.

The route
  1. 01Choose the booking setup
  2. 02Install and configure booking software
  3. 03Connect your payment gateway
  4. 04Set payment and booking rules
  5. 05Publish and test the booking form
  6. 06Use the matching payment add-on

What you need

  • A WordPress site with HTTPS enabled
  • An appointment-booking plugin or booking service
  • A Stripe or other supported payment account
  • Admin access to WordPress

Choose the booking setup

Decide whether customers will pay the full appointment price, pay a deposit, or book first and pay later. Full payment is simplest; deposits can reduce no-shows but require clear wording about the remaining balance and cancellation policy.

You need a booking system for live availability, time-slot protection, appointment records and payment status. WordPress alone can display a form or payment link, but it does not provide the scheduling logic needed to prevent double bookings.

Install and configure booking software

Install an appointment-booking plugin or connect an external booking service. Create your services, durations, prices, staff members and locations, then set business hours, breaks, holidays and lead-time rules.

Do not publish the form until every service has a price and at least one staff member or resource assigned. A missing price or unavailable provider commonly makes the payment option disappear or leaves customers with no bookable slots.

Connect your payment gateway

Open the booking plugin’s payment settings and enable a supported gateway such as Stripe. Sign in or enter the credentials requested by that integration, then set the currency and decide which payment methods customers may see.

Use live credentials only after testing. Live card payments require HTTPS, and many integrations also use webhooks or return URLs to update an appointment after Stripe confirms or rejects a payment. If those callbacks are blocked by caching, security rules or a staging URL, the customer may pay while the appointment remains pending. Stripe documents both plugin-based integrations and hosted checkout flows.

Set payment and booking rules

Choose whether a successful payment automatically approves the appointment or leaves it pending for manual review. Add your cancellation, refund and rescheduling rules to the booking form and confirmation emails.

If you use deposits, show the amount paid and the balance due before the customer submits the booking. Also decide what happens when someone abandons checkout: the time slot should expire or return to availability after the interval supported by your booking system.

Publish and test the booking form

Add the booking form to a page using the plugin’s block, shortcode or page-builder widget. Check the form on a phone as well as a desktop, and make sure the selected service, staff member, time, price and payment method are visible before checkout.

Run a complete test in the gateway’s test mode: select a slot, pay, return to the site, check the appointment status, confirm the emails and verify the transaction in the gateway dashboard. Then test a failed payment and an abandoned checkout. Clear or exclude the booking page from aggressive page caching if old availability or broken payment buttons appear.

Use the matching payment add-on

If your site already uses Bookly, the Bookly Stripe Add-on is a practical route for connecting Stripe to the booking workflow. Bookly’s documentation says the add-on requires Bookly PRO, is enabled under Bookly > Settings > Payments, and uses Stripe keys plus webhook events for payment updates.

Check the form type before installing it: Bookly currently states that the Stripe add-on is not supported in its modern booking forms. The alternative Bookly Cloud Stripe option uses a separate setup, so do not mix the two configurations while troubleshooting.

The fast route

Let Bookly Stripe Add-on do it

Stripe integration for one-time and recurring appointment payments; choose it when your booking system already uses Bookly.

Get Bookly Stripe Add-on

Tools that do this job

All of these solve the task above. They are listed as we have covered them.

Our pick
Bookly Stripe Add-on

Stripe integration for one-time and recurring appointment payments; choose it when your booking system already uses Bookly.

Get it
BookingPress Square Payment Gateway Addon

Adds Square card payments to BookingPress appointments, for businesses that need Square rather than PayPal or another gateway.

Get it
BookingPress Skrill Payment Gateway Addon

Adds Skrill checkout with cards, wallets, bank transfers, and local payment methods for BookingPress appointments.

Get it
BookingPress Braintree Payment Gateway Addon

Adds Braintree payments, PayPal, Venmo, Apple Pay, cards, 130+ currencies, and fraud protection to BookingPress appointments.

Get it
BookingPress 2Checkout Payment Gateway Addon

Adds 2Checkout to BookingPress for global, multi-currency appointment payments; choose it for international payment coverage.

Get it
BookingPress Authorize.Net Payment Gateway Addon

Adds Authorize.Net credit-card payments to BookingPress appointments, ideal when you need fraud detection and secure card handling.

Get it
BookingPress ECPay Payment Gateway Addon

Adds ECPay checkout to BookingPress appointments for businesses serving regions where ECPay is supported.

Get it
BookingPress Klarna Payment Gateway Addon

Adds Klarna Pay Now, Pay Later, and installments to BookingPress appointments when flexible financing matters.

Get it
BookingPress Mollie Payment Gateway Addon

Adds Mollie and European payment methods to BookingPress; choose it when appointment payments need local options beyond PayPal.

Get it
BookingPress Mercado Pago Payment Gateway Addon

Adds Mercado Pago checkout to BookingPress for full, deposit, or partial appointment payments in supported Latin American markets.

Get it
BookingPress Paddle Payment Gateway Addon

Adds Paddle checkout and fraud protection to BookingPress; choose it when you need Paddle-based payments for appointment bookings.

Get it
BookingPress Pagseguro Payment Gateway Addon

Adds PagSeguro checkout to BookingPress for Brazilian appointment payments, with sandbox and live modes.

Get it
BookingPress PayUMoney Payment Gateway Addon

Adds PayUMoney checkout to BookingPress for INR appointments; choose it when serving Indian customers with PayUMoney accounts.

Get it
BookingPress Payfast Payment Gateway Addon

Adds PayFast checkout to BookingPress; choose it when serving South African customers who prefer local payment methods.

Get it
BookingPress Paystack Payment Gateway Addon

Adds Paystack checkout to BookingPress appointments, ideal for businesses serving Paystack-supported African markets.

Get it
BookingPress Razorpay Payment Gateway Addon

Adds Razorpay checkout to BookingPress for cards, UPI, wallets, and net banking; ideal for appointment businesses serving Indian customers.

Get it
BookingPress Stripe Payment Gateway Addon

Adds Stripe card payments directly to BookingPress appointments; choose it when Stripe is preferred over PayPal or other gateways.

Get it

Sources

  1. docs.stripe.com /payments/accept-a-payment?platform=plugins&utm_source=opena…
  2. support.booking-wp-plugin.com /hc/en-us/articles/115003938533-Stripe-Payments-Add-on?utm_s…

Questions

Can I accept appointment payments without a WordPress plugin?
You can place a Stripe Payment Link on a page, but that does not reliably manage live availability, time-slot conflicts, appointment status or automatic confirmations. For a real appointment workflow, use a booking plugin or an external scheduler with payments built in. A manual form plus payment link is only sensible for a small number of fixed appointments that you confirm yourself.
Should customers pay the full amount or a deposit?
Choose full payment when the service price is fixed and you want the booking confirmed immediately. Choose a deposit when customers commonly cancel or when the final price can change, but state the balance, refund policy and payment deadline clearly. Your booking system must support the deposit workflow; otherwise, track the remaining amount manually and expect more administration.
Why did a customer pay but the appointment stays pending?
The usual causes are a blocked webhook, an incorrect return URL, caching, failed background requests, or a booking plugin that cannot match the payment to the appointment. Check the gateway event log and the booking plugin’s payment record, confirm that the site uses HTTPS, and temporarily test with caching and security plugins isolated. Do not approve the slot solely from a customer screenshot.
Do I need WooCommerce to take appointment payments?
No, many appointment plugins connect directly to Stripe or another payment gateway and do not require WooCommerce. WooCommerce is useful when you already run a shop, need its tax and order tools, or want to use a gateway available through WooCommerce. It can also add another checkout layer, so confirm how it handles appointment availability, deposits and payment status before choosing it.