WooCommerce Security Deposits

Last updated: February 14th, 2019 by codeCraze


Thank you for purchasing my plugin. If this document doesn't answer your questions or if you have any customization requests please feel free to submit a private ticket in support forum.


WooCommerce Security Deposits is a premium WordPress and WooCommerce plugin for handling refundable security deposits. You can use it to collect a security deposit with any product , the security deposit amount you collect can be a fixed amount or a percentage of product price ( can be more than 100%) WooCommerce Security Deposits is fully compatible with WooCommerce Bookings plugin, allowing you to collect security deposits on bookings as well as other products.

Introduction Image

Features List

  • Perfect for rental purposes and refundable security deposit scenarios.
  • Collect a security deposit on any product in your WooCommerce store.
  • Select security deposit type: Fixed value or percentage.
  • Choose to multiply security deposit amount by product quantity or by number of persons for WooCommerce Bookings.
  • Allows automatic refunds of security deposit via gateway API ( if payment gateway and payment gateway plugin declare refund support).
  • Feature to automatically process refunds when an order is marked completed.
  • Security deposits are product-based, store administrator can refund only some deposits made on order and withhold the rest if required to.
  • Ability to refund all order deposits with one click.
  • provides tracking numbers linking order items with security deposits , store administrator and customer can use them for reference.
  • Security deposits amounts can be modified by administrator.
  • Works with product Variations ( updates security deposit amount on front-end).
  • Built for WooCommerce: Designed from the ground up to work with WooCommerce by a WooCommerce expert developer, co-author and project maintainer of WooCommerce Deposits - Partial Payments Plugin.
  • Compatible with WooCommerce Bookings: Multiply the security deposit by persons on your bookings or collect a percentage of the total value.
  • Fully translatable: Compatible with WPML.
  • Pre-translated to 6 languages ( Arabic, Dutch French, German, Italian and Spanish).



  • WordPress : WordPress is the most popular CMS in the world which makes it a great choice for your website
  • WooCommerce : WooCommerce is a free eCommerce plugin that allows you to sell anything, beautifully. Built to integrate seamlessly with WordPress, WooCommerce is the world's favorite eCommerce solution that gives both store owners and developers complete control.
  • PHP version : 5.4 and higher

Make sure your WordPress website and WooCommerce is set up properly and you will be able of starting using this plugin directly

Package from CodeCanyon

After purchasing this plugin, the first step is to download te package from CodeCanyon. You can find the item in your Downloads page, click Download button next to plugin name All files & documentation

The downloaded file will include documentation, license and zipped installable file, unpack the entire package after download is completed

You can complete the installation in either of the following two ways:

  1. WordPress Plugins Manager : Please go to Plugins >> Add New, click on Upload Plugin, select the zipped plugin folder called woocommerce-security-deposits.zip and press Install Now

    Installation Image

  2. FTP Upload : unpack zipped woocommerce-security-deposits file, then upload unpacked folder to /wp-content/plugins/ folder in the WordPress installation folder on your hosting

After that you need to activate installed plugin, by pressing Activate button,or by pressing Activate link next to plugin in WordPress Plugins Manager.

Installation Image 2


Adding Security Deposit

Now that plugin is all set, we can proceed with adding first security deposit on a product. To do that, open products manager and select a product or create one if you do not have any

Product Image 1

When product page is open, you will find a new tab in Product Data section, named Security Deposit

Product Image 2

This is where you can set up security deposit options for selected product, here's a description of what you'll see the following fields:

  • Collect security deposit : Enables or disables security deposit collection for this product.
  • Multiply by quantity : when selected, security deposit total will multiply by the quantity customer is purchasing
  • Specify the type of security deposit : You may choose either Fixed Value or Percentage of price ( can be more than 100%)
  • Amount type : Specify the amount type of security deposit, You may choose either Fixed Value or Percentage of price ( can be more than 100%)
  • Deposit amount : If Fixed value is specified above, you should enter the deposit value in your chosen currency (For example: Dollars). If Percentage of price is chosen, you should enter a percentage instead. (can be more than 100%)
  • Multiply by Persons: : This is a special field that will only show up for the 'Bookable Product' type. Enabling this will multiply the fixed value by the number of persons in the booking. (Requires the WooCommerce Bookings plugin)

Important note

Please note that the final security deposit amount will be affected by other factions such as Multiply by quantity and Multiply by Persons fields, or global settings such as tax handling settings ( which will be explained later in this documentation ).

Once you set a security deposit amount, check Collect security deposit and save your product. You will now see a Security Deposit notice in the product page:

Product Frontend Image

If security deposit is set for a variable product, deposit amount will update dynamically when user changes variations.

Cart Display

When a customer adds product to cart , this is how an item with security deposit would look like in cart :

Security deposit display in cart

Security deposit will be added as a fee and linked to order item by a unique Reference ID this reference number is very useful as it will be included as reference in all refund notes and payment gateway transactions.

Having multiple cart items with security deposits will separately add different deposits to order total.

Order Editor

When a customer places an order with security deposit, you can view security deposit information when you select that order from Admin Dashboard >> Woocommerce >> Orders

Security deposit information will be displayed below order item name as following :

  • Security Deposit amount : shows amount collected as a security deposit for this order item
  • Security Deposit status : shows current deposit status , which can be "Not Refunded" or "Refunded"
  • Fee Reference ID : shows unique reference number ID for security deposit fee
  • Refund Security Deposit button : this button allows you to refund order item's security deposit via payment gateway used by customer to pay for order
Order editor image 1

Important Information

  • You can still refund a deposit even if order is not in editable status (processing, completed, etc) without having to change order status

  • Security deposits cannot be refunded to customer using a different payment gateway,it can only be refunded through the same gateway used for order payment

Another important feature in order editor is Security Deposit summary

it can be found in the top area of order editor sidebar, It will display the following information

  • Enable automatic refunds : Enable / Disable automatic security deposit refund upon order completion. Overrides global setting " Enable Automatic Refunds "
  • Payment Gateway Refunds support : a message showing payment gateway and gateway WordPres plugin support for refunds.
  • Security Deposits Total : Shows total amount of security deposit collected for order
  • Refunded : Shows total amount of refunded security deposits
  • Remaining : Shows total amount of security deposits that were non refunded
  • Refund All Security Deposits button : this button allows refunding all security deposits for this order with a single click
Order editor image 2

upon clicking on Refund Security Deposit or Refund All Security Deposits you will be prompted to Confirm

Order editor image 3

Important warning

  • Be careful when issuing refund, This action is irreversible!

  • Though most gateways support refunds since Woocommerce 2.2, If payment gateway or payment gateway WordPress plugin does not support refunds then you may not be able of using refund features with this particular gateway

Once refund is confirmed, a refund request will be sent from Woocommerce to payment gateway, result will be added to order notes

Order editor image 4

If refund request did not succeed, an error will be added to order notes

Order editor image 6 , Failed refund note

Upon successful refund, Both admin and customer will receive refund notification emails, Email templates can be customized from Woocommerce >> Settings >> Emails

Order editor image 5 - email templates

Site-wide Settings

In Admin Dashboard >> WooCommerce >> Settings, you will find a new tab named Security Deposits.

Sitewide settings 1

Click on this tab and you will see the following options :

  • Disable Security Deposits :If you check this, all security deposits functionality will be disabled.
  • Enable automatic refunds : when this option is checked, any security deposits associated to an order will be refunded automatically via when this order’s status is changed to completed ( subject to the gateway and gateway WordPress plugin supporting refunds capability), this option is switched off by default. ( This setting can be overridden for a specific order from order editor page )
  • Make security deposit taxable : when this option is checked, taxes will be applied on security deposits
  • Days to delay automatic refunds : Delays issuing automatic refund by X days after order completion, set to 0 to disable option. ( Maximum value is 30 days)
  • Security Deposit Title : Security Deposit title displayed in cart & emails. Product name can be shown by using "[product_name]" in setting value.
  • Cart Deposit Settings :

    This section allows adding a security deposit on order ( not product related)
  • Enable Cart Security Deposit : Check this to set a security deposits ( either fixed or a percentage of cart items total)
  • Cart Security Deposit Name : Cart Security Deposit name displayed in cart totals fields
  • Specify the type of deposit : can be set to fixed value or percentage
  • Cart Security Deposit Amount : Amount or percentage of cart items total to be set as security deposit
Sitewide settings 2

Currently these are the only settings available. but as users interact and provide feedback and feature requests, we will add more settings and features to provide high level of flexibility for users.


** 23/09/2018 version 1.1.0
* Woocommerce 3.5.4 compatibility
* Feature : Added feature to enable security deposit as a fixed amount or a percentage of cart items total.

** 28/05/2018 version 1.0.1
* Woocommerce 3.4 compatibility
* Minor bug fixes

** 08/03/2018 version 1.0.10
* Woocommerce 3.3.3 compatibility
* added filter 'wcsdp_create_refund_via_gateway'

** 03/02/2018 version 1.0.9
* minor bug fix

** 01/02/2018 version 1.0.8
* Woocommerce 3.3.0 compatibility
* minor bug fix

** 26/01/2018 version 1.0.7
* Tweak : Security deposit notice is loaded and overriden via woocommerce template system.

** 26/01/2018 version 1.0.6
* Tweak : Security deposits are now synced with woocommerce refunds system.

** 14/11/2017 version 1.0.5
* Feature : separate deposit settings override for each product variation

** 14/10/2017 version 1.0.4
* Compatibility with WooCommerce 3.2

** 27/07/2017 version 1.0.3
* Feature : added a setting to allow delaying automatic refund process after order is completed, admin can choose to delay automatic refund process for up to 30 days from order completion

** 10/07/2017 version 1.0.2
* Feature : Added a local setting in order editor that allows overriding of global setting "Enable Automatic Refunds"

** 29/06/2017 version 1.0.1
* fixed PHP warning displaying in cart
* fixed broken dependency in order editor script
* modifications to admin email template fields, allowing recipient override from template page

** 17/05/2017 version 1.0
* Initial Release

Thank you

Once again, thank you so much for purchasing this plugin. As I have said in the begining, I'd be glad to help you if you have any questions relating to this plugin. I will do my best to provide assistance. If you have more general questions regarding this plugin, you may also consider visiting CodeCanyon's Item page and check comments section

Need Custom WooCommerce Development?

Woocommerce Logo

I am available for Freelance hire!

You can contact me through My Website's contact form

Or send me an email to tell me about your project goals and needs. I will be in touch within 24 hours.