Terms and Conditions per Product for WooCommerce
WooCommerce gives you one Terms and Conditions checkbox for the whole store. Some products need their own: a non-refundable deposit, a digital download you cannot take back, an age-restricted item, a rental with a damage clause, a booking with a cancellation window. This plugin adds a Terms URL to a
About this tool.
WooCommerce gives you one Terms and Conditions checkbox for the whole store. Some products need their own: a non-refundable deposit, a digital download you cannot take back, an age-restricted item, a rental with a damage clause, a booking with a cancellation window.
This plugin adds a Terms URL to any product, variation, product category or product tag. When that item is in the cart, its own checkbox appears at checkout, and the customer cannot place the order until every box is ticked. Everything else about your checkout stays as it is.
Requires: WooCommerce 9.9 or newer.
Works with: the classic checkout, the WooCommerce Checkout block, and HPOS.
How it works
- 01Edit a product and open the Advanced tab. Paste the URL of your Terms page and, if you want, the link text.
- 02The checkbox appears at checkout for every customer with that product in the cart, once per product, however many times it appears in the order.
- 03The customer ticks it and the order goes through. With the Premium version, the acceptance is written against the order with a timestamp, the user and the exact Terms link that was shown.
Who it is for
🛍️ Shops selling both ordinary goods and items with their own conditions, where a single store-wide checkbox says nothing useful. 💾 Digital products and downloads with a no-refund policy. 🔞 Age-restricted goods, where you need the customer to confirm before checkout. 🔑 Rentals, hire and equipment, with a separate damage or return agreement. 🛠️ Deposits, made-to-order and custom work, where the cancellation terms differ per item. 📅 Services and bookings, where each service carries its own cancellation window.
Free features
✅ Terms and Conditions URL and link text on any product. ✅ Different Terms on each variation of a variable product. ✅ A checkbox per product at checkout, on both the classic checkout and the WooCommerce block checkout. ✅ Server-side validation. Acceptance is checked again on the server before payment is taken, so an order cannot get through without it. ✅ Optionally require the customer to open the Terms link before the checkbox unlocks. ✅ Optionally show the Terms on the single product page. ✅ A [tacpp_terms] shortcode to show a product’s Terms anywhere else. ✅ Optionally hide the default WooCommerce Terms checkbox when custom Terms apply. ✅ Filters and actions throughout, for developers. See the hooks reference . ✅ Translation ready.
Premium features
🗂️ Terms per product category and per product tag, so a whole range is covered by one setting. 📋 An acceptance log on the order screen: who accepted what, when, and which link they were shown. Useful the day a customer disputes a charge. 🪟 Open Terms in a modal instead of a new tab, for your Terms and for the default WooCommerce ones. 📦 WooCommerce Product Bundles support: let a bundle’s Terms replace the Terms of the products inside it, or let a product skip its own Terms when it is sold inside a bundle.