Wallet SystemWallet System
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later
  • Identity & Mobile

    • KYC
    • QR Code Payments
  • Wallet Central

    • Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings (index)
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General
    • Recharge
    • Checkout
    • Withdrawal
    • Payout (PayPal/Stripe)
    • KYC
    • Cashback
    • Referral
    • Multilevel
    • BNPL
    • QR Pay
    • Notifications
    • Wallet Central
    • Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later
  • Identity & Mobile

    • KYC
    • QR Code Payments
  • Wallet Central

    • Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings (index)
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General
    • Recharge
    • Checkout
    • Withdrawal
    • Payout (PayPal/Stripe)
    • KYC
    • Cashback
    • Referral
    • Multilevel
    • BNPL
    • QR Pay
    • Notifications
    • Wallet Central
    • Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
  • Getting Started

    • Introduction
    • Quick Start — Wallet Live in 5 Minutes
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later (BNPL)
  • Identity & Mobile

    • KYC (Know Your Customer)
    • QR Code Payments
  • Wallet Central

    • Wallet Central Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List + Detail
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings (customer)
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General Settings
    • Recharge Settings
    • Checkout Settings
    • Withdrawal Settings
    • Payout Settings (PayPal + Stripe)
    • KYC Settings
    • Cashback Settings
    • Referral Settings
    • Multilevel Settings
    • BNPL Settings
    • QR Pay Settings
    • Notifications Settings
    • Wallet Central Settings
    • Third-Party Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary

Filters & Hooks

The complete catalogue. Sorted by feature area.

Wallet Core

HookTypeArgsWhen
wkwp_wallet_balance_changedaction( int $user_id, float $amount, string $type, float $balance_after )after every credit / debit
wkwc_wallet_amount_updatedaction( int $user_id, float $balance_after )legacy alias of above
wkwp_wallet_low_balance_alertaction( int $user_id, float $balance_after, float $threshold )crosses threshold downward
wkwp_wallet_credit_amountfilter( float $amount, int $user_id, array $context )mutate amount before credit
wkwp_wallet_debit_amountfilter( float $amount, int $user_id, array $context )mutate amount before debit
wkwp_wallet_history_labelfilter( string $label, string $type )rename ledger types in history

Wallet Payment Gateway

HookTypeArgsWhen
wkwc_wallet_show_method_on_checkoutfilter( bool $show, WC_Cart $cart )gateway visibility decision
wkwp_wallet_split_payment_amountfilter( float $wallet_portion, WC_Cart $cart )adjust wallet portion in split
wkwp_wallet_split_rollbackaction( int $order_id, float $wallet_portion )secondary gateway failure rollback
wkwc_wallet_refund_to_walletfilter( bool $route_to_wallet, WC_Order $order )route refund to wallet vs original

Recharge

HookTypeArgsWhen
wkwp_wallet_topup_amountfilter( float $amount, WC_Order $order )mutate before credit
wkwp_wallet_topup_bonusfilter( float $bonus_pct, WC_Order $order )mutate bonus % per order
wkwp_wallet_topup_completedaction( int $order_id, float $credited )after credit row written
wkwp_wallet_topup_reversedaction( int $order_id, float $debited )refund / cancel reversal

Top-up Bonus

HookTypeArgsWhen
wkwp_wallet_bonus_amountfilter( float $pct, int $user_id, float $topup )mutate % per user
wkwp_wallet_bonus_creditedaction( int $user_id, float $bonus, int $order_id )after credit row written
wkwp_wallet_bonus_split_rowfilter( bool $split )render bonus as separate ledger row
wkwp_wallet_bonus_min_topupfilter( float $min )min top-up to qualify

Transfer

HookTypeArgsWhen
wkwp_wallet_transfer_otp_generatedaction( int $request_id, int $sender_id )OTP row written
wkwp_wallet_transfer_completedaction( int $sender_id, int $recipient_id, float $amount )both ledger rows written
wkwp_wallet_transfer_failedaction( int $sender_id, int $recipient_id, string $error )rollback
wkwp_wallet_transfer_feefilter( float $fee, float $amount, int $sender_id )mutate fee per transfer
wkwp_wallet_transfer_otp_template_smsfilter( string $template, array $vars )override SMS template

Cashback

HookTypeArgsWhen
wkwp_cashback_eligible_rulesfilter( array $rules, WC_Order $order )mutate rules before resolution
wkwp_cashback_resolved_rulefilter( object $rule, WC_Order $order )swap chosen rule
wkwp_cashback_amountfilter( float $amount, object $rule, WC_Order $order )mutate computed cashback
wkwp_cashback_creditedaction( int $user_id, float $amount, int $order_id )after credit
wkwp_cashback_reversedaction( int $user_id, float $amount, int $order_id )after refund reversal
wkwp_cashback_basisfilter( string $basis )subtotal_ex_tax (default) / subtotal_inc_tax / total

Withdrawal

HookTypeArgsWhen
wkwc_wallet_withdrawal_requestedaction( int $row_id, int $user_id, float $amount )row written
wkwc_wallet_withdrawal_approvedaction( int $row_id )status flips to approved
wkwc_wallet_withdrawal_paidaction( int $row_id, string $payout_ref )payout API succeeded
wkwc_wallet_withdrawal_rejectedaction( int $row_id, string $admin_note )rejected; balance refunded
wkwc_wallet_withdrawal_failedaction( int $row_id, string $error )payout API errored
wkwp_wallet_withdrawal_feefilter( float $fee, float $amount, int $user_id )mutate fee per request
wkwp_wallet_withdrawal_eligiblefilter( bool $eligible, int $user_id, float $amount )gate request submission

PayPal Payout

HookTypeArgsWhen
wkwp_paypal_payout_request_bodyfilter( array $body, int $row_id )mutate JSON body before send
wkwp_paypal_payout_responseaction( int $row_id, array $response )after PayPal API response
wkwp_paypal_webhook_eventaction( string $event_type, array $payload )every webhook event

Stripe Payout

HookTypeArgsWhen
wkwp_stripe_payout_request_bodyfilter( array $body, int $row_id )mutate body before send
wkwp_stripe_payout_responseaction( int $row_id, array $response )after Stripe API response
wkwp_stripe_smallest_unitfilter( int $multiplier, string $currency )smallest-unit conversion override
wkwp_stripe_webhook_eventaction( string $event_type, array $payload )webhook event

Refund Requests

HookTypeArgsWhen
wkwp_refund_request_eligiblefilter( bool $eligible, int $user_id, WC_Order $order )gate visibility
wkwp_refund_request_submittedaction( int $row_id )row written
wkwp_refund_request_approvedaction( int $row_id, int $order_id )wallet credited
wkwp_refund_request_rejectedaction( int $row_id, string $admin_note )rejection email about to fire
wkwp_refund_to_wallet_amountfilter( float $amount, WC_Order $order )admin direct refund amount

BNPL

HookTypeArgsWhen
wkwp_bnpl_eligiblefilter( bool $eligible, int $user_id, WC_Cart $cart )gate eligibility
wkwp_bnpl_debt_createdaction( int $debt_id, int $user_id, float $principal )new debt row
wkwp_bnpl_repaidaction( int $debt_id, float $repaid )row hits zero
wkwp_bnpl_overdueaction( int $debt_id )row marked overdue
wkwp_bnpl_interest_calculatedfilter( float $interest, object $debt )mutate interest
wkwp_bnpl_max_debt_per_userfilter( float $max, int $user_id )per-user override

KYC

HookTypeArgsWhen
wkwp_kyc_submit_validatefilter`( WP_Errortrue $result, array $payload )`
wkwp_kyc_status_changedaction( int $user_id, string $from, string $to )every transition
wkwp_kyc_required_featuresfilter( array $features, int $user_id )per-user gate list
wkwp_kyc_document_check_mimefilter( bool $allowed, string $mime )extra MIME types
wkwp_kyc_admin_email_recipientsfilter( array $recipients )CC reviewers

Referral

HookTypeArgsWhen
wkwp_referral_base_amountfilter( float $amount, int $referrer_id, int $invitee_id )mutate payout (used by promo + multilevel)
wkwp_referral_register_resolvedaction( int $invitee_id, int $referrer_id, string $source )?ref= resolved
wkwp_referral_reward_creditedaction( int $referrer_id, float $amount, int $invitee_id )credit row written
wkwp_referral_first_order_coupon_createdaction( int $invitee_id, string $code )invitee coupon minted
wkwp_referral_cookie_daysfilter( int $days )mutate TTL

Multilevel Referral

HookTypeArgsWhen
wkwp_multilevel_levels_activefilter( int $levels, int $invitee_id, int $order_id )active level count per order
wkwp_multilevel_commission_percentfilter( float $pct, int $level, int $sponsor_id )per-level % at runtime
wkwp_multilevel_creditedaction( int $sponsor_id, float $amount, int $level )per-level credit
wkwp_multilevel_chain_resolvedaction( int $invitee_id, array $chain )ancestry walk done

Daily Login Reward

HookTypeArgsWhen
wkwp_daily_login_rewardaction( int $user_id, float $amount )after credit row written
wkwp_daily_login_eligiblefilter( bool $eligible, int $user_id )gate the reward
wkwp_daily_login_amountfilter( float $amount, int $user_id )per-user amount

QR Pay

HookTypeArgsWhen
wkwp_qr_payload_payloadfilter( string $payload, int $user_id )mutate encoded payload
wkwp_qr_pay_amountfilter( float $amount, int $sender_id, int $recipient_id )mutate before debit
wkwp_qr_pay_completedaction( int $sender_id, int $recipient_id, float $amount )both rows written
wkwp_qr_pay_failedaction( int $sender_id, int $recipient_id, string $error )rollback
wkwp_qr_pay_kyc_gatefilter( bool $gated, int $user_id )per-pay KYC gate

Bulk Operations

HookTypeArgsWhen
wkwp_wallet_bulk_queue_addedaction( string $batch_id, int $row_count )rows enqueued
wkwp_wallet_bulk_row_processedaction( int $row_id, int $user_id )per-row success
wkwp_wallet_bulk_row_failedaction( int $row_id, string $error )per-row fail
wkwp_wallet_bulk_batch_sizefilter( int $size )rows per worker tick
wkwp_wallet_bulk_csv_validate_rowfilter`( WP_Errortrue $result, array $row )`

Email / SMS

HookTypeArgsWhen
wkwp_email_recipients_<event>filter( array $to )mutate To list
wkwp_email_subject_<event>filter( string $subject, array $vars )mutate subject
wkwp_email_body_<event>filter( string $body, array $vars )mutate body
wkwp_email_should_sendfilter( bool $send, string $event )global gate
wkwp_email_sent_<event>action( bool $success, array $vars )after wp_mail
wkwp_sms_providerfilter( string $class_name )swap SMS provider
wkwp_sms_template_<event>filter( string $template, array $vars )mutate template
wkwp_sms_sendfilter( string $body, string $to )mutate before send
wkwp_sms_sentaction( string $to, string $body )API success
wkwp_sms_failedaction( string $to, string $body, string $error )API failure

Analytics

HookTypeArgsWhen
wkwp_analytics_summary_payloadfilter( array $payload, array $window )mutate response
wkwp_analytics_chart_metricsfilter( array $metrics )register custom metric
wkwp_analytics_cache_ttlfilter( int $seconds, string $key )per-key TTL
wkwp_analytics_summary_generatedaction( array $payload )after compute

REST

HookTypeArgsWhen
wkwp_rest_register_routesaction()append custom routes
wkwp_rest_pre_authenticatefilter`( nullWP_Error
wkwp_rest_response_<endpoint>filter( WP_REST_Response $response )mutate response
wkwp_rest_rate_limit_per_ipfilter( int $limit )override
wkwp_rest_rate_limit_per_keyfilter( int $limit )override

Compatibility / Integrations

HookTypeArgsWhen
wkwp_integration_dokan_settleaction( int $vendor_id, float $share )Dokan vendor settled to wallet
wkwp_integration_wcfm_settleaction( int $vendor_id, float $share )WCFM vendor settled
wkwp_integration_subscriptions_renewaction( int $subscription_id, float $charged )renewal charged from wallet
wkwp_integration_giftcard_redeemaction( string $code, float $amount )gift card credited to wallet
wkwp_integration_rma_refundaction( int $rma_id, float $amount )RMA refund routed to wallet

Diagnostic Filters (rare)

HookTypePurpose
wkwp_debug_log_enablefilterswitch on per-event debug logging
wkwp_debug_log_destinationfilterredirect logs (default WC_LOG_DIR/wkwp-wallet/)
wkwp_compat_mode_forcefilterforce-enable a compat shim regardless of detection

Related

  • REST API
Prev
REST API