Get Plugin

Pro/Wallet Credit

Wallet prize credit

Automatically credit the winner's store wallet with the prize amount when a store-credit raffle completes, instead of generating a WooCommerce coupon. Supports TeraWallet and WooWallet.

Requires: TeraWallet or WooWallet installed and active. The module shows an admin notice when enabled without a supported wallet plugin.

Enabling

  • Install and activate TeraWallet or WooWallet.
  • Go to WooCommerce → Settings → Raffle → Pro Modules and enable Wallet Prize Credit.
  • Edit a raffle product, set the prize type to Store Credit.
  • The wallet credit fields appear in the PRO Features section automatically.

How it works

  • A raffle draw completes and the winner is selected.
  • The wallet module hooks into rfwc_winner_selected (before the standard prize fulfillment) and checks if the prize type is store credit.
  • The prize amount is credited directly to the winner's wallet balance.
  • A transaction note is recorded in the wallet ("Raffle prize for [Product Name] — Ticket #123").
  • An entry is added to the raffle log table for audit purposes.
  • The winner record is updated with a WALLET-TERAWALLET (or WALLET-WOOWALLET) marker to prevent double-crediting.
If the winner is a guest (no WordPress account), the module falls back to the standard coupon-based fulfillment. The coupon is emailed to the winner as usual.

Per-product settings

These fields appear on the raffle product edit screen under PRO Features when the prize type is "Store Credit".

SettingDescription
Credit to walletPer-product toggle. Defaults to enabled when the module is active. Uncheck to fall back to coupon-based credit for this specific raffle.
Scroll to see all columns →

Supported wallet plugins

PluginDetection method
TeraWalletChecks for the woo_wallet() function. Credits via woo_wallet()->wallet->credit().
WooWalletChecks for the WooWallet class. Credits via WooWallet::instance()->wallet->credit().
Scroll to see all columns →
TeraWallet is checked first. If both plugins are active (unlikely but possible), TeraWallet takes priority.

Safety mechanisms

ScenarioHandling
No wallet plugin activeAdmin notice displayed. No product fields registered. Falls back to coupon.
Winner is a guestFalls back to coupon-based store credit.
Wallet credit failsReturns false from the filter, letting the free plugin create a coupon as fallback.
Module disabled after prizes awardedPreviously awarded wallet credits are unaffected. Future prizes use coupons.
Scroll to see all columns →

Interaction with other systems

SystemBehaviour
Reward Points (WooRewards)Independent. Points are virtual loyalty currency; wallet credit is real store balance.
Recurring RaffleEach recurring copy inherits the wallet credit setting from its source product.
RefundsWallet credits are final. Refunding the original ticket order does not reverse the wallet credit. Handle wallet reversals through the wallet plugin's admin interface.
Scroll to see all columns →

Developer hooks

The module hooks into rfwc_winner_selected at priority 10 (before prize fulfillment at 20) and also filters rfwc_award_store_credit as a secondary path.

An action fires after a successful wallet credit:

do_action(
    'rfwc_pro_wallet_credited',
    $user_id,        // int — winner's user ID.
    $credit_amount,  // float — amount credited.
    $ticket,         // RFWC_Ticket — winning ticket.
    $raffle,         // RFWC_Product_Raffle — the raffle product.
    $wallet          // string — 'terawallet' or 'woowallet'.
);

To prevent wallet crediting for a specific raffle programmatically, set the _rfwc_pro_wallet_credit_enabled post meta to no on that product.