Skip to content

Online Payments (Stripe)

The Simple BnB Rental Pro plugin allows you to accept online payments through Stripe Checkout, a secure and fast system that lets your guests complete their booking by paying directly with a credit card, Apple Pay, or Google Pay.

stripe pyments settings

1. Enable online payments

To activate Stripe in the plugin:

  1. Go to Settings → Payments (Stripe).
  2. Enable Enable online payments (Stripe Checkout).
  3. Fill in the required fields (see next section).
  4. Save your changes.

From now on, guests will be able to complete their payment through Stripe after submitting the booking form.


2. Set up your Stripe keys

To connect the plugin with your Stripe account, you need two API keys:

  • Publishable key → starts with pk_
  • Secret key → starts with sk_

You can find them in your Stripe dashboard under
Developers → API keys.

Copy and paste both keys into the corresponding fields in the plugin’s Settings → Payments page:

Field Description
Stripe publishable key Public key used by the front end.
Stripe secret key Private key used to process payments.

💡 Tip: To test payments, use the keys from Stripe’s Test data section.
When you’re ready to go live, replace them with your Live keys.


3. Choose the payment type

You can decide whether guests pay the full amount or only a deposit at the time of booking:

Option Description
Full amount The guest pays the total immediately.
Deposit (%) The guest pays only a percentage of the total amount.
Fixed deposit (€) The guest pays a fixed amount, regardless of the total.

If you select a deposit option, specify the value (percentage or fixed amount) in the dedicated field.


4. Set up the Webhook

The webhook allows Stripe to automatically notify the plugin when a payment is completed. It’s not strictly required, but strongly recommended, as it ensures bookings are marked as confirmed even if there are delays or interruptions during the redirect from Stripe.

Without the webhook, the plugin still marks the booking as confirmed right after returning from the Stripe “Success” page — but the webhook adds an extra layer of safety and reliability.

How to set it up

  1. Log in to your Stripe dashboard.
  2. Go to Developers → Webhooks.
  3. Click Add endpoint.
  4. Enter your webhook URL, in this format:
https://yourdomain.com/wp-json/simpbnb/v1/stripe/webhook

(replace yourdomain.com with your actual site address)

  1. Under Events to send, select checkout.session.completed.

  2. Click Add endpoint to save.

Stripe will show a value called Signing secret (it starts with whsec_). Copy this code and paste it into the Stripe webhook signing secret field in the plugin settings.


5. Success and cancel pages

When a guest completes (or cancels) the payment, Stripe automatically redirects them to the pages you’ve configured.

In the plugin’s Stripe settings, you’ll find these fields:

Field Description
Success page Page shown after a successful payment. It must contain the [simpbnb_success] shortcode.
Cancel page Page shown when the user cancels or abandons the payment. It should include the [simpbnb_cancel] shortcode.
“Back to search” link A return link shown on the cancel page (e.g., back to the booking form).
“Contact us” link An optional link to a contact or support page.

You need to create the two dedicated WordPress pages, one for success and one for cancellation, in order to customize the messages for customers and insert the shortcodes.


6. Payment flow

Here’s how the process works when Stripe is active:

  1. The guest fills out the booking form on your site.
  2. They are redirected to Stripe Checkout to complete the payment.
  3. Stripe processes the transaction.
  4. Upon success, Stripe sends a confirmation back to the plugin via the webhook (if configured).
  5. The booking status automatically changes to Confirmed.
  6. Confirmation emails are sent to both the manager and the guest.

7. Test mode

You can test the entire payment flow without using real cards.

  1. Enable Test mode in your Stripe account.
  2. Use test keys (pk_test_... and sk_test_...).
  3. Make a booking on your site and, during checkout, use a test card, for example:
Card number: 4242 4242 4242 4242
Expiry date: any future date (e.g. 12/30)
CVC: 123

Stripe will simulate a successful payment, allowing you to verify everything works before going live.


8. Final notes

  • All transactions are securely processed by Stripe — no card data is stored on your site.
  • Refunds, receipts, and taxes can be managed directly from your Stripe account.
  • Make sure the currency set in the plugin matches the one configured in your Stripe account.

With these settings, your website will be ready to accept online payments in a simple, secure, and professional way.