Troubleshooting Guide
Diagnose BoardingWP checkout and WooCommerce issues with confidence.
This guide focuses on the practical WooCommerce checks that matter most when the BoardingWP booking flow breaks, behaves unexpectedly, or stops short of payment.
What this covers
WooCommerce pages, guest checkout, gateways, booking handoff, extras, account endpoints, emails, refunds, and hold cleanup.
Best used for
Checkout failures, missing payment methods, broken account areas, wrong currency display, extras not appearing, and order creation problems.
Good first step
Start with one manual payment gateway and a simple test booking before diagnosing Stripe, PayPal, or deeper theme conflicts.
Overview
How BoardingWP uses WooCommerce
BoardingWP does not run its own payment system. It uses WooCommerce for order creation, payment pages, gateways, coupons, refunds, customer account areas, and email templates. BoardingWP creates a WooCommerce order after the booking hold is created, then sends the customer to the WooCommerce order payment page.
Most checkout issues usually come from
- WooCommerce inactive or incomplete
- Checkout or account pages misconfigured
- Guest checkout rules conflicting with the intended flow
- No usable payment gateway enabled
- Theme or checkout customisation interfering with WooCommerce pages
Practical troubleshooting rule
Prove the simple flow first. If WooCommerce pages, one manual gateway, and one basic booking work correctly, most deeper issues become much easier to isolate.
Section 1
Check the core WooCommerce setup first
- Confirm WooCommerce is installed and active. BoardingWP will not accept bookings without it, so WooCommerce menus and settings should be visible in WordPress admin.
- Confirm Cart, Checkout, and My Account pages are assigned. Check WooCommerce > Settings > Advanced and make sure those pages exist and are the ones WooCommerce expects.
- Confirm the Checkout page is a real WooCommerce checkout page. If the customer reaches an order-pay URL and sees the wrong content or a generic page, the issue usually points to WooCommerce page setup, theme template overrides, or checkout-page misconfiguration.
- Confirm the My Account page is configured properly. BoardingWP uses My Account for customer login, My Bookings, and My Pet Profiles. If those areas do not work, check the assigned page and how WooCommerce account content is rendering.
Section 2
Review account policy and guest checkout behaviour
BoardingWP respects WooCommerce account and checkout policy, so login behaviour usually follows WooCommerce settings rather than a BoardingWP fault.
Check this in WooCommerce
WooCommerce > Settings > Accounts & Privacy
- Whether guest checkout is allowed
- Whether account creation during checkout is allowed
- Whether the customer email already belongs to an existing account
Expected behaviour
If guest checkout is allowed, new customers can continue as guests. If guest checkout is disabled, BoardingWP should require account usage before proceeding.
Common confusion
If a customer enters an email that already belongs to a WordPress or WooCommerce account, being asked to log in is expected behaviour rather than a bug.
Section 3
Validate the payment flow in the right order
- Make sure at least one usable payment gateway is enabled. Check WooCommerce > Settings > Payments. If no gateway is enabled, the customer may reach payment with nothing usable to complete checkout.
- Test with an offline or manual gateway first. Direct bank transfer, cash on delivery, or another manual method is the safest way to prove booking creation, order creation, payment-page handoff, admin visibility, customer visibility, and cancellation behaviour.
- Treat Stripe and PayPal as second-stage validation. If the manual flow works but Stripe or PayPal does not, the fault usually sits in gateway configuration, webhook or callback handling, or gateway-specific WooCommerce setup rather than in BoardingWP core order creation.
Section 4
Check coupons and store currency
Coupon issues
- Confirm the coupon exists and is enabled
- Confirm it is not expired
- Confirm usage limits and restrictions are not blocking it
- Confirm it is valid for the WooCommerce order context
BoardingWP previews discounts, but WooCommerce remains authoritative when the order is created.
Currency issues
BoardingWP does not store its own active currency. WooCommerce store currency is the source of truth for boarding prices, extras, checkout totals, and refunds.
If prices or symbols look wrong, check WooCommerce > Settings > General > Currency first.
Section 5
Confirm the booking pages and handoff are correct
- Make sure the Booking page is selected in BoardingWP settings. This matters because the availability checker relies on that page for the “Start booking” handoff.
- Make sure the selected Booking page actually contains the BoardingWP form. The page should contain [boardingwp] or the BoardingWP block. If the page is selected but does not contain the form, the handoff will land on a page that cannot continue the booking.
- Keep Checkout and payment pages lightly customised while testing. If the order-pay page looks broken or blank, check for theme overrides and page-builder templates affecting WooCommerce checkout or payment templates.
Section 6
Review extras and order-creation requirements
Booking extras checklist
- The product must be a simple product
- It must be enabled as a BoardingWP booking extra
- It must be published
- It must have a valid price
- If stock is managed, stock must be sufficient
Booking extras are intentionally hidden from the normal store purchase flow.
Internal boarding product checks
BoardingWP creates and uses one hidden internal WooCommerce product for boarding charges. If order creation fails in an odd way, confirm products can be created normally in WooCommerce and that no plugin is blocking private or hidden product creation.
If WooCommerce product CRUD is broken, BoardingWP order creation is likely to suffer too.
Section 7
Check emails, refund expectations, cron, and endpoints
Refund behaviour depends on gateway capability
Automatic refunds only work where the WooCommerce gateway supports them. For offline or manual gateways, cancellation without an automatic refund is expected, and staff may need to handle the money movement outside WooCommerce.
Review WooCommerce email settings
Check WooCommerce > Settings > Emails. Confirm BoardingWP email templates are enabled and that recipients, subjects, and headings are correct for confirmed bookings, pending payment notices, cancellation messages, and refund failures.
Make sure WP-Cron runs
BoardingWP uses scheduled cleanup for expiring holds. If old holds linger, confirm WP-Cron is functioning, the site is receiving traffic, or scheduled events are being triggered another way.
Re-save permalinks once if account endpoints behave oddly
If My Bookings, My Pet Profiles, or My Account endpoint links break, go to Settings > Permalinks and click Save Changes. That often clears endpoint routing issues cleanly.
Section 8
Fast known-good setup for testing
- Activate WooCommerce.
- Confirm Cart, Checkout, and My Account pages are assigned.
- Enable one offline or manual payment gateway.
- Set the Booking page in BoardingWP settings.
- Put [boardingwp] on that Booking page.
- Optionally add [boardingwp_availability] to a separate availability page.
- Create one pet type.
- Make one test booking.
- Complete payment through the manual gateway flow.
- Confirm the booking appears in admin and customer account areas.
Section 9
Symptoms and likely causes
Continue to payment fails
WooCommerce inactive, Checkout page misconfigured, or order-pay routing being disrupted by theme or checkout setup.
Customer is forced to log in
Guest checkout disabled, or the email entered already belongs to an existing account.
My Bookings or My Pet Profiles links break
My Account page misconfigured, or account endpoints and permalinks need to be refreshed.
No payment options visible
No enabled gateway, or the enabled gateway is restricted or misconfigured.
Extras do not show
The product is not configured as a booking extra, is the wrong type, lacks price, is unpublished, or has stock restrictions.
Refund error during cancellation
The chosen gateway does not support automatic refunds, which is common for offline or manual gateways.
Wrong currency shown
WooCommerce store currency is wrong. BoardingWP uses WooCommerce currency as the source of truth for prices, extras, checkout totals, and refunds.
Still stuck?
Work through the simple WooCommerce checks before chasing complex fixes.
Most BookingWP checkout issues come down to pages, account policy, gateways, or checkout customisation. If your known-good setup works, you have a reliable baseline to compare everything else against.