NoShow Deposit Payments — How to Set Up (Blog Post)

How to Set Up NoShow Deposit Payments

Collect booking deposits automatically via Stripe, send branded confirmation emails, and manage all payments from your WordPress dashboard — in under 15 minutes.

Contact Form 7 Stripe Deposit Booking No-Code Setup

What Does This Plugin Do?

NoShow Deposit Payments connects your Contact Form 7 booking form to Stripe so customers pay a deposit at the time of booking. It handles the full cycle — payment, email confirmations, refund requests, and dashboard management.

💳

Stripe Deposits

Charge a percentage of the total as a deposit on booking submission.

📋

CF7 Integration

Works with your existing Contact Form 7 booking form — no rebuilding needed.

📧

Branded Emails

Send confirmation emails to customers with your logo, meeting details, and a cancel link.

↩️

Refund Flow

Customers can request a cancellation via a secure link. You process refunds from the dashboard.

📊

Payments Dashboard

See all bookings, statuses, and process refunds in one place.

🔧

Per-Service Pricing

Set different prices for different services — the deposit is calculated automatically.

Before You Start — Requirements

  • WordPress 5.8 or higher
  • Contact Form 7 plugin installed and active
  • A Stripe account (free to create at stripe.com)
  • Your site must use HTTPS (required by Stripe)
💡
Already have a booking form? You can connect this plugin to your existing CF7 form without changing it. The deposit payment step is added automatically on submission.

Installation

1

Install the Plugin

Go to WordPress Admin → Plugins → Add New. Search for “NoShow Deposit Payments”, click Install, then Activate.

Alternatively, download the .zip file and upload it via Plugins → Add New → Upload Plugin.

2

Find the Plugin Menu

After activation, look for NoShow Payments in your WordPress left sidebar. This is your main hub — it has sub-menus for Payments, Settings, and more.


Step 1 — Connect Your Stripe Account

1

Get Your Stripe API Keys

Log in to your Stripe Dashboard and navigate to Developers → API Keys.

  • Copy your Secret Key — it starts with sk_live_… (or sk_test_… for testing)
⚠️
Start in Test Mode. Use sk_test_… keys while setting up. Switch to live keys only after you’ve tested the full flow.
2

Enter Keys in Plugin Settings

Go to NoShow Payments → Settings → Stripe Keys section and paste:

FieldWhere to find it
Stripe Secret KeyStripe Dashboard → Developers → API Keys
Webhook SecretCreated in the next step below
3

Set Up the Stripe Webhook

The plugin needs a webhook so Stripe can notify it when a payment is confirmed. In your Settings page, you’ll see your Webhook URL — copy it.

In Stripe: go to Developers → Webhooks → Add Endpoint. Paste the URL and select the event checkout.session.completed.

After creating it, copy the Signing Secret and paste it back into the plugin’s Webhook Secret field.

Quick option: The Settings page has a “Create Webhook Automatically” button that does this in one click if your Stripe key has the right permissions.

Step 2 — Connect Your Contact Form 7 Booking Form

1

Select Your Booking Form

In NoShow Payments → Settings → General, find the Select CF7 Form dropdown. Choose the CF7 form you use for bookings.

2

Map Your Form Fields

Tell the plugin which CF7 field names hold the meeting date/time and service name. These are the name attributes you gave the fields when building your form in CF7.

SettingDescriptionExample value
Meeting DateTime Field Single field holding both date and time meeting_datetime
Meeting Date Field If your form has separate date and time fields — the date field name meeting_date
Meeting Time Field The time field name (used with the date field above) meeting_time
Service Field The field where the customer picks their service service_price
Customer Name Field The field holding the customer’s full name (for emails) your-name
💡
How to find your field names: In CF7, edit your form and look at the shortcode tag for each field. The name is the value after the first space — e.g. in [text your-name], the field name is your-name.

Step 3 — Set Deposit Amount & Currency

SettingWhat it doesDefault
Deposit Percentage What % of the total price is charged as a deposit on booking 10%
Refund Window (hours) How many hours before the meeting the customer can still cancel and get a refund 24 hours
Currency The currency used for all payments (GBP, USD, EUR, etc.) GBP
⚠️
Refund window is enforced automatically. If a customer tries to cancel within the refund window (e.g. less than 24 hours before the meeting), the refund button is locked. The admin can still process it manually if needed.

Per-Service Pricing

If your services have different prices, you can enter them in the Service Pricing section. Add one service per line in the format:

Service Name | Price

For example:

Hair Cut | 40
Hair Cut + Colour | 80
Full Treatment | 120

The plugin reads the service the customer selected in the form and charges the correct deposit automatically.


Step 4 — Add Your Company Branding

Your company name and logo appear in the confirmation email sent to customers and on the cancellation page.

SettingWhere it appears
Company Name Email greeting, email footer, cancellation page
Company Logo Top of the confirmation email, cancellation page header
💡
Click “Upload Logo” to pick an image from your WordPress Media Library. A PNG or SVG on a white/transparent background works best in emails.

Step 5 — Configure Email Notifications

The plugin sends two types of emails: one to the customer confirming their booking, and one to you (admin) notifying you of a new deposit.

Customer Email

Customise the subject line and body under Settings → Email Templates → Customer Email. Use these tokens in the body — they are replaced with real values automatically:

{customer_name} {company_name} {company_logo} {service_name} {meeting_date} {meeting_time} {cancel_url}
🔗
Always include {cancel_url} in your email. This is the secure link that allows customers to request a cancellation. Without it, customers can’t self-serve cancel and will email you directly instead.

Admin Notification Email

Set the email address to notify under Admin Notification Email. You can use the same tokens in the subject and body to include booking details in the notification you receive.

SMTP (Optional but Recommended)

By default, emails are sent using WordPress’s built-in mail function, which can be unreliable. For better deliverability, enable Custom SMTP in the settings and enter your mail provider details (e.g. Gmail, SendGrid, Mailgun).

FieldExample value
SMTP Hostsmtp.gmail.com
Port587
EncryptionTLS
UsernameYour email address
PasswordApp password (not your login password)

How the Booking Flow Works

Once set up, here is exactly what happens from your customer’s perspective:

Customer fills
CF7 form
Redirected to
Stripe checkout
Pays deposit
via card
Confirmation
email sent
You receive
admin alert

The deposit amount is shown to the customer before they pay, along with the service name and total price so there are no surprises.


How the Cancellation & Refund Flow Works

Customers don’t need to call or email you to cancel. The plugin handles it automatically via a secure link in the confirmation email.

Customer clicks
{cancel_url} in email
Cancellation page:
selects reason
Request saved
in dashboard
You get
admin email
Process refund
from dashboard
🔒
The cancel link is secure. Each link is unique to that booking and signed with a token — it can’t be guessed or reused by someone else.

Refund Window Rules

  • If the customer cancels before the refund window closes (e.g. more than 24 hours before the meeting), the refund button is available.
  • If they cancel inside the window, the button is locked — but the request is still recorded so you can review it and decide.
  • Once a refund request is received, the timer is frozen — you can process it at any time from the dashboard at your own pace.

Managing Payments in the Dashboard

Go to NoShow Payments → Payments to see all bookings. Each row shows:

  • Customer — name and email
  • Service — what they booked
  • Meeting date & time
  • Deposit amount and total price
  • Status — Pending, Paid, Refunded, or Refund Requested

From each row you can:

  • Click Process Refund to refund the deposit back to the customer via Stripe
  • Click Mark Full Payment Collected once the remaining balance is paid in person
⚠️
Refund Requested rows are highlighted in amber so you can spot them immediately. The dashboard also shows a counter of pending refund requests at the top of the page.

Go Further with NoShow Deposit Payments Pro Pro

The free plugin handles all the essentials. The Pro add-on unlocks additional tools for growing businesses:

📈

Analytics Dashboard Pro

Charts showing revenue, deposit totals, refund rates, and booking trends over time.

🗓️

Slot Calendar Pro

Define available time slots per day of the week. Customers can only book open slots.

📅

Schedule Overview Pro

A daily view of all upcoming bookings shown inside the Payments dashboard.


Frequently Asked Questions

Do customers pay the full price or just the deposit?

Customers pay only the deposit at booking time via Stripe. You collect the remaining balance yourself (in person, by invoice, etc.) and then mark it as collected in the dashboard.

What happens if Stripe payment fails?

If the customer abandons the Stripe checkout or the payment fails, no booking is recorded. The form submission is not saved until the payment is confirmed via webhook.

Can I use this with multiple CF7 forms?

In the current version, you select one primary CF7 form in settings. The deposit flow is applied to that form only.

Will customers get a receipt from Stripe?

Yes — Stripe automatically sends a payment receipt to the customer’s email when the deposit is charged (you can configure this in your Stripe Dashboard settings).

Is the cancel link safe to include in emails?

Yes. Each link is cryptographically signed and tied to a specific booking. Even if someone else sees the email, they can’t use it to cancel a different booking.

🚀
Ready to get started? Install the plugin, connect Stripe, pick your CF7 form, and you’ll be collecting deposits within minutes. If you get stuck on any step, leave a comment below.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top