PW WooCommerce Gift Cards Security & Risk Analysis

wordpress.org/plugins/pw-woocommerce-gift-cards

Sell gift cards to your WooCommerce store, in just a few minutes!

20K active installs v2.40 PHP 7.4+ WP 4.5+ Updated Apr 7, 2026
gift-cardsgift-certificatesstore-creditvoucherswoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is PW WooCommerce Gift Cards Safe to Use in 2026?

Generally Safe

Score 100/100

PW WooCommerce Gift Cards has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1mo ago
Risk Assessment

The "pw-woocommerce-gift-cards" plugin v2.39 exhibits a mixed security posture. On the positive side, there are no recorded vulnerabilities (CVEs) and a low number of critical or high-severity code signals. The use of prepared statements for SQL queries is generally good, and the plugin incorporates nonce and capability checks. However, concerns arise from the presence of an unprotected AJAX handler, which represents a significant attack surface without proper authentication. Furthermore, the code analysis indicates a relatively low percentage (44%) of properly escaped output, suggesting a potential for cross-site scripting (XSS) vulnerabilities if user-supplied data is not handled carefully. The single taint flow with unsanitized paths, though not classified as critical or high, warrants attention. The plugin's clean vulnerability history is a strength, implying robust development practices in the past, but the identified code signals highlight areas that require immediate attention for a more secure overall posture.

Key Concerns

  • Unprotected AJAX handler
  • Low percentage of properly escaped output
  • Flow with unsanitized paths
Vulnerabilities
None known

PW WooCommerce Gift Cards Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

PW WooCommerce Gift Cards Release Timeline

v2.40Current
v2.39
v2.38
v2.37
v2.36
v2.35
v2.34
v2.33
v2.32
v2.31
v2.30
v2.29
v2.28
v2.27
v2.26
v2.25
v2.24
v2.23
v2.22
v2.21
Code Analysis
Analyzed Mar 16, 2026

PW WooCommerce Gift Cards Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
24 prepared
Unescaped Output
57
45 escaped
Nonce Checks
14
Capability Checks
4
File Operations
1
External Requests
0
Bundled Libraries
0

SQL Query Safety

86% prepared28 total queries

Output Escaping

44% escaped102 total outputs
Data Flows · Security
1 unsanitized

Data Flow Analysis

3 flows1 with unsanitized paths
ajax_search (admin\pw-gift-cards-admin.php:464)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

PW WooCommerce Gift Cards Attack Surface

Entry Points17
Unprotected1

AJAX Handlers 17

authwp_ajax_pw-gift-cards-add_gift_card_amountadmin\pw-gift-cards-admin.php:153
authwp_ajax_pw-gift-cards-remove_gift_card_amountadmin\pw-gift-cards-admin.php:154
authwp_ajax_pw-gift-cards-searchadmin\pw-gift-cards-admin.php:155
authwp_ajax_pw-gift-cards-balance_summaryadmin\pw-gift-cards-admin.php:156
authwp_ajax_pw-gift-cards-view_activityadmin\pw-gift-cards-admin.php:157
authwp_ajax_pw-gift-cards-save_settingsadmin\pw-gift-cards-admin.php:158
authwp_ajax_pw-gift-cards-create_productadmin\pw-gift-cards-admin.php:159
authwp_ajax_pw-gift-cards-deleteadmin\pw-gift-cards-admin.php:160
authwp_ajax_pw-gift-cards-restoreadmin\pw-gift-cards-admin.php:161
authwp_ajax_pw-gift-cards-save_designadmin\pw-gift-cards-admin.php:162
authwp_ajax_pw-gift-cards-reset_designadmin\pw-gift-cards-admin.php:163
authwp_ajax_pw-gift-cards-preview_emailadmin\pw-gift-cards-admin.php:164
authwp_ajax_pw-gift-cards-hide_paypal_ipn_pdt_bug_noticeadmin\pw-gift-cards-admin.php:167
noprivwp_ajax_pw-gift-cards-redeemincludes\pw-gift-cards-redeeming.php:89
authwp_ajax_pw-gift-cards-redeemincludes\pw-gift-cards-redeeming.php:90
noprivwp_ajax_pw-gift-cards-removeincludes\pw-gift-cards-redeeming.php:92
authwp_ajax_pw-gift-cards-removeincludes\pw-gift-cards-redeeming.php:93
WordPress Hooks 128
actionadmin_menuadmin\pw-gift-cards-admin.php:140
actionadmin_enqueue_scriptsadmin\pw-gift-cards-admin.php:141
filterwoocommerce_product_data_tabsadmin\pw-gift-cards-admin.php:142
actionwoocommerce_product_data_panelsadmin\pw-gift-cards-admin.php:143
actionadmin_footeradmin\pw-gift-cards-admin.php:144
actionwoocommerce_after_product_attribute_settingsadmin\pw-gift-cards-admin.php:145
filterwoocommerce_product_filtersadmin\pw-gift-cards-admin.php:146
actionwoocommerce_admin_order_totals_after_taxadmin\pw-gift-cards-admin.php:148
filterwoocommerce_get_sections_productsadmin\pw-gift-cards-admin.php:149
filterwoocommerce_get_settings_productsadmin\pw-gift-cards-admin.php:150
filterpwbe_variable_product_typesadmin\pw-gift-cards-admin.php:151
actionadmin_noticesadmin\pw-gift-cards-admin.php:169
actionenqueue_block_assetsincludes\blocks\class-pw-gift-cards-blocks.php:11
actionwoocommerce_store_api_checkout_order_processedincludes\blocks\class-pw-gift-cards-blocks.php:12
filterwoocommerce_get_items_keyincludes\class-wc-order-item-pw-gift-card.php:30
filterwoocommerce_order_type_to_groupincludes\class-wc-order-item-pw-gift-card.php:37
filterwoocommerce_get_order_item_classnameincludes\class-wc-order-item-pw-gift-card.php:46
actionwoocommerce_before_single_variationincludes\class-wc-product-pw-gift-card.php:233
actionwoocommerce_single_variationincludes\class-wc-product-pw-gift-card.php:234
actionwoocommerce_after_single_variationincludes\class-wc-product-pw-gift-card.php:235
actionwoocommerce_before_add_to_cart_buttonincludes\class-wc-product-pw-gift-card.php:257
filterproduct_type_selectorincludes\class-wc-product-pw-gift-card.php:265
filterwoocommerce_data_storesincludes\class-wc-product-pw-gift-card.php:275
filterwoocommerce_product_add_to_cart_textincludes\class-wc-product-pw-gift-card.php:290
filterwoocommerce_variation_option_nameincludes\class-wc-product-pw-gift-card.php:334
filterwoocommerce_data_storesincludes\data-stores\class-wc-order-item-pw-gift-card-data-store.php:30
actionpw_gift_cards_pending_email_notificationincludes\emails\class-wc-email-pw-gift-card.php:44
actionpw_gift_cards_pending_manual_email_notificationincludes\emails\class-wc-email-pw-gift-card.php:45
actionpw_gift_cards_recipient_email_notificationincludes\emails\class-wc-email-pw-gift-card.php:46
actionpw_gift_cards_send_emailsincludes\pw-gift-cards-email-manager.php:28
actionpw_gift_cards_send_email_manuallyincludes\pw-gift-cards-email-manager.php:29
filterwoocommerce_email_classesincludes\pw-gift-cards-email-manager.php:30
actionwoocommerce_email_actionsincludes\pw-gift-cards-email-manager.php:31
filterwoocommerce_get_price_htmlincludes\pw-gift-cards-purchasing.php:29
filterwoocommerce_cart_item_quantityincludes\pw-gift-cards-purchasing.php:30
filterwoocommerce_dropdown_variation_attribute_options_argsincludes\pw-gift-cards-purchasing.php:31
filterwoocommerce_add_to_cart_handlerincludes\pw-gift-cards-purchasing.php:32
filterwoocommerce_add_cart_itemincludes\pw-gift-cards-purchasing.php:33
filterwoocommerce_add_cart_item_dataincludes\pw-gift-cards-purchasing.php:34
filterwoocommerce_get_cart_item_from_sessionincludes\pw-gift-cards-purchasing.php:35
filterwoocommerce_get_item_dataincludes\pw-gift-cards-purchasing.php:36
filterwoocommerce_cart_item_permalinkincludes\pw-gift-cards-purchasing.php:37
filterwoocommerce_checkout_create_order_line_itemincludes\pw-gift-cards-purchasing.php:38
filterwoocommerce_order_status_processingincludes\pw-gift-cards-purchasing.php:41
actionwoocommerce_payment_completeincludes\pw-gift-cards-purchasing.php:42
actionwoocommerce_checkout_update_order_metaincludes\pw-gift-cards-purchasing.php:43
filterwoocommerce_order_status_completedincludes\pw-gift-cards-purchasing.php:46
filterwoocommerce_order_status_cancelledincludes\pw-gift-cards-purchasing.php:47
filterwoocommerce_order_status_refundedincludes\pw-gift-cards-purchasing.php:48
filterwp_trash_postincludes\pw-gift-cards-purchasing.php:49
filteruntrash_postincludes\pw-gift-cards-purchasing.php:50
filterwoocommerce_order_item_needs_processingincludes\pw-gift-cards-purchasing.php:51
filterwoocommerce_order_item_permalinkincludes\pw-gift-cards-purchasing.php:52
filterwoocommerce_order_item_display_meta_keyincludes\pw-gift-cards-purchasing.php:53
filterwoocommerce_order_item_get_formatted_meta_dataincludes\pw-gift-cards-purchasing.php:54
actionwoocommerce_order_again_cart_item_dataincludes\pw-gift-cards-purchasing.php:55
filterwoocommerce_product_get_priceincludes\pw-gift-cards-purchasing.php:56
filterwc_memberships_exclude_product_from_member_discountsincludes\pw-gift-cards-purchasing.php:57
filteret_option_ajax_addtocartincludes\pw-gift-cards-purchasing.php:60
filtertheme_mod_disable_wc_sticky_cartincludes\pw-gift-cards-purchasing.php:61
filtertheme_mod_ocean_woo_product_ajax_add_to_cartincludes\pw-gift-cards-purchasing.php:62
filteroption_rigidincludes\pw-gift-cards-purchasing.php:63
filterwoocommerce_product_variation_get_regular_priceincludes\pw-gift-cards-purchasing.php:198
actionwc_avatax_before_checkout_tax_calculatedincludes\pw-gift-cards-redeeming.php:48
actionwc_avatax_after_checkout_tax_calculatedincludes\pw-gift-cards-redeeming.php:49
actionwoocommerce_review_order_before_cart_contentsincludes\pw-gift-cards-redeeming.php:54
filterwdp_calculate_totals_hook_priorityincludes\pw-gift-cards-redeeming.php:65
actionwoocommerce_before_checkout_formincludes\pw-gift-cards-redeeming.php:67
actionwoocommerce_cart_totals_before_order_totalincludes\pw-gift-cards-redeeming.php:68
actionwoocommerce_review_order_before_order_totalincludes\pw-gift-cards-redeeming.php:69
actionwoocommerce_review_order_before_submitincludes\pw-gift-cards-redeeming.php:70
actionwoocommerce_after_calculate_totalsincludes\pw-gift-cards-redeeming.php:71
actionwoocommerce_update_orderincludes\pw-gift-cards-redeeming.php:72
actionwoocommerce_order_after_calculate_totalsincludes\pw-gift-cards-redeeming.php:73
actionwoocommerce_pre_payment_completeincludes\pw-gift-cards-redeeming.php:74
actionwoocommerce_checkout_update_order_metaincludes\pw-gift-cards-redeeming.php:75
actionwoocommerce_order_status_processingincludes\pw-gift-cards-redeeming.php:76
actionwoocommerce_order_status_pre-orderedincludes\pw-gift-cards-redeeming.php:77
actionwoocommerce_order_status_completedincludes\pw-gift-cards-redeeming.php:78
actionwoocommerce_order_status_cancelledincludes\pw-gift-cards-redeeming.php:79
actionwoocommerce_order_status_refundedincludes\pw-gift-cards-redeeming.php:80
actionwoocommerce_order_status_failedincludes\pw-gift-cards-redeeming.php:81
filterwoocommerce_get_order_item_totalsincludes\pw-gift-cards-redeeming.php:82
actionwoocommerce_checkout_create_orderincludes\pw-gift-cards-redeeming.php:83
actionwoocommerce_proceed_to_checkoutincludes\pw-gift-cards-redeeming.php:84
actionwoocommerce_after_cart_contentsincludes\pw-gift-cards-redeeming.php:85
filterwoocommerce_paypal_argsincludes\pw-gift-cards-redeeming.php:86
filterwc_paytrail_payment_paramsincludes\pw-gift-cards-redeeming.php:87
filterwoocommerce_get_shop_coupon_dataincludes\pw-gift-cards-redeeming.php:95
actionwoocommerce_applied_couponincludes\pw-gift-cards-redeeming.php:96
filterwoocommerce_apply_with_individual_use_couponincludes\pw-gift-cards-redeeming.php:97
filteralg_wc_oma_amount_cart_totalincludes\pw-gift-cards-redeeming.php:98
filteralg_wc_order_minimum_amount_messageincludes\pw-gift-cards-redeeming.php:99
filterwoocommerce_order_needs_paymentincludes\pw-gift-cards-redeeming.php:101
actionyith_pdf_invoice_before_totalincludes\pw-gift-cards-redeeming.php:103
actionwoocommerce_after_calculate_totalsincludes\pw-gift-cards-redeeming.php:132
actionwoocommerce_update_orderincludes\pw-gift-cards-redeeming.php:271
actionbefore_woocommerce_initpw-gift-cards.php:99
actionplugins_loadedpw-gift-cards.php:107
actionplugins_loadedpw-gift-cards.php:136
actionwoocommerce_initpw-gift-cards.php:137
actionadmin_noticespw-gift-cards.php:143
filterscript_loader_tagpw-gift-cards.php:189
actionwp_enqueue_scriptspw-gift-cards.php:192
filterwoocommerce_attribute_labelpw-gift-cards.php:193
actionwoocommerce_before_order_item_line_item_htmlpw-gift-cards.php:194
actionwoocommerce_order_item_line_item_htmlpw-gift-cards.php:195
actionwoocommerce_payment_completepw-gift-cards.php:196
actionwcml_is_variable_productpw-gift-cards.php:197
filterpwgc_to_current_currencypw-gift-cards.php:198
filterpwgc_to_default_currencypw-gift-cards.php:199
filterpwgc_to_order_currencypw-gift-cards.php:200
filterwcumcs_custom_item_price_finalpw-gift-cards.php:201
filterwp-optimize-minify-default-exclusionspw-gift-cards.php:202
filterwpo_minify_run_on_pagepw-gift-cards.php:203
filterantive_toolkit_variation_attribute_optionspw-gift-cards.php:206
actionwoocommerce_before_single_product_summarypw-gift-cards.php:210
actionpw_gift_cards_pending_email_notificationpw-gift-cards.php:215
filterwc_price_based_country_third_party_product_typespw-gift-cards.php:219
filterdefault_wvs_variation_attribute_options_htmlpw-gift-cards.php:225
actionwp_enqueue_scriptspw-gift-cards.php:290
filterwoocommerce_order_item_display_meta_valuepw-gift-cards.php:326
filteralg_wc_currency_switcher_correctionpw-gift-cards.php:615
filteralg_wc_currency_switcher_correctionpw-gift-cards.php:721
filteralg_wc_currency_switcher_correctionpw-gift-cards.php:831
filterwc_aelia_cs_selected_currencypw-gift-cards.php:890
filterwoocommerce_currency_symbolpw-gift-cards.php:916
actionwoocommerce_single_product_summarypw-gift-cards.php:999

Scheduled Events 1

pw_gift_cards_recipient_email
Maintenance & Trust

PW WooCommerce Gift Cards Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedApr 7, 2026
PHP min version7.4
Downloads2.3M

Community Trust

Rating94/100
Number of ratings194
Active installs20K
Developer Profile

PW WooCommerce Gift Cards Developer Profile

pimwick

10 plugins · 43K total installs

94
trust score
Avg Security Score
100/100
Avg Patch Time
9 days
View full developer profile
Detection Fingerprints

How We Detect PW WooCommerce Gift Cards

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/pw-woocommerce-gift-cards/assets/css/pw-gift-cards.css/wp-content/plugins/pw-woocommerce-gift-cards/assets/js/pw-gift-cards.js/wp-content/plugins/pw-woocommerce-gift-cards/assets/js/pw-gift-cards-admin.js
Script Paths
/wp-content/plugins/pw-woocommerce-gift-cards/assets/js/pw-gift-cards.js/wp-content/plugins/pw-woocommerce-gift-cards/assets/js/pw-gift-cards-admin.js
Version Parameters
pw-woocommerce-gift-cards/assets/css/pw-gift-cards.css?ver=pw-woocommerce-gift-cards/assets/js/pw-gift-cards.js?ver=pw-woocommerce-gift-cards/assets/js/pw-gift-cards-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
pwgc-gift-card-amount-inputpwgc-recipient-email-inputpwgc-gift-card-redemption-form
HTML Comments
<!--PWGC-->
Data Attributes
data-pwgc-gift-card-numberdata-pwgc-gift-card-amountdata-pwgc-recipient-email
JS Globals
pwgc_localize
Shortcode Output
[pw_gift_cards_apply_to_cart]
FAQ

Frequently Asked Questions about PW WooCommerce Gift Cards