I was looking for a simple Point Of Sale (POS) solution that would allow me to take in-person Cash payments as well as Credit Card payments for my WooCommerce store.
There are several free POS plugins available that allow Cash payments, but you need to pay for the Pro versions if you also want to take Credit Cards as well.
There are also several free POS plugins that will allow you to take both Cash and Credit Card payments, but you need to use their credit processor and not your own.
The following is a very simple POS setup that will allow you to take both Cash payments on your WooCommerce store, as well as Credit Card payments using whatever credit card processor and gateway you already have setup.
There are a few issues that you need to be aware of if you are going to use this method:
(1) This setup assumes that you are currently NOT using the Cash On Delivery payment method in WooCommerce. If you are already using this payment method, then this setup will not work for you.
(2) This method will not calculate change due from cash tendered. You will manually need to do this.
(3) With this method, you can not split a payment as partial cash and partial credit card. It needs to be all cash or all credit card.
If those issues are not a problem for you, then below are the steps you need to set it up and make it work for you.
In summary, what we are going to do is add a new user with a new/unique user role called SHOP CASHIER. We will then make the Cash On Delivery method availble during the checkout process, but only if this user with SHOP CASHIER role is logged in. If any other user is logged in, or if no user is logged in, then the Cash On Delivery method will not be available.
STEP 1 – Install and Activate plugins
Install and activate the following two plugins:
– Members (MemberPress) https://wordpress.org/plugins/members/
– Payment Gateways by User Roles for WooCommerce (Imaginate Solutions) https://wordpress.org/plugins/payment-gateways-by-user-roles-for-woocommerce/
STEP 2 – Create a new role
Go to Members tab then to Roles.
Look for the Subscriber role, and click on CLONE.
Change the Cloned Role name to something like “SHOP CASHIER” and click on ADD ROLE.
NOTE: You can actually clone any role you want, but I chose the Subscriber role because my Shop Cashier does not need to access anything else within WordPress.
NOTE: The Members plugin has a setting (which is ON by default) that will allow you to assign multiple roles to the same user. You can disable this if would prefer to leave it the WordPress default way, where they can only be assigned a single role at a time.
STEP 3 – Add a new user with new role
Go to Users tab and then Add New.
Create a new user and assign them the new role of SHOP CASHIER and click ADD NEW USER.
STEP 4 – Set CASH ON DELIVERY as only availble to new role
Go to WooCommerce tab then to Settings then to Payment Gateways By User Roles.
Under the CASH ON DELIVERY method, click in the INCLUDE USER ROLES box and select the SHOP CASHIER role.
Scroll to bottom and click on SAVE CHANGES.
STEP 5 – Activate the Cash On Delivery payment method
Go to WooCommerce tab then to Settings then to Payments.
Click on the Set Up/Manage button for the Cash On Delivery method.
Check the box to ENABLE this method.
Set the title to something like: CASH
Set the description to something like: When customer has PAID in FULL with cash, click on PLACE ORDER.
Set the instructions to something like: Pay with cash, in-person.
Click on SAVE CHANGES.
STEP 6 – Test your changes
Now to test your setup, log out from WordPress and go to your WooCommerce store and add a product to your cart and the proceed to checkout.
Since you are logged out, you should NOT see the CASH method available. Only the regular payments methods that are normally available to your customers should be availble.
You can also try to login with any user except the new SHOP CASHIER user. When you log in with any other except the SHOP CASHIER user, you should still NOT see the CASH method available.
Now finally you want to login with the SHOP CASHIER user. When you proceed to checkout, you should now see the option for CASH available along with all your other regular payment methods, so you will be able to accept in-person cash payments as well as your any of your other payment methods.