Getting started

Reward Points

Getting started

Enable the module

  1. Modules → Reward Points → master switch ON.
  2. The Rewards entry appears in the Marketing sidebar at /admin/rewards.
  3. The customer-side checkout shows a "Redeem points" widget (if the customer has any).
  4. The customer's account page shows a points balance widget at /account/rewards.

The seed config_schema is empty — config is stored in the dedicated reward_config table, not in tenant_modules.settings.

Grant the privileges

The route group /api/v1/admin/rewards/*:

  • GET routes (config, user list, user balance, user transactions) — gated only by the module + parent admin auth.
  • POST / PUT routes (update config, adjust user points) — require manage_rewards ∨ manage_promotions.

Configure the global rates

Open /admin/rewards/config (or Settings within the rewards admin):

KnobDefaultUse
points_per_unit1Earn this many points per $1.00 spent. 1 = 1 point per dollar.
redemption_rate1Each point is worth this many cents (minor units) at redemption. 1 = 1 cent per point.
min_redeem_points100Customer can't redeem less than this.
max_redeem_percentage30Cap on % of order total redeemable as points.
expiry_days365Earned points expire after this many days. 0 = never.

The defaults give you "1 point per $1, each point worth 1 cent (1% back), customer needs 100 pts ($1) to start redeeming, can pay up to 30% of an order with points, points expire in a year". A modest starter — raise the rate for promotions.

Turn on bonus points (optional)

Under Admin → Rewards → Settings → Bonus points, enter the points for any of these and save. Leave 0 to keep one off.

  • Signup bonus: once, when a customer creates an account.
  • Review bonus: when a review of a product the customer received is published. You can set a monthly limit.
  • Referral bonus and welcome bonus for the invited friend: both are paid when a friend who signed up through a customer's invite link completes their first order. You can set a monthly limit.
  • Birthday bonus: once a year, on the date in the customer's Birth Date profile field.

See Earning rules for exactly when each one pays and when it is taken back.

Smoke-test

  1. Make a test customer.
  2. Place a $100 order and mark it completed.
  3. Check /admin/rewards/users/{user_id} → balance should show 100 pts.
  4. Adjust manually with the Adjust button — credit / debit any amount with a description.
  5. At checkout on a second order, the customer's redeem widget should show "100 points ($1.00) available, redeem up to $X.XX".