Modern Hotel Booking — WordPress Hotel Booking Plugin Logo

Modern Hotel Booking

How to Set Up Hotel Payments Without WooCommerce in WordPress

Hotel Payment Setup Without WooCommerce — WP Pro Guide

Connect Stripe, PayPal, Apple Pay, bank transfer, and Revolut to your WP hotel booking form in under 10 minutes — no WooCommerce, no shopping cart, no payment gateway extensions required.

⏱️ Setup time: Under 10 minutes

🔒 Stripe & PayPal: Pro required

💸 Bank transfer & Revolut: Free

📅 Last updated: July 2026

Hotel payment setup without WooCommerce — Modern Hotel Booking WP plugin payment settings showing Stripe PayPal bank transfer and Revolut options
Hotel Booking → Settings → Payments — all gateways in one place, no WooCommerce

⚠️ Stripe and PayPal require Pro. Bank transfer, Revolut, and pay-on-arrival are free. If you’re on the free version, jump to free payment methods setup below. Get Modern Hotel Booking Pro →

Why This WP Hotel Payment Setup Doesn’t Use WooCommerce

Most WP hotel booking setups involving Stripe or PayPal route everything through WooCommerce — and that creates a dependency that makes no sense for a hotel. WooCommerce is an e-commerce platform. A hotel room night isn’t a product. Setting up WooCommerce to process a reservation means configuring shipping zones for something that doesn’t ship, building a cart page for a single-item transaction, and maintaining WooCommerce’s update cycle alongside your booking plugin.

Modern Hotel Booking Pro handles the entire hotel payment setup without WooCommerce natively. Stripe is built in. PayPal is built in. The guest goes from selecting dates to paying — all inside your booking form, all on one page. No cart. No redirect to a WooCommerce checkout page. No separate gateway plugin to configure or keep updated.

Other WP plugins handle this differently. “WP Hotel Booking” by ThimPress requires a separate Stripe add-on plugin. MotoPress has native Stripe and PayPal — but also 2Checkout, Braintree, and Bambora, adding complexity most small properties don’t need. Modern Hotel Booking Pro gives you Stripe and PayPal — the two gateways that cover the vast majority of international guest payments — built in and ready in under 10 minutes. Nothing else needed.

Stripe Hotel Booking WP Setup — Card, Apple Pay & Google Pay

Pro feature — requires an active Modern Hotel Booking Pro licence and a Stripe account

Stripe is the primary card payment gateway for this WP hotel payment setup. Once connected, it handles credit cards, debit cards, Apple Pay, and Google Pay — automatically, without any extra configuration for those last two. SCA and 3D Secure for European guests are handled by Stripe natively.

1

Open the Payments panel

In your WP admin go to Hotel Booking → Settings → Payments. All available payment methods are listed here. Stripe and PayPal will show as available once your Pro licence is active under Hotel Booking → Licence.

2

Enable Stripe and enter your API keys

Toggle Stripe to Enabled. You’ll need two sets of keys from your Stripe Dashboard → Developers → API Keys ↗:

  • Publishable Key — starts with pk_test_ (test) or pk_live_ (live)
  • Secret Key — starts with sk_test_ (test) or sk_live_ (live)

Start with your Test keys — Stripe test mode lets you process bookings using test card numbers without any real charges. Switch to Live keys when you’re satisfied everything works.

✅ Apple Pay & Google Pay are automatic. The moment Stripe is connected, guests on compatible devices see Apple Pay or Google Pay as checkout options — no extra setup, no separate configuration. Stripe handles it. Your WP hotel payment setup doesn’t need to do anything else for these to work.

Step 3: Stripe Webhook — Don’t Skip This

This is the step most people miss — and the one that causes the most support questions. The webhook is how Stripe tells your WP site that a payment has completed or failed. Without it, a guest could pay successfully via Stripe but your booking system won’t automatically confirm the reservation. You’d have to check your Stripe dashboard manually and update bookings by hand.

It takes about 2 minutes. Here’s exactly what to do:

3a

Copy your webhook URL from the plugin

In Hotel Booking → Settings → Payments → Stripe, you’ll see a Webhook URL field. It looks like: https://yoursite.com/?wc-api=stripe_webhook or similar. Copy this URL exactly.

3b

Add the endpoint in your Stripe Dashboard

Go to your Stripe Dashboard → Developers → Webhooks ↗. Click Add endpoint. Paste your webhook URL. Under Select events to listen to, add these two:

  • payment_intent.succeeded
  • payment_intent.payment_failed

Click Add endpoint to save.

3c

Copy the Signing Secret back into the plugin

After saving the endpoint in Stripe, click Reveal under Signing secret. Copy the value (starts with whsec_) and paste it into the Webhook Signing Secret field in Hotel Booking → Settings → Payments → Stripe. Save settings. The webhook is now live.

⚠️ Note on test vs live webhooks: Stripe test mode and live mode have separate webhook endpoints. If you set up a webhook while in test mode, you’ll need to add a second webhook endpoint for live mode when you switch. Most payment issues after going live come from this — the test webhook is active, the live one isn’t.

Step 4: PayPal Hotel Booking WordPress Setup

Pro feature — requires a PayPal Business account

PayPal is the second Pro payment gateway. Guests from the US, UK, Canada, and Australia disproportionately use it — having PayPal alongside Stripe means you’re not leaving bookings on the table from guests who prefer not to enter card details on an unfamiliar site. The PayPal hotel booking WordPress setup is straightforward:

4

Enable PayPal and enter your credentials

Toggle PayPal to Enabled. You need your PayPal Client ID and Secret from your PayPal Developer Dashboard ↗:

  • Log into the PayPal Developer Dashboard and go to My Apps & Credentials
  • Create a new app or select an existing one
  • Copy the Client ID and Secret
  • Paste both into Hotel Booking → Settings → Payments → PayPal
  • Select Sandbox mode for testing or Live mode for real payments
  • Save settings

PayPal does not require webhook configuration the same way Stripe does — the plugin handles PayPal’s IPN (Instant Payment Notification) automatically.

Step 5: Free WP Hotel Payment Methods — Bank Transfer & Revolut

Available in the free version — no Pro licence, no WooCommerce, no gateway account required

These are not fallbacks — they’re real payment options that work for a significant portion of hotel guests, particularly in Europe. Accept hotel payments via WordPress without any gateway account at all.

🏦

Bank Transfer

Go to Hotel Booking → Settings → Payments → Bank Transfer. Toggle it Enabled. Enter your IBAN, account name, and any payment reference instructions. These details display automatically in the booking confirmation screen and email. Guest sends the transfer — you confirm the booking when it arrives.

No gateway fees. SEPA transfers between EU banks typically clear same-day.

💜

Revolut Payment Link

The plugin includes a dedicated Revolut Details Gutenberg block. Add it to your booking confirmation page template, enter your RevTag or Revolut payment link, and it appears in every booking confirmation — with an optional QR code. A personal Revolut account is enough. No Revolut Business account required.

Revolut-to-Revolut transfers are instant and free. Works across 38+ European countries.

🤝

Pay on Arrival

Enable in Hotel Booking → Settings → Payments → Pay on Arrival. Guests receive a full booking confirmation with no online payment. They pay on site — cash or whatever you agree. Zero processing fees, zero gateway account needed.

Works well alongside online options — guest chooses at checkout.

WhatsApp — Guest Communication, Not a Payment Method

Worth clarifying because it causes confusion. The plugin includes a WhatsApp contact button option — this is a guest communication feature, not a payment gateway. When enabled, a WhatsApp button appears on your booking form so guests can message you directly with questions before or after making a booking.

WhatsApp does not process payments. It opens a WhatsApp conversation between you and the guest. Some property owners use it to send a manual Revolut or bank transfer payment link through WhatsApp after the conversation — that’s a valid workflow, but WhatsApp itself is just the communication channel, not the payment method.

Enable it under Hotel Booking → Settings → General → WhatsApp Contact. Enter your WhatsApp number in international format (e.g. +40712345678). A chat button appears on your booking form. That’s all it does.

Testing & Going Live

Don’t skip the testing step. A payment setup that looks correct in the WP admin can still have a misconfigured webhook or a sandbox/live mode mismatch that only shows up when a real guest tries to pay.

Testing Stripe

With Test Mode active, make a test booking on your site and use Stripe’s test card number 4242 4242 4242 4242 with any future expiry date and any 3-digit CVC. The booking should complete and appear in both your WP booking dashboard and your Stripe Dashboard under test payments. If the booking shows as pending in WP after the Stripe charge succeeds, your webhook isn’t configured correctly — revisit Section 3.

Testing PayPal

With Sandbox mode active, use a PayPal sandbox buyer account (created in your PayPal Developer Dashboard) to complete a test booking. Confirm the booking status updates correctly in your WP admin after the PayPal sandbox payment completes.

Going Live Checklist

  • Switch Stripe from Test to Live and replace test API keys with live API keys
  • Add a new live mode webhook endpoint in Stripe Dashboard (separate from the test one)
  • Replace the Webhook Signing Secret with the live one
  • Switch PayPal from Sandbox to Live and replace sandbox credentials with live ones
  • Confirm your site is running on HTTPS — Stripe and PayPal both require SSL
  • Make a real low-value test booking through your live payment setup and immediately refund it

Troubleshooting Common Payment Issues

Stripe payment succeeds but booking stays as “Pending” in WP admin

Your webhook isn’t reaching your site. Check: (1) the webhook endpoint URL in Stripe Dashboard matches exactly what the plugin shows, (2) you’re using the correct signing secret for the mode you’re in (test vs live), (3) your site isn’t behind a firewall or security plugin blocking Stripe’s POST requests. Check Stripe Dashboard → Developers → Webhooks → your endpoint → Recent deliveries for error details.

Stripe or PayPal options not showing in the payment settings panel

Stripe and PayPal are Pro-only. If you don’t see them in the panel, your Pro licence isn’t active. Go to Hotel Booking → Licence, confirm your key is entered and shows as active. If it shows as invalid, check it against your StartMySuccess account ↗.

Apple Pay or Google Pay not appearing at checkout

Apple Pay requires your domain to be verified with Stripe and the guest must be using Safari on an Apple device or Chrome on an Android device for Google Pay. Domain verification: go to Stripe Dashboard → Settings → Payment Methods → Apple Pay → Add domain → enter your site’s domain. This is a one-time setup in Stripe.

3D Secure / SCA failing for European cards

Confirm your Stripe account is enabled for the relevant country and that you’ve completed Stripe’s business verification. SCA failures are almost always related to an unverified Stripe account rather than a plugin configuration issue. Check Stripe Dashboard → Settings → Business settings for any outstanding verification requirements.

Still stuck?

Post on the WordPress.org support forum ↗ or email [email protected]. Include your payment method, the exact error or behaviour you’re seeing, and whether you’re in test or live mode.

Frequently Asked Questions

Do I need WooCommerce for hotel payment setup in WordPress?

No. Modern Hotel Booking handles the entire hotel payment setup without WooCommerce. Stripe, PayPal, Apple Pay, Google Pay, bank transfer, Revolut, and pay-on-arrival are all built into the plugin natively. WooCommerce is not required at any tier — free or Pro.

Is Stripe available in the free WP plugin version?

No. Stripe and PayPal require the Pro version. The free WP plugin includes bank transfer, Revolut payment link, and pay-on-arrival — all without WooCommerce and all with zero processing fees from the plugin.

Does the Stripe hotel booking WP setup support Apple Pay and Google Pay?

Yes. Apple Pay and Google Pay activate automatically through Stripe — no separate configuration in the WP plugin settings. Apple Pay requires a one-time domain verification in your Stripe Dashboard. After that, both appear automatically for guests on compatible devices.

Why do I need a Stripe webhook?

Without a webhook, Stripe can’t notify your WP site when a payment succeeds or fails. Bookings can get stuck as “pending” even after a guest has paid. The webhook takes 2 minutes to configure in your Stripe Dashboard and is the most important step in the whole setup.

Can I accept hotel payments on WordPress without a gateway account?

Yes — on the free version. Bank transfer and pay-on-arrival require no gateway account at all. Revolut requires a free Revolut personal or business account. These accept hotel payments via WordPress without any monthly fees or gateway approval process.

What is the WhatsApp option in the plugin?

WhatsApp is a guest communication tool, not a payment gateway. It adds a chat button to your booking form so guests can message you before or after booking. It doesn’t process payments. Some property owners use it to share a Revolut or bank transfer link manually with guests — that workflow is valid, but WhatsApp itself isn’t handling any money.

Is PSD2 and SCA handled automatically for European guests?

Yes. The Stripe integration supports Strong Customer Authentication and 3D Secure — required under PSD2 for card payments in the European Economic Area. It’s handled by Stripe automatically. No extra WP plugin configuration is needed.

Need Stripe & PayPal?

Upgrade to Pro to unlock Stripe, PayPal, Apple Pay, Google Pay, and automatic iCal sync — all without WooCommerce.

Modern Hotel Booking is a lightweight, zero-commission reservation engine and 24/7 AI Concierge receptionist for WordPress.

Keep 100% of your revenue and own your guest data.

© 2026 Modern Hotel Booking. All rights reserved.

Built with love for independent property owners.