Customer-set prices
A product with no fixed price, where the customer types the amount they want to pay. This is a Bang! Cart Pro feature.
Most products have a price. Some payments do not: a deposit on a commission, the balance of an invoice, a donation, a voucher worth whatever the buyer chooses. Customer-set prices put a box beside the buy button where the customer types the amount, with a minimum you choose.
Setting one up
- On the Products tab, under Other products (not in Stripe), add a product or open one you already have.
- In its Options section, switch on Custom price.
- The product's Price box now sets the minimum, not a selling price. Type the smallest amount you will accept, or leave it blank for the smallest amount Stripe allows in your currency (30p in pounds).
- Save, then copy the product's button shortcode onto the page as usual.
On the page, the customer sees an amount box beside the Add to basket button, with the minimum written underneath. An amount below the minimum is raised to the minimum, so nobody can pay less than you set.
It has to be a product added in the plugin. A product synced from Stripe sells at its one fixed Stripe price, and has no Options section. If the thing you want to sell already exists in Stripe, add it again under Other products and archive the Stripe copy, or the next Sync brings it back.
The three extra settings
| Setting | What it does |
|---|---|
| Let them buy more than one (amount × quantity) | Off by default, so the amount is paid once. Switch it on for things like tickets at a price the buyer chooses, where three of them at £20 should come to £60. |
| No shipping required | For anything that is not posted: a deposit, a donation, an invoice. A basket holding only these asks for no postage and no delivery address. Mixed with physical products, it adds nothing to the parcel - postage is worked out on the physical items alone. |
| Customer notes | The same switch as on any product. Use it to ask what the payment is for - "Invoice number", "Name on the voucher" - so the answer arrives with the order. See Order and product notes. |
A gift voucher, two ways
Vouchers are the commonest reason to reach for this, and there are two good ways to sell one. Pick by whether the buyer chooses the value or picks from yours.
- Any amount, from a minimum. Switch on Custom price, set the minimum (say £10), and switch on Customer notes asking "Who is the voucher for?". The buyer types £35 and a name. Tick No shipping required if the voucher is emailed rather than posted.
- Set values. Use product variants instead: one option called Value, with values 25, 50 and 100, each given its price in the table. The buyer picks from a list, and each value can have its own stock if you only print so many.
One product cannot do both. Custom price and variants switch each other off, because a product cannot both name its prices and let the buyer type one.
Discounts leave it alone
What the customer typed is what they are charged. No sale, no automatic discount and no discount code reduces it, and it does not count towards earning a quantity discount either. A code still applies to the rest of the basket as normal, so a 10% code on a basket of a £50 deposit and a £20 jar takes £2 off the jar and leaves the deposit whole.
It does count as money spent, though. A customer-set amount is part of the basket total that free postage over a spend and Pro's postage-by-value bands are measured on.
Where the amount shows
The basket, Stripe's payment page, both order emails, the receipt and the Orders tab all show the amount the customer typed, as its own line. There is nothing to reconcile: the charge in Stripe is the figure they chose.
If Pro is not active
The product pauses. It shows NOT ON SALE on the Products tab, and its button and price shortcodes show customers nothing, because the free plugin has no way to ask for an amount and will not guess one. Its minimum and every setting are kept, and it returns to sale untouched when Pro does. See What Bang! Cart Pro adds.
Still stuck?
Write to me and it is me who answers, not a ticket queue. Tell me what you expected and what happened instead.


