What Bang! Cart Pro adds

The free plugin is a complete working shop. Pro is for the shop that has grown, and it adds six things through the free plugin's own hooks rather than unlocking anything that was hidden.

Nothing ships locked or disabled in the free plugin. Pro is a separate add-on that requires the free plugin and does nothing on its own, so install the free plugin first. If it is missing or not active, WordPress will not let Pro activate at all: the plugins screen says the requirement is unmet and links you to the free plugin, and nothing on your shop changes in the meantime. Version matters too - each Pro feature needs a minimum free version, listed below.

Your Pro features appear inside the tabs you already know. Nothing moves.

Which free version each Pro feature needs. Automatic discounts, postage that scales with the order and customer-set prices run on free 3.2.0 and up. Product variants need free 3.6.0 or newer. Checkout on your own site and order and product notes need free 3.7.0 or newer. In each case the groundwork - the product editor, the storefront pickers, the basket that can hold one product on several lines, the return that knows a declined card from a paid one - is the free plugin's own, and Pro supplies what uses it.

Product variants

One product sold in several colours and sizes, instead of a separate product for every combination. Each combination carries its own price and its own stock count, and the customer chooses on the product page you already built - there is no new shortcode to add.

  • Up to two choices, named by you: Colour and Size, Scent and Weight, whatever your product actually varies by. Two is the limit on purpose - a third turns a modest grid into twenty-seven rows to fill in.
  • A combination table that builds itself from the values you list, with Set all boxes so twelve rows are two pieces of typing.
  • Pictures belong to a value, not to a combination. Nominate one option to carry the photos and two colours in three sizes needs two pictures, not six. A value takes a photograph or a flat colour swatch, so a shop with no product shots can still ship.
  • Combinations you do not make can be switched off rather than deleted, and switching one back on returns its price and stock exactly as they were.

Variants are the plugin's own, so they apply to products you added here. They are not mapped onto Stripe's price objects, and a product synced from Stripe cannot carry them. The full walkthrough is in Product variants.

Checkout on your own site

Stripe's payment form appears embedded in a page of your own site instead of on Stripe's. Your header, your footer and your address bar stay throughout, and the card details still go straight to Stripe without ever touching your site.

You choose it on the Settings tab under Where customers pay, pick or create the checkout page - one button makes the page and puts the shortcode on it, and pressing it twice will not make a second one - and add your publishable keys on the Stripe tab. They appear there, beneath the secret keys, only while this is switched on, and each box accepts only its own mode's key. A publishable key is meant to be seen in a browser; that is what it is for.

  • Nothing here can cost you a sale. Until the page and the key are both in place, and any time they stop matching - including the day you go live with a live secret key and no live publishable key beside it - customers pay on Stripe's own page exactly as they always have. Only you are told why, on the settings card and on the checkout page itself.
  • One customer holds stock once, however often they reload. The session is remembered per tab and offered back, so a hesitant customer who wanders off and returns keeps their one reservation rather than stacking a new half-hour hold every time. A basket that has changed retires the old session before making a new one.
  • A declined card is told the truth. The return page asks Stripe what actually happened, so a failed payment says plainly that nothing was charged and the basket is still there. It never says thank you for an order that does not exist, and the basket is only emptied once Stripe confirms the money was taken.

The basket's Checkout button becomes a doorway to your checkout page while this is on, instead of a departure to Stripe. Switch it back and it departs again; nothing else about the basket changes either way. The full walkthrough is in Checkout on your own site.

Automatic discounts

Discounts that apply by themselves, with no code for the customer to type and nothing for you to remember.

  • Quantity discounts: "buy 6 or more, £3 off". Counts the whole order rather than each product, so three of one and three of another still qualifies. Fires once per order.
  • Order value discounts: "spend £50 or more, get 10% off", fixed or percentage. If an order clears more than one row, the highest threshold it clears applies.
  • Per-product quantity tiers, for rules that should count only certain products.

These compete fairly with your sale and your discount codes: the customer always gets the single biggest saving, never two at once. See Sales and discount codes for how that contest works, including the option to let a code stack on top.

Postage that scales with the order

Two more ways to price a zone, on top of the free plugin's flat rate and first-item-plus-extra. Both are set per zone, so one zone can price in bands while another stays flat.

  • By number of units: bands you define, such as 1 to 3 items at £3.29 and 4 to 6 at £5.70. The top band is the zone's ceiling, because counting items expresses a physical constraint: three fit a box and twelve do not.
  • By basket value: bands on what the order is worth. The top row catches everything above it, because a value band expresses a pricing curve rather than a box size.

Customer-set prices

The customer types the amount: deposits, balances, donations, invoice settlement, booking fees. Each product can carry a minimum, and optionally a reference field so you know what the payment is for.

A customer-set amount is never discounted. What the buyer typed is what they are charged, and no sale, tier or code touches it. A code still applies to the rest of the basket as normal.

Order and product notes

A product can ask the customer to type something - a name to engrave, an invoice number, what a payment is for - and the basket can ask for one message about the whole order.

  • Per product: tick Ask for a note on the Products tab and word the question yourself. Any product may ask; it used to be available only on customer-set-price products, tucked inside their options. You can insist on an answer, in which case the product cannot be added without one and the basket says which product is waiting.
  • Per order: under Settings, A message with the order adds a box to the basket for anything about the order as a whole - a delivery instruction, a date it is needed by, a message for whoever is receiving it. Word the question yourself, and insist on an answer if you want one, though a shop that insists stops every customer who has nothing to say.
  • Each different answer is its own basket line. Three of the same mug with three different names on them is three lines in one order, and all three still come off one stock count - so a shelf of three cannot be sold four times, whatever is typed. Adding the same product with the same words simply raises that line's quantity.
  • The customer can correct what they typed in the basket itself, rather than removing the line and adding it again. Change the words on a checkout page and the order is re-priced and re-worded before it is paid for.

Everything typed reaches your order email, the customer's confirmation, the Mark as shipped page you open while making the parcel up, the customer's order status page, the PDF receipt and your Stripe dashboard. The echo back to the customer is deliberate: somebody who cannot see their own message come back to them writes to ask whether it arrived.

Stripe's own payment page allows only three short custom fields, so all of this is collected in your basket before checkout rather than on Stripe's page - which is also why it works the same whether your customers pay on Stripe's page or on your own site. The full walkthrough is in Order and product notes.

If Pro lapses, nothing is lost

This is worth understanding before you buy, and it is the reason to trust it afterwards.

Deactivating Pro never deletes a setting. The free plugin pauses Pro-configured features visibly and preserves every saved rule, ready for Pro's return.

What you hadWhat happens without Pro
A zone priced in bandsShows NO POSTAGE, with a note that its pricing mode was set by an add-on that is not active. Prices kept safe, not charged. Collection still works. You can switch it to a free pricing mode and carry on.
Automatic discount rulesA note explains the rules were made with an add-on that is not active. The rules are kept untouched, baskets pay the list price, and no discount is ever guessed at.
Customer-set-price productsThe product shows NOT ON SALE. Its button and price shortcodes render nothing to customers, so it cannot be bought at a price nobody set. Every setting is kept, and its price field becomes a minimum rather than a selling price.
Checkout on your own siteCustomers pay on Stripe's own hosted page, exactly as they did before you switched it on. Your checkout page and your publishable keys are kept. Nothing is refused and no sale is lost.
Notes asked for on products or the orderNothing is asked. The questions you worded are kept, and orders go through without them rather than stalling on a box nothing can fill in.
A product with variantsThe product shows NOT ON SALE and disappears from the storefront rather than selling one arbitrary combination. Every option, value, price, stock count and picture is kept exactly as you left it, ready for Pro's return.

An expired licence is not this. It keeps every feature; only updates and support stop. The difference, and everything else about keys, activation and moving a site, is in Your Pro licence.

The theme running through all of that is the same one: a wrong charge is worse than a paused feature. The plugin will not fall back on another mode's figures to keep a zone quoting, because the postage it invented would be one you never agreed to.

What Pro does not add

Pro is the six features above. It is not a different plugin. In particular it does not add tax tables, subscriptions, weight-based postage or customer accounts, because none of those are things this plugin does at any tier.

It no longer offers a Stripe-issued invoice either. That option was withdrawn in Pro 1.0.0: the free plugin already produces its own numbered PDF receipt at no cost, and asking a shop to pay Stripe a fee per order for a document it very nearly has already was not worth selling. The Invoice / receipt document setting has two choices now, in free and in Pro alike.

Anything you have seen described as planned is planned. If it is not on this page, it is not in Pro today.

Still stuck?

Write to me and it is me who answers, not a ticket queue. Tell me what you expected and what happened instead.

Ask a question

Bang! Creative Family

Bang! Plugins is part of a small UK creative group, so the plugins are made and backed by people who do this for a living.