Loading Now

How to Accept Deposits and Partial Payments in WordPress ( WooCommerce)

For those managing a service-oriented business, the narrative often unfolds similarly. A customer schedules your services, you reserve your time, potentially declining other opportunities, yet the final invoice remains unpaid for extended periods. Securing a deposit upon booking can transform this scenario entirely.

Fortunately, establishing a deposit doesn’t necessitate a comprehensive e-commerce framework or WooCommerce. By simply setting up a Stripe account and utilizing the free WP Full Pay plugin, your WordPress site can facilitate deposit collection upfront and handle the remaining balance post-service. This approach is tailored for freelancers, contractors, consultants, and event venues—anyone who charges for services can benefit from this configuration.

This guide details the entire process: from linking to Stripe, to crafting the deposit form, and exploring three practical methods for later balance collection (including methods that the plugin doesn’t automatically execute). Just a note: WP Full Pay is developed by the same team behind Themeisle, so think of this as an insider’s guide, highlighting both features and nuances.

Let’s delve into the details.

DISCLAIMER: WP Full Pay is part of the Themeisle suite of products. Everything detailed herein functions as stated, with drawbacks receiving equal acknowledgment as the benefits.

Understanding the Deposit Workflow (the Real Deal)

The concept is straightforward. You set up a one-off payment form for a designated deposit amount. The client completes payment at the time of booking via Stripe, with card information sent directly to Stripe (which is PCI Level 1 certified), avoiding your WordPress server completely. Every feature discussed in this guide is available in the plugin’s free version.

Collecting the remaining amount is a separate step, and here’s what most tutorials omit: the plugin includes a setting to automatically charge the outstanding balance on a designated date, but it won’t remind a late payer for you. That responsibility lies with you. There are three streamlined methods for managing this detail, which will be discussed in step 4, so manual tasks need not equate to chaos.

Step 1: Install WP Full Pay and Link to Stripe

To begin, you’ll need to create a Stripe account, which is free; Stripe generates revenue from a standard processing fee on each transaction. If you require a detailed walk-through of the Stripe integration, a comprehensive guide for connecting Stripe with WordPress is available on the blog.

Next, within your WordPress dashboard:

  • Navigate to Plugins → Add New and search for “WP Full Pay”.
  • Install and activate the plugin. You’ll notice a new Full Pay menu on your sidebar.
  • Select Full Pay → Settings → Stripe account and follow the connection process. Ensure you complete this for both Test and Live modes, as these require separate connections.

Using test mode is quite beneficial here. It enables you to perform fake transactions using Stripe’s test cards, allowing you to troubleshoot safely before involving any real money.

Step 2: Create the Deposit Form

From the Full Pay menu, start crafting a new form and select the one-time payment form type. This will be your designated deposit form: the client will remit a one-time payment, without the distractions of a cart or multi-step checkout process.

You have critical decisions to make regarding the amount configuration. Here are three choices (all available in the free version):

  • Preset amount: the client is prompted to pay a precise amount that you’ve predetermined. For example, if you’ve quoted $2,000 for a project and require a $500 deposit, simply set this amount on the form. This is the most straightforward option for deposits.
  • Amount from a list: the client selects from a list of options you define, which is useful for varying deposit tiers in packages.
  • Custom amount: the client enters their desired amount. This option is best saved for the balance payment, not for deposits.
wpfullpay-deposit-form-amount-settings-1 How to Accept Deposits and Partial Payments in WordPress ( WooCommerce)wpfullpay-deposit-form-amount-settings-1 How to Accept Deposits and Partial Payments in WordPress ( WooCommerce)

While you’re working in the form builder, consider these useful additions that only take a couple of minutes:

  • Assign a descriptive name to the form, such as “Deposit for Kitchen Renovation, Smith Project,” to ensure easy transaction identification in your dashboard later on.
  • Add a custom field (you can have up to 10 per form) to include a project reference or invoice number.
  • Enable email notifications. The plugin will send a receipt to the client and alert you upon payment, allowing you to incorporate form data into those emails using placeholder tokens.
  • Optionally, set up a redirect to a thank-you page that outlines your timeline and terms.
wpfullpay-form-builder-one-time-1 How to Accept Deposits and Partial Payments in WordPress ( WooCommerce)wpfullpay-form-builder-one-time-1 How to Accept Deposits and Partial Payments in WordPress ( WooCommerce)

PRO TIP: Create one form for each type of service or project rather than individual forms for each client. For instance, a “Web Redesign Deposit” form can apply to all future clients; simply establish a new one when pricing adjustments are made.

Step 3: Publish the Form on a Page

Inserting your form is relatively straightforward. Each form generates a shortcode that you can insert into any page or post, and there’s also a dedicated Gutenberg block labelled “Form by WP Full Pay” if you prefer a more visual approach. Most service-based businesses typically place the deposit form on a booking page or a “Work with me” section, alongside their terms.

You also control how the checkout process appears: the form can be embedded directly on the page, or an option allows it to pop up in a modal when clicked. Alternatively, it can redirect to Stripe’s hosted checkout page. Direct embedding is generally the most seamless option for a single deposit payment.

wpfullpay-deposit-form-embedded-checkout-1 How to Accept Deposits and Partial Payments in WordPress ( WooCommerce)wpfullpay-deposit-form-embedded-checkout-1 How to Accept Deposits and Partial Payments in WordPress ( WooCommerce)

Before sharing the link with actual clients, conduct a test transaction while in test mode to confirm that the receipt email arrives, then switch the form to live.

Step 4: Collect the Remaining Balance When Due

Let’s revisit the scope of capabilities: WP Full Pay cannot automatically bill a variable balance on a future date. While subscription renewals are automatic, one-off balance collections require your action. There are three effective methods to accomplish this, all compatible with the free version:

Option A: Create a balance form with a custom amount. Set up a second one-time form, this time allowing a custom amount, and title it “Pay Your Remaining Balance.” When the due date approaches, send the client the link for them to input the balance from your final invoice and pay. This mirrors the intended use of the plugin and can be configured in under ten minutes.

Option B: Secure the card for future use. After gathering the deposit, utilize a separate Save Card form to establish a Stripe customer account and link the client’s payment method. When the remaining balance is due, you can generate the charge or invoice in Stripe, though Stripe may require client re-authentication. While this is robust, ensure you have explicit, written consent in your terms; otherwise, it can lead to complicated chargeback discussions.

Option C: Fixed scope? Installment payments. If the project cost and timeline are well-defined, a subscription form can facilitate an installment plan (for instance, charge 50% upon booking and 50% after 30 days), automating the process. This is the closest to complete automation, and the same plugin can manage it. A detailed guide on setting up recurring payments in WordPress is available for further assistance.

A further tip for venues and equipment rentals: one-time forms can utilize authorize and capture, placing a temporary hold on the sum at the time of booking and allowing later capture. Since the hold generally expires after seven days, it’s advisable to opt for a Save Card form if you need a payment method on record for a longer duration. This is particularly useful if you require a commitment on file rather than an immediate cash flow.

PRO TIP: Whichever method you choose, ensure you send the balance link or process the charge the day the milestone occurs. The most effective automation is a calendar reminder you follow through on.

Determining the Deposit Amount

There are general guidelines here rather than strict rules. Consider these as initial references instead of definitive truths:

  • Freelancers and contractors: Deposits typically fall between 20% and 50% of the project’s total cost, with smaller projects justifying a larger percentage.
  • Creative tasks demanding significant upfront investment (like design, writing, and strategy) lean toward 50%, as work begins immediately.
  • Venues and rentals: these often use a standard booking fee rather than a percentage, simplifying calculations for everyone involved.

The most crucial rule to remember: the deposit should be sufficient to cover your initial costs if the client disappears. This includes time allocated, materials purchased, and subcontractors hired. If the amount feels a bit painful when you mention it aloud, it’s likely a suitable figure.

No matter your choice, clarify your terms in a single sentence right next to the form: whether the deposit is refundable, the due date for the balance, and what happens in case of project cancellation. Different regulations exist based on location and industry, so seek sound advice specific to your context. A clear statement on the page helps preempt most conflicts before they emerge.

Understanding the Fee Structure: Free vs Paid

The pricing structure for WP Full Pay is unique: every feature discussed in this guide, including all integrations, is available under the free tier. However, opting for unlicensed use incurs a 5% application fee per transaction, in addition to Stripe’s standard processing charges. A paid license eliminates the 5% fee and grants priority one-on-one email support. Licenses start at £79.50 per year per site on the WP Full Pay pricing page, and there is a refund policy if it doesn’t meet your needs.

The break-even analysis is user-friendly. A 5% charge on £1,600 of processed payments amounts to about £80, approximately the cost of a license. If securing deposits becomes a regular practice (and that should be the aim), the license will quickly pay for itself. Are you just testing the waters with one or two clients? Start with the free version and consider upgrading once the volume increases. For a more thorough overview of features, the WP Full Pay review provides additional details.

In Conclusion

Deposits don’t necessitate a fully-fledged store, cart, or invoicing system. The complete configuration can be completed in a single afternoon:

  • Connect Stripe to WP Full Pay, initially in test mode.
  • Create a one-time form with a predetermined deposit amount.
  • Incorporate it on your booking page alongside your terms.
  • Collect the remaining balance using a custom-amount form, a saved card, or installments, based on your preferred process.

Your future self, the one who avoids chasing invoices at month-end, will express gratitude.

How do you manage deposits in your business, and which method of collecting balances suits your workflow? Share your thoughts in the comments below!

Yay! You’ve reached the end of this article!

Share this content:


Discover more from Qureshi

Subscribe to get the latest posts sent to your email.

Discover more from Qureshi

Subscribe now to keep reading and get access to the full archive.

Continue reading