Get Plugin

Pro/Reward Points

Reward Points (WooRewards)

Two-way integration with the MyRewards (WooRewards) loyalty plugin. Customers earn points from raffle ticket purchases and redeem points for free or discounted tickets.

Requires: WooRewards (free or Pro) installed and active. The module gracefully hides when WooRewards is not present.

Enabling

  • Install and activate the MyRewards (WooRewards) plugin.
  • Go to WooCommerce → Settings → Raffle → Pro Modules and enable Reward Points (WooRewards).
  • Edit a raffle product → PRO Features → check Enable reward points.
  • Configure earning and redemption settings.

Earning modes

Each raffle product can be set to one of four earning modes (with global defaults at WooCommerce → Settings → Raffle → Reward Points):

ModeBehaviour
DefaultWooRewards' standard earning rate — no modification
MultiplierScale points by a configurable factor (e.g., 2× = double points)
Flat bonusExtra points on top of normal earning, recorded as a separate WooRewards history entry ("Raffle bonus points")
DisabledRaffle purchases earn zero points
Scroll to see all columns →
For multiplier mode, the multiplier value is set per product (e.g., 1.5, 2.0, 3.0). For flat bonus mode, a fixed number of bonus points is awarded per order regardless of ticket quantity.

Redemption modes

When "Allow point redemption" is enabled on a product, customers can spend points via one of two modes:

ModeBehaviour
Free ticketSpend a set number of points for one free ticket. Configurable points-per-ticket and max redeemable tickets per order.
DiscountSpend points for a partial price reduction. Configurable points-per-currency-unit rate and maximum discount percentage.
Scroll to see all columns →

Settings

Per-product settings (PRO Features section)

SettingDescription
Enable reward pointsMaster toggle for this raffle
Point earning modeDefault / Multiplier / Flat bonus / Disabled
Earning multiplierFactor for multiplier mode (e.g., 2.0)
Flat bonus pointsExtra points per order in flat bonus mode
Allow point redemptionLet customers spend points on this raffle
Redemption typeFree ticket or Discount
Points per free ticketPoints required for one free ticket
Max redeemable ticketsLimit per order (0 = unlimited)
Points per currency unitPoints per $1.00 discount (discount mode)
Max discount %Cap discount as percentage of ticket price (0 = no cap)
Scroll to see all columns →

Global settings (WooCommerce → Settings → Raffle → Reward Points)

SettingDescription
Default Earning ModeFallback for products without per-product override
Default Earning MultiplierGlobal multiplier default
Default Flat Bonus PointsGlobal flat bonus default
Allow Redemption by DefaultDefault toggle for new products
Default Redemption TypeFree ticket or Discount
Default Points per Free TicketGlobal points-per-ticket default
Default Max Redeemable TicketsGlobal max per order
Default Points per Currency UnitGlobal discount rate
Default Max Discount %Global discount cap
Show Points on Product PageDisplay the widget on raffle pages
Show Earning Preview in CartShow "Earns X reward points" on cart items
Redemption Coupon PrefixPrefix for auto-generated coupons (default: rfwc-pts)
Auto-cleanup Expired CouponsHourly cron trashes expired unused coupons and refunds points
Scroll to see all columns →

How redemption works

  • Customer visits a raffle product page and sees their point balance.
  • For free ticket mode: +/- controls to select how many tickets to redeem.
  • For discount mode: a slider to choose how many points to apply.
  • Clicking "Apply Points" triggers an AJAX call that:
- Validates the customer's balance - Creates a single-use WooCommerce coupon scoped to the product (2-hour expiry, email-restricted) - Deducts points from the WooRewards pool - Applies the coupon to the cart
  • Customer completes checkout normally.

Safety mechanisms

ScenarioHandling
Customer redeems points but doesn't checkout in timeHourly cron finds the expired coupon, refunds points to the user's WooRewards balance, and trashes the coupon
Order cancelled / refunded / failedFlat bonus points reversed, redeemed points credited back, order note added
Double-processing preventionOrder meta _rfwc_pro_rp_points_awarded stores the numeric amount (not a boolean) — prevents re-awarding on duplicate processing
Guest usersEarning still works (WooRewards handles guest→account association). Redemption UI hidden for guests with a "Log in" prompt
WooRewards deactivatedModule returns early in constructor — no errors, no UI
Scroll to see all columns →

Frontend display

Product page widget (below ticket quantity):

  • Point balance: "You have 500 reward points"
  • Earning preview: "Earn 2.0× reward points with this purchase!" or "Earn +50 bonus reward points!"
  • Redemption controls (free ticket mode): +/- quantity selector with cost display
  • Redemption controls (discount mode): range slider with live preview
  • "Apply Points" button
  • "Rewards: Earns 2.0× reward points" or "Rewards: Earns +50 bonus points"

Interaction with other systems

SystemBehaviour
Bonus Tickets (P11)Bonus tickets are free — they don't affect WooRewards earning (which calculates from order total). Flat bonus is based on line item qty only.
TeraWalletCompletely independent. Wallet is real money; points are virtual loyalty currency. Existing wallet refund flow unaffected.
WooRewards Direct Reward ModeWorks alongside. The raffle redemption coupon and WooRewards' own points-on-cart coupon can coexist.
Scroll to see all columns →

CSS classes

ElementCSS Class
Widget container.rfwc-pro-rp-widget
Balance display.rfwc-pro-rp-balance
Balance value.rfwc-pro-rp-balance-value
Earning info.rfwc-pro-rp-earn-info
Redeem section.rfwc-pro-rp-redeem
Free ticket controls.rfwc-pro-rp-redeem-free
Discount slider.rfwc-pro-rp-redeem-discount
Apply button.rfwc-pro-rp-redeem-btn
Status message.rfwc-pro-rp-redeem-status
Login prompt.rfwc-pro-rp-login-prompt
Admin badge.rfwc-pro-badge--points
Scroll to see all columns →