Skip to content

Paying with Points

Members can settle a Voxel order from their points balance instead of paying money. Off by default; switch it on under Settings and set the rate.

How it looks to a member

The toggle appears inside Voxel's own Cart Summary, directly above the checkout button:

The Pay with points toggle inside Voxel's Cart Summary, above the checkout button

Switch it on and the checkout button changes with it — Proceed to payment becomes Pay with 198 Points, so the control a member presses says what pressing it will do.

The quote follows the cart. Change a quantity and both the toggle and the button re-price immediately — nothing is frozen at page load.

Nothing is placed and nothing is configured: the toggle appears on any Cart Summary once the feature is on and the member is signed in.

Already using the Pay with Points widget?

The separate Pay with Points widget still exists, for a checkout page that is not the cart. If you put one on your cart page as well, remove it — otherwise the page shows two switches for one setting.

Styling it

Voxel's Cart Summary gains a Pay with points (VXP) section on Elementor's Style tab: padding, radius, background, border and hover border, label and quote colour and typography, the colour used when the member cannot afford it, and the switch's track, knob and width.

The rate

One setting: points per unit of currency. At 2, the $99 cart above costs 198 points. Costs always round up, so a cart is never settled for fewer points than it is worth.

The rate in force is stamped on each order when it is paid. Changing the rate later does not rewrite history — an old order still reports the rate it was actually charged at.

All or nothing

Points cover the whole order or the toggle is not offered. There is no partial payment, and no "points plus card".

This is a deliberate limit rather than an oversight. Voxel exposes no filter anywhere in its cart or order pipeline for changing a price, a discount or a total. Taking money off an order would mean rebuilding Voxel's checkout in parallel and owning that copy forever, through every theme release. Choosing the payment method is a seam Voxel does support, and it is the same one Voxel's own Stripe, PayPal and Paddle modules use.

A member who cannot cover the cart sees how many more points they need, and the toggle stays disabled.

Subscriptions are funded, not settled

A membership or paid-listing plan is never settled from a balance. Nothing in Voxel renews an order without a payment processor, so a plan bought with points would simply lapse, silently, at the end of the first period.

Instead the points buy trial days. Stripe still runs checkout and still collects a card, charges nothing now, and bills normally once the points-funded stretch ends.

TIP

If Voxel already granted a genuine free trial, that is left alone — the member is not charged points for days they were about to get free.

What the member sees afterwards

The order records the sale in currency, because that is what was bought. The points that settled it appear alongside, on both the member's order page and the admin orders screen:

▸ Paid with 198 Points
     Points used     198 Points
     Order total     $99
     Rate            2 Points per $1

The count sits in the heading so it reads without expanding anything.

Refunds

Points leave the balance the moment the order is placed — unlike a card payment, which simply is not captured. So an order that ends up declined by the vendor or cancelled by the customer returns the points automatically, and the order page says so.

The order cannot then be charged again: the ledger's dedup key is deliberately not released, because the order is finished.

Safeguards

  • The balance is re-checked at the moment of payment, not just when the toggle was offered. A balance that moved in between cannot overdraw.
  • The charge carries the order id, and the ledger's unique index refuses a second charge for the same order — a double-submitted checkout cannot double-charge.
  • The checkout button is held while the toggle is talking to the server, so a fast click cannot check out before the choice has been recorded.
  • If the cart grows past what the balance covers after the toggle was set, the button reverts to Proceed to payment rather than promising a payment checkout would refuse.
  • A vendor who approves orders by hand still gets to approve this one.

If the toggle does not appear

  • Paying with points is off, or the rate is 0 (Settings).
  • The visitor is not signed in — the toggle never renders for guests.
  • The cart is empty, or its subtotal is zero.
  • The balance will not cover the cart and stay above the minimum balance.
  • The widget on the page is not Voxel's Cart Summary.

Limits worth knowing before you switch it on

  • One rate for the whole site. No per-product or per-role rates yet.
  • No partial payment (see above).
  • Guest checkout cannot pay with points — a balance belongs to an account.

Built by Code Wattz.