Gatemi Name Your Price for WooCommerce puts a price field on the products you choose: donations, pay-what-you-want downloads, tips, deposits and made-to-order work. Set a minimum, a maximum, a suggestion, or none of them, per product and per variation.
The band is enforced on the server, every time. This is the part the category gets wrong. A min= attribute is a suggestion to a script, not a rule — anybody can post past it, and a shop that trusted it gets an order for a penny. Here an illegal price is refused at add-to-cart with a message the shopper reads, and every cart recalculation clamps the stored one back into the band, so a floor you raise today applies to yesterday's carts without emptying them.
A named price is a price, not a discount. It is set from the value stored on the cart line, never recomputed from the product and never read back out of the request after the one that added it. WooCommerce recalculates a cart several times per request; anything measuring from the *product* drifts on every AJAX update, slowly enough that a merchant notices at the end of the month. A test recalculates six times and asserts the price does not move.
One place decides. The field, the validation, the cart, the catalog price and the admin all ask the same service what a product's rules are — which is what stops a shop *offering* a field with one minimum and *refusing* at another.
Features
- Per product and per variation: switch on, minimum, maximum, suggested
- A store-wide minimum for any product that names none
- The suggestion can pre-fill the field, and the band can be spelled out in words
- The catalog shows "From <minimum>", or your own wording, in place of a price
- The price leaves the product's structured data too — a number nobody will be charged is not an offer
- What the customer named is recorded on the order line
- No storefront JavaScript at all
Every license includes
- One year of updates and priority support, delivered straight to your WordPress dashboard.
- Use on 1, 5 or 25 sites depending on your license — local, staging and development sites are always free.
- 30-day money-back guarantee — full refund, no questions asked.
- Keeps working after expiry — if you choose not to renew, the plugin keeps running exactly as installed; it simply stops receiving updates and support until you do.
Requires WordPress 6.4+ · PHP 7.4+ · tested up to WordPress 7.0. Works with the classic and block checkout alike.

Ryan B. (verified owner) –
Got through the January sale without a squeak.
Hannah R. (verified owner) –
Set it up, got confused, read the docs, fine ever since. Worth considering if you’re looking at Pricing & Promotions. Would buy again, probably.
Robert (verified owner) –
Started with one licence. Bought two more.
simon t (verified owner) –
Money I’m glad I spent. Been recommending Name Your Price to people in the same boat. Solid all round.
Tobias G. (verified owner) –
Einmal eingerichtet und seitdem nicht mehr daran gedacht.