How to Create a WooCommerce Pay Later System for Schools & Other Repeat Customers
Most online stores work by charging customers at the time they place their order. But what if you want customers to have a balance or virtual wallet, where they add credit and use this to pre-pay for their orders? Or what if you want customers to place orders online, and then pay later by paying off their balance at the end of the month?
Today, I’m going to show you how to create a WooCommerce pay later system for regular customers. We’ll do it using off-the-shelf plugins, and you don’t need any technical expertise or coding skills.
Let’s get started!
Example use case – school website for parent ordering and payments
Before we start, let’s look at a typical use case that will benefit from WooCommerce pay later plugin. This is actually a real-life example, as one of our WooCommerce Product Table customers expressed an interest in a credit system for their store.
Many schools save time and reduce administrative costs by creating an online system for managing parents’ payments and balances. Parents use the system to order school dinners, snacks, school uniform, and school trips. They can login and pay online, add funds, or top up their balance.
When a parent places an order for school dinners or snacks, they are not required to pay straight away. This is crucial because parents might order on a regular basis, and most schools prefer them to pay later or take payment from a pre-paid balance. That’s what makes a WooCommerce pay later system different from a typical WooCommerce store.
As well as a credit-based pay later plugin, the school needs some other features that are different from other WP and WooCommerce websites.
Many WooCommerce pay later websites are also aimed at pre-approved customers only, such as parents of children at a school. As a result, they need a way to hide the ordering and payment pages from public view. The school might be using WordPress for their main website, but only parents should have access to the private parent area for ordering school dinners and making payments online.
What plugins will I need?
I’m going to tell how to achieve all of this by creating a WordPress WooCommerce plugin with 3 handy extensions. You will need:
- A WordPress website.
- The free Woocommerce plugin.
- A WooCommerce pay later plugin for letting customers top up their balance and use it to pay for orders.
- WooCommerce Product Table to list products in a space-saving order form that will help your repeat customers.
- (Optional) A WooCommerce privacy plugin to create hidden, protected areas for your store.
Keep reading to learn how to choose the best plugins for your WooCommerce credit system, and how to set them up.
Step 1. Set up WooCommerce
The first step is to set up WooCommerce and add your products:
- Install the free WooCommerce plugin on your WordPress website. The WooCommerce Setup Wizard makes this easy. You can also use the official documentation for extra tips on getting started.
- Next, add a product for each item that you want parents to be able to buy. For example, if you’re a school then you’ll probably want to create 1 product called ‘School Lunch’, and another for ‘Snack’ or ‘School Trip – London’. You can also add items of school uniform as individual products, with a variation for each size option.
- Use WooCommerce to set up payment gateways, depending on how you want customers to be able to pay and top up their balance. I recommend PayPal and Stripe, which are both very easy to set up. These payment gateways will cater for customers who like to use PayPal, and those who prefer to pay with credit or debit card.
Step 2. Add a WooCommerce pay later plugin
The next step is to transform your store into a WooCommerce pay later system where customers can add credit and use their balance to pay for their orders. To do this, you need to add a WooCommerce credit plugin.
Use the documentation to set it up.
Account Funds is an official WooCommerce extension available from woocommerce.com. It gives customers an online wallet on your WordPress website, where they can add funds, top up their balance, and pay for orders using their balance.
Account Funds works perfectly with WooCommerce Subscriptions. This is ideal if you want customers to set up an automatic monthly payment to pay off a set amount each month. It’s a good alternative to having to top up their balance manually every time.
Step 3. List your products in a table
As I mentioned earlier, WooCommerce websites with credit systems and online balances are aimed at repeat customers. This means that the traditional WooCommerce store layout isn’t suitable.
By default, your store will list products in a grid layout with about 3 products per row and large images. Customers will have to click through to a separate page for each product in order to choose quantities, variations, and add to the cart. Obviously, that’s no use for customers who know what they want and need to order quickly.
Instead, you need a quick WooCommerce order form layout which lists products in a user-friendly table. You’ll need the WooCommerce Product Table plugin for this:
WooCommerce Product Table takes the products that you added in Step 1, and lists them in a quick order form with quantity pickers, variation dropdowns, and more. This is a much better way to sell to regular customers who are already familiar with your product offering.
Collect extra information with each order
The other good news is that WooCommerce Product Table integrates nicely with the Product Add-Ons plugin. Product Add-Ons is perfect for repeat ordering because it lets you add extra fields where customers can provide additional information.
For example, if you’re a school creating an online ordering and payments system for parents, then parents need a way to indicate which day of the week their child requires school dinners. If they have more than one child, then they’ll also need to confirm which child the order relates to. You can easily do this with the Product Add-Ons extension. For example, check out our separate tutorial about how to create a daily order form with WooCommerce Product Table and Product Add-Ons.
Alternatively, if you want to collect information for the entire order rather than each specific product, then you can do this with the WooCommerce Checkout Field Editor plugin.
Step 4. Create private and hidden shopping areas
Some WooCommerce pay later websites are open to the public, and anyone can register and order. If that’s you, then you can skip this step. Or if you only want specific people to be able to add credit and place an order, then keep reading.
I’m going to let you choose between 2 plugins for this bit. Which plugin you choose depends on whether you want to make your entire WC store private (e.g. a school selling exclusively to parents), or whether you want to show different products to different people (e.g. a university with a public shop, a hidden staff store, and a hidden shop for alumni).
Plugin option 1 – WooCommerce Private Store
WooCommerce Private Store provides a ridiculously easy way to hide the shop parts of your WordPress site from public view.
The non e-commerce parts of your website will remain available for everyone for view. This is perfect if this is also your main company or school website.
All the WooCommerce-related content – such as the shop page, product pages, cart and account pages – will be hidden from public view. You can choose whether to let people unlock the store using a simple password, or whether the store will automatically unlock when they log into their individual user accounts.
For example, a school might be using WordPress for their main school website. They use Woo Private Store to create a hidden e-commerce area where parents can order school dinners and school uniform, top up their balance, and pay later on a monthly basis or whenever they choose.
Plugin option 2 – WooCommerce Protected Categories
If you need to sell different products to different people, or if you need to sell to the public as well as privately, then you’ll need WooCommerce Protected Categories instead.
WooCommerce Protected Categories offers more fine-grained control over who can access different parts of your store. For example, you can use it to have a public shop and one or more private areas that are hidden from public view. You can use it to let anyone browse your shop, but require them to login or enter a password before they can make a purchase. You can also use it to create multiple hidden shops, for example a parents shop and a teachers shop.
Straight out of the box, it’s not possible to create a WooCommerce online shop with the ability for customers to manage their balance and pay later. However, you can easily achieve this by adding some extra plugins.
Choose the plugins that fit the specific needs of your website, and start setting it up today!
In this article, we’ve talked about how to create a WooCommerce pay later credit system for parents at a school. This is just one use case and I’d love to hear why you need a similar system for your own store. Please let us know in the comments below!