Description
Simple Deposits for WooCommerce lets you collect a partial advance payment online before a Cash on Delivery order ships, and leaves the rest payable on delivery as normal. It’s built for stores that lose money to unclaimed or refused COD parcels: a small non-refundable deposit filters out low-intent orders while keeping COD as the primary payment experience your customers already trust.
The plugin doesn’t process any payments itself. Instead, a simple “Choose how to pay” toggle appears directly above your normal list of payment methods at checkout, letting the customer pick “pay the deposit + COD” or “pay the full total online now.” They then place the order through whichever of your existing active gateways — bKash, Nagad, SSLCommerz, Stripe, or anything else you already have configured — and that gateway charges exactly the resolved amount, deposit or full. There’s no extra gateway added to your payment method list and no separate picker page to redirect through; nothing about your existing payment setup changes, this plugin just sits alongside it.
Key features
- One flat deposit per cart. If a cart has products with different deposit amounts, only the single highest amount is charged — never summed, never multiplied by quantity.
- Global default + per-product overrides. Set one site-wide deposit amount, then override it for individual products, or per-variation on variable products.
- Customer choice at checkout. Customers can switch between “pay the deposit + COD” and “pay the full total online now” with a simple toggle.
- Minimum-order threshold. Below your configured deposit amount, the plugin automatically requires full online payment instead of a confusing partial split.
- Gateway-agnostic. Choose which of your already-active payment gateways are allowed to collect the deposit. Cash on Delivery itself is never used for the deposit — only for the remainder.
- Cart, checkout, product page, admin, and email visibility. The deposit/remainder split is shown consistently everywhere: cart totals, checkout order review, a deposit badge on the single product page, an order-list column and metabox in wp-admin, and appended rows in every WooCommerce order email.
- High-Performance Order Storage (HPOS) compatible. All order data is read and written through core WC_Order methods.
- Translation-ready and safe to uninstall cleanly (data removal is opt-in, off by default).
How it works
- A customer adds products to their cart. The applicable deposit (highest per-product amount in the cart) is shown on the cart page and at checkout.
- At checkout, a “Choose how to pay” toggle appears directly above your normal list of payment methods, letting them pick “Pay Deposit + COD” or “Pay Full Amount Online Now.”
- They place the order as usual through whichever of your eligible gateways they choose (bKash, Nagad, SSLCommerz, etc.) — that gateway charges exactly the resolved amount, deposit or full, with no redirect and no extra picker page.
- The order is saved with its full, real total and the deposit/remainder breakdown recorded against it. The remaining balance stays due on delivery as normal, and order status itself is left entirely to whichever gateway actually processed the payment.
Requirements
- WooCommerce, active and up to date.
- At least one other active payment gateway (bKash, Nagad, SSLCommerz, Stripe, PayPal, etc.) configured to collect the deposit — this plugin does not process payments on its own.
Installation
- Upload the plugin files to
/wp-content/plugins/aawahid-simple-deposits-for-woocommerce, or install the plugin through the WordPress “Plugins” screen directly. - Activate the plugin through the “Plugins” screen in WordPress.
- Go to WooCommerce Settings Deposits to set your global deposit amount and notice text, then switch to the Eligible Gateways section to choose which of your existing payment gateways are allowed to collect it.
- That’s it — once at least one gateway is marked eligible, the “Choose how to pay” toggle appears automatically above the payment method list at checkout. There’s no separate gateway to enable under WooCommerce Settings Payments.
- Optionally, open any product’s edit screen to set a deposit amount specific to that product (or each variation, for variable products), overriding the site-wide default.
FAQ
-
Does this plugin process payments itself?
-
No. A “Choose how to pay” toggle above your normal payment methods lets the customer pick deposit or full payment, then whichever gateway they select from your existing list charges exactly that amount directly — there’s no hand-off or redirect page. You’ll need at least one other online payment gateway active for this plugin to have anywhere to send the deposit.
-
What happens if a cart has multiple products with different deposit amounts?
-
Only the single highest deposit amount in the cart is charged, as one flat amount for the whole order — never the sum of each product’s deposit, and never multiplied by quantity.
-
Can I let customers pay the full amount online instead of a deposit?
-
Yes. A toggle rendered above the payment method list at checkout lets the customer choose between “pay the deposit now + COD” or “pay the full order total online now.”
-
What happens on small orders?
-
If the cart total is below your configured global deposit amount, the plugin automatically requires the full order total to be paid online instead of a partial split — there’s no minimum-order enforcement needed on your end.
-
Is this compatible with High-Performance Order Storage (HPOS)?
-
Yes. All order reads and writes go through WooCommerce’s own order object methods, never raw post meta, so it works correctly whether HPOS is enabled or not.
-
Does uninstalling the plugin delete my settings and data?
-
Not unless you explicitly opt in. There’s a “Remove Data on Uninstall” setting under WooCommerce Settings Deposits, off by default, so deactivating or even deleting the plugin never touches your configured amounts unless you’ve turned that setting on.
-
Does this work with bKash, Nagad, or SSLCommerz specifically?
-
Yes, as with any other WooCommerce payment gateway you already have installed and active — this plugin doesn’t hardcode support for any specific gateway, it works with whichever ones you mark as eligible in the settings.
-
Can I charge an extra fee for the deposit + COD option?
-
Yes. WooCommerce Settings Deposits has an optional Processing Fee section — a flat amount or a percentage of the resolved deposit, charged only on deposit + COD orders. It’s added on top of the deposit itself; the amount due on delivery is never affected. Orders paid in full online are never charged this fee.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“aawahid Simple Deposits for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “aawahid Simple Deposits for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release: global and per-product/variation deposit amounts, gateway-agnostic deposit collection, pay-deposit-or-pay-in-full checkout toggle, minimum-order threshold, cart/checkout/product-page/admin/email deposit visibility, HPOS compatibility, opt-in uninstall data removal.
1.1.0
- New: optional deposit-only processing fee (flat amount or percentage of the deposit), charged on top of the deposit and never affecting the COD-due remainder or full-payment orders.
