Linux 软件免费装
Banner图

COD Deposits and Partial Payments for WooCommerce - Advance Payment on Cash on Delivery

开发者 stackedboost
更新时间 2026年8月29日 19:16
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

woocommerce cash on delivery deposits partial payments advance payment

下载

1.3.0 1.6.0 1.6.1 1.0.0 1.1.0 1.2.0 1.4.0 1.5.0 1.5.1

详情介绍:

Cash on Delivery is convenient for customers, but it is also the order type most likely to be refused at the door. The customer never answers, the courier goes back, and the merchant pays for shipping in both directions with nothing to show for it. Stackedboost COD Deposit Rules lets you set rules that catch the orders most likely to fail. When a rule matches it either asks for a partial advance payment, so the customer pays some of it now and the rest on delivery, or it simply takes Cash on Delivery off the table for that order. Every rule runs on data your own store already has. There is no external service, no API key, no account to create, and no data leaves your site. What the free version does, in full: Partial COD, and why RTO is the number that matters What this plugin does is usually called partial COD, or partial cash on delivery: instead of the customer paying the whole order at the door, they pay part of it at checkout and the balance on delivery. The reason it exists is return to origin, or RTO. A cash on delivery order that nobody accepts comes back to you, and you pay the courier in both directions for a sale that never happened. Commonly reported figures put cash on delivery at around 60 per cent of orders in markets like India, with roughly a quarter of those coming back as RTO, against low single digits for orders that were paid for in advance. That gap is the whole argument. A customer who has paid nothing has no reason to answer the door. A customer who has already paid part of the order does. You do not need the deposit to be large for this to work, only for it to exist. This plugin lets you decide which orders are worth asking, rather than charging every customer a deposit and losing the ones who would have paid happily. How each rule works, and when to switch it on The four rules are checked with OR: any single match triggers the action you chose. They are deliberately simple, because a rule you cannot predict is a rule you will turn off the first time it surprises a real customer. Order value is at or above an amount you set. The most expensive parcel to get back is the one worth the most, and a refused high-value order ties up stock as well as shipping. Most stores start here, with the threshold set around the point where a returned parcel stops being an annoyance and starts being a real loss. If you sell one product at one price, this rule is either always on or always off, so use one of the others instead. Shipping country is different from the billing country. A cheap signal that the two addresses were not typed by the same person. It is not proof of anything, and it has honest explanations, such as gifts and forwarding services. Useful if you ship internationally and see refusals cluster on cross-border orders. Pointless if you only ship domestically, because it will never match. Guest checkout with no previous completed order. There is nobody to lose face with and no account to lose, and in most stores this is where the majority of refusals at the door come from. This is the broadest of the four, so it is the one most likely to ask a genuine first-time customer for a deposit. Pair it with a modest percentage rather than a large one. The customer has cancelled or failed a Cash on Delivery order before. Counted from your own order history, against the billing email, and only from orders that were paid by Cash on Delivery. A cancelled card order costs you nothing and is not counted. You set how many previous failures are enough. This is the most precise of the four and the least likely to catch someone unfairly, but it only works on customers who have ordered before. How the deposit is worked out You set either a percentage of the order or a flat amount, and optionally a floor so that a small order still carries a deposit worth collecting. The deposit is never larger than the order itself. The deposit and the balance are both gross figures, because that is what the customer and the delivery driver deal in. Internally the reduction handed to WooCommerce is worked out as the same proportion of the net amount, which is what keeps the final total correct whether your store runs tax-exclusive pricing, tax-inclusive pricing, or no tax at all. One point that surprises people: when a rule matches, Cash on Delivery is withdrawn for that order in both modes, not only in hide mode. This is not a limitation, it is the only honest reading of the feature. Cash on Delivery collects nothing at checkout, so leaving it available while reducing the total to the deposit would simply record a 100 order as a 20 order and collect nothing at all. The customer pays the deposit with a real payment method, and the balance is collected at the door exactly as before. What the customer sees The checkout total drops to the deposit, with a line showing the balance that is still due on delivery, worded however you like. The same line appears on the order confirmation page and in the order emails, so the amount the courier will ask for is never a surprise. If you chose to hide Cash on Delivery instead, the customer sees a short message explaining that it is not available for this order, which you can also reword. On your side, the balance appears on the order screen, in a column on the orders list so a matching order is obvious without opening it, and in the admin order emails. Who this is for Stores in markets where Cash on Delivery is a large share of orders rather than a rarity, which is most of Central and Eastern Europe, Southern Europe, the Middle East, North Africa, South Asia and South East Asia. If refused deliveries, or what carriers call return to origin, is a line item you actually feel, this plugin exists to shrink it. If Cash on Delivery is only a small percentage of your orders and refusals are rare, you probably do not need this. It is not worth adding friction to a checkout that is working. The one manual step, and how the plugin helps The plugin reduces the checkout to the deposit, so WooCommerce records the order as being worth the deposit. That matters when you create the shipping label: if the label is generated from the order total, the courier is told to collect the deposit again instead of the balance, and your customer pays twice. The plugin does not talk to any courier, and it deliberately does not try to. Cash on delivery markets run on dozens of carriers and no single integration would cover them. Instead it puts the balance everywhere a human will see it before the parcel leaves: on the order screen, in a column on the orders list, in the order emails, and, if you use WooCommerce PDF Invoices & Packing Slips, in a bordered box at the top of the packing slip and invoice that states the amount to collect and warns against collecting the full total. If you create labels in bulk instead, the balance and the deposit are available as columns in Advanced Order Export For WooCommerce, so the right figure reaches whatever you upload to your courier. Whatever you use to create labels, take the number from there. What this plugin does not do It does not score customers against any external blocklist, database or reputation service, because it makes no external requests at all. It does not verify phone numbers or addresses. It does not cancel or hold orders automatically after the fact. It does not replace a payment gateway, and it cannot take the deposit itself: a real gateway does that. It does not work on stores where Cash on Delivery is the only payment method enabled, because withdrawing Cash on Delivery there would leave the customer with nothing to pay with, and the plugin warns you about this on its settings screen. None of this is a fraud guarantee. It reduces your exposure by moving part of the payment up front on the orders most likely to be refused. Customers can still refuse a COD order after paying a deposit, though it happens far less often once money has changed hands. Stackedboost COD Deposit Rules Pro Free treats every matching order the same: one flat deposit for everyone. Pro sizes the deposit per customer, from what that customer has already done in your store. The record is read from the orders already in your database, so it works from the day you activate it. Nothing about your customers or your orders leaves your server. Pro is $79 a year for one site. The free version does not need Pro to be useful.

安装:

  1. Upload the stackedboost-cod-deposit-rules folder to /wp-content/plugins/, or install it through the Plugins screen in WordPress by searching for "Stackedboost COD Deposit Rules".
  2. Activate the plugin through the Plugins screen.
  3. Go to WooCommerce > Settings > COD Deposit Rules to set your rules and your advance payment amount or percentage.
  4. Save. The rules take effect on the next checkout that matches them.

屏幕截图:

  • The four built-in rules with their thresholds: order value, shipping versus billing country, guest with no prior order, and previous cancelled or failed COD orders.
  • The block checkout from the customer's side once a rule has matched. The order summary shows the subtotal, the balance held back for delivery, and the reduced amount payable now.
  • The order screen, showing what was paid at checkout, what the driver should collect, and which rules matched.
  • The orders list with the On delivery column, so a matching order is obvious without opening it.

升级注意事项:

1.5.0 Wording only. No functional change. 1.4.0 Adds the balance as an order export column, for bulk label creation. 1.3.0 Prints the amount still to collect on your packing slips, so the wrong number cannot reach the courier. 1.2.0 Adds per-customer deposit sizing to Pro. The free version behaves exactly as before. 1.1.0 A clearer settings screen that now shows what the plugin has actually secured. Deposit behaviour is unchanged. 1.0.0 Initial release.

常见问题:

Does this work with the WooCommerce block based checkout, or only the classic shortcode checkout?

Both, and the block checkout needed real work rather than a claim. The advance payment is applied as a cart fee, which both checkouts calculate the same way. Hiding Cash on Delivery is different: the block checkout does not honour the usual payment gateway filter, so a plugin that only filters the gateway will appear to work on the classic checkout and quietly do nothing on the block one. This plugin publishes the decision onto the Store API cart and registers the front end callback WooCommerce documents for this, so the method is genuinely withdrawn in both. The gateway filter stays in place as well, so even if the script fails to load, an order cannot be placed with Cash on Delivery when a rule matched.

Does this plugin send any of my store or customer data anywhere?

No. Every rule is evaluated using data already stored in your WordPress database, on your own server. There is no external API call, no license check that phones home for the free version, and no analytics collection. Nothing about your orders or customers leaves your site.

What actually happens to the advance payment and the balance?

The advance payment is charged at checkout through whichever payment gateway you already use for prepaid methods on your store, exactly like a normal order paid in full. The remaining balance is recorded as a separate amount on the order (visible on the order screen, in the admin order list, and in the emails sent to the customer) so you and the customer both know what is still owed on delivery. The plugin does not automatically charge the balance. Collecting it on delivery is a manual, real-world step, the same as any other COD order.

Does it work with my payment gateway?

Yes, with any gateway. The advance payment is simply charged as the order total at checkout, using whatever gateway is enabled for that order. COD Deposit Rules does not require a specific gateway or add one of its own.

Will this affect my sales reports or accounting?

Be aware of this before you rely on it: when an advance payment applies, the order total recorded in WooCommerce is the amount actually charged at checkout, not the full cart value. The remaining balance is recorded separately, not folded into the order total. If you build reports directly off order totals, a COD order with an advance payment will show the deposit amount, not the full order value, so factor that in when reading revenue reports for COD orders.

Can I set different rules for different amounts or countries at the same time?

In the free version, all your active rules are checked together and if any one matches, the action you configured (require advance payment or hide COD) applies. Combining rules with AND/OR logic, so you can require different behavior depending on which combination of conditions is met, is a Pro feature.

Does this stop chargebacks or guarantee I won't get a fake order?

No. Nothing can guarantee that. This plugin reduces the financial exposure of a refused COD delivery by collecting part of the payment before the order ships. It does not detect fraud, verify identity, or block anyone from ordering.

更新日志:

1.6.1 1.6.0 1.5.1 1.5.0 1.4.0 1.3.0 1.2.0 1.1.0 1.0.0