[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5BbGX2O2x2ADZndVbmtvy-Bwx29frN9cNwcTCe72WKU":3,"$f3gn-DKoBLBF-IePZ1cE1t2Ioij8z4EiUZgqzUZ23lAU":756,"$fi5p85poyEJ1qBAOttcsA7Btz40Bxm5cTGIjtlv3aAs8":760},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":36,"analysis":127,"fingerprints":732},"subscriptionflow-recurring-payments-for-woocommerce","SubscriptionFlow Recurring Payments for WooCommerce","1.0.5","appssf","https:\u002F\u002Fprofiles.wordpress.org\u002Fappssf\u002F","\u003Cp>SubscriptionFlow helps merchants run subscriptions using any payment gateway, not just Stripe. Whether you’re using Paystack, NMI, Bankful, Peach Payments, PayFast, IyziCo, MyFatoorah, PayTabs, Windcave, Razorpay, or others, you can create and manage subscriptions without switching providers. Manage plans, billing, and customer subscriptions from one powerful dashboard and scale your recurring revenue globally.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Simple & Variable Subscriptions\u003C\u002Fstrong> – Support for both simple and variable subscription products\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Billing Schedules\u003C\u002Fstrong> – Configure custom delivery frequencies (days, weeks, months, years)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Discount Options\u003C\u002Fstrong> – Offer percentage, fixed amount, or flat rate discounts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Subscription Management\u003C\u002Fstrong> – Dedicated admin page to view and manage all subscriptions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SubscriptionFlow Integration\u003C\u002Fstrong> – Seamless integration with SubscriptionFlow platform\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customer Flexibility\u003C\u002Fstrong> – Allow customers to choose between one-time purchase or subscription\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Beautiful Subscription Widget\u003C\u002Fstrong> – Modern, responsive subscription selector on product pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Comprehensive Settings\u003C\u002Fstrong> – Configure API credentials and customize widget labels\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Configure Products\u003C\u002Fstrong> – Add subscription settings to your simple or variable products\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Set Billing Schedules\u003C\u002Fstrong> – Define delivery frequencies and discount tiers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customers Choose\u003C\u002Fstrong> – Shoppers select between one-time purchase or subscription\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Management\u003C\u002Fstrong> – Orders are tracked and displayed in the subscriptions admin page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SubscriptionFlow Sync\u003C\u002Fstrong> – Data syncs with SubscriptionFlow platform for advanced management\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Membership sites\u003C\u002Fli>\n\u003Cli>Product subscription boxes\u003C\u002Fli>\n\u003Cli>Digital content subscriptions\u003C\u002Fli>\n\u003Cli>Consumable products (coffee, vitamins, supplements)\u003C\u002Fli>\n\u003Cli>SaaS products\u003C\u002Fli>\n\u003Cli>Any business offering recurring services or products\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>SubscriptionFlow Integration\u003C\u002Fh4>\n\u003Cp>This plugin works with the SubscriptionFlow platform to provide advanced subscription management features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customer management\u003C\u002Fli>\n\u003Cli>Payment method handling\u003C\u002Fli>\n\u003Cli>Subscription lifecycle management\u003C\u002Fli>\n\u003Cli>Analytics and reporting\u003C\u002Fli>\n\u003Cli>Customer portal\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To use this plugin, you need an active SubscriptionFlow account. Visit \u003Ca href=\"https:\u002F\u002Fwww.subscriptionflow.com\u002F\" rel=\"nofollow ugc\">SubscriptionFlow.com\u003C\u002Fa> to learn more.\u003C\u002Fp>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>For support, please visit \u003Ca href=\"https:\u002F\u002Fwww.subscriptionflow.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">SubscriptionFlow Support\u003C\u002Fa> or contact us through the plugin support forum.\u003C\u002Fp>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>Detailed documentation is available at \u003Ca href=\"https:\u002F\u002Fwww.subscriptionflow.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">SubscriptionFlow Documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Privacy Policy\u003C\u002Fh4>\n\u003Cp>This plugin integrates with SubscriptionFlow and sends customer and order data to the SubscriptionFlow platform for subscription management. Please review the \u003Ca href=\"https:\u002F\u002Fwww.subscriptionflow.com\u002Fprivacy\u002F\" rel=\"nofollow ugc\">SubscriptionFlow Privacy Policy\u003C\u002Fa> for details on data handling.\u003C\u002Fp>\n\u003Ch4>About SubscriptionFlow\u003C\u002Fh4>\n\u003Cp>SubscriptionFlow is a comprehensive subscription management platform designed to help businesses manage recurring billing, customer subscriptions, and payment processing with ease.\u003C\u002Fp>\n\u003Cp>Learn more at \u003Ca href=\"https:\u002F\u002Fwww.subscriptionflow.com\u002F\" rel=\"nofollow ugc\">SubscriptionFlow.com\u003C\u002Fa>\u003C\u002Fp>\n","A subscription management plugin for WooCommerce with Simple and Variable product types, flexible billing schedules, and discount options.",0,216,"2026-04-10T08:22:00.000Z","6.9.4","5.0","7.2",[18,19,20,21,22],"recurring-payments","subscription-management","subscriptions","variable-subscriptions","woocommerce","https:\u002F\u002Fwww.subscriptionflow.com\u002Frecurring-payments\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsubscriptionflow-recurring-payments-for-woocommerce.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},2,96,30,91,"2026-05-20T04:33:38.774Z",[37,58,74,94,111],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":56,"download_link":57,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"recurio","Recurio – Ultimate Subscription for WooCommerce","1.0.2","DevItems","https:\u002F\u002Fprofiles.wordpress.org\u002Fdevitemsllc\u002F","\u003Cp>\u003Cstrong>Recurio\u003C\u002Fstrong> is a complete subscription management solution for WooCommerce that helps you create, manage, and grow your recurring revenue business. With a modern Vue.js dashboard, automated billing, and comprehensive analytics, Recurio makes subscription management effortless.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FsylqtuZx-TA?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>📊 Advanced Analytics Dashboard\u003C\u002Fstrong>\u003Cbr \u002F>\n* Real-time subscription metrics and KPIs\u003Cbr \u002F>\n* Revenue tracking and forecasting\u003Cbr \u002F>\n* Cohort analysis and retention rates\u003Cbr \u002F>\n* Customer lifetime value calculations\u003Cbr \u002F>\n* Churn rate monitoring\u003C\u002Fp>\n\u003Cp>\u003Cstrong>💳 Automated Billing & Payments\u003C\u002Fstrong>\u003Cbr \u002F>\n* Automatic recurring payment processing\u003Cbr \u002F>\n* Support for multiple payment gateways (Stripe, PayPal, etc.)\u003Cbr \u002F>\n* Smart retry logic for failed payments\u003Cbr \u002F>\n* Dunning management\u003Cbr \u002F>\n* Customizable billing cycles\u003C\u002Fp>\n\u003Cp>\u003Cstrong>👥 Customer Portal\u003C\u002Fstrong>\u003Cbr \u002F>\n* Self-service subscription management\u003Cbr \u002F>\n* Pause, resume, and cancel subscriptions\u003Cbr \u002F>\n* Payment method updates\u003Cbr \u002F>\n* Billing history and invoices\u003Cbr \u002F>\n* WooCommerce My Account integration\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎯 Subscription Management\u003C\u002Fstrong>\u003Cbr \u002F>\n* Flexible billing periods (daily, weekly, monthly, yearly)\u003Cbr \u002F>\n* Free trial periods\u003Cbr \u002F>\n* Sign-up fees\u003Cbr \u002F>\n* Subscription length limits\u003Cbr \u002F>\n* Pause and resume functionality\u003Cbr \u002F>\n* Split payments \u002F Installments\u003Cbr \u002F>\n* Early renewal option\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📧 Email Notifications\u003C\u002Fstrong>\u003Cbr \u002F>\n* Automated email triggers for subscription events\u003Cbr \u002F>\n* Renewal reminders\u003Cbr \u002F>\n* Payment failure notifications\u003Cbr \u002F>\n* Subscription status updates\u003Cbr \u002F>\n* Customizable email templates\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔧 Developer Friendly\u003C\u002Fstrong>\u003Cbr \u002F>\n* REST API for external integrations\u003Cbr \u002F>\n* Extensive hooks and filters\u003Cbr \u002F>\n* Clean, documented code\u003Cbr \u002F>\n* Translation ready\u003C\u002Fp>\n\u003Ch4>Pro Features\u003C\u002Fh4>\n\u003Cp>Unlock the full potential of Recurio with Pro features designed for growing subscription businesses.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🛒 Subscribe & Save\u003C\u002Fstrong>\u003Cbr \u002F>\nOffer customers the choice between one-time purchase or subscription with automatic discounts. Boost recurring revenue by showing savings and encouraging subscription purchases.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📦 Variable Product Subscriptions\u003C\u002Fstrong>\u003Cbr \u002F>\nSet different subscription settings for each product variation. Configure unique pricing, trial periods, billing cycles, and sign-up fees per variation – perfect for tiered subscription plans.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>⏱️ Custom Billing Periods\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate flexible billing intervals like “every 2 weeks” or “every 3 months”. Go beyond standard periods with fully customizable day, week, month, or year intervals.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📅 Extended Billing Periods\u003C\u002Fstrong>\u003Cbr \u002F>\nAccess Daily, Weekly, and Quarterly billing periods. Ideal for premium content subscriptions, weekly meal kits, or quarterly membership plans.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🔄 Subscription Switching\u003C\u002Fstrong>\u003Cbr \u002F>\nLet customers upgrade or downgrade their subscriptions seamlessly. Automatic prorated billing ensures fair pricing during plan changes.\u003C\u002Fp>\n\u003Ch4>Why Choose Recurio?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Modern Interface\u003C\u002Fstrong>: Built with Vue.js for a fast, responsive experience\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance Optimized\u003C\u002Fstrong>: Efficient database queries and caching\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure\u003C\u002Fstrong>: Follows WordPress coding standards and security best practices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regular Updates\u003C\u002Fstrong>: Actively maintained with new features and improvements\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Great Support\u003C\u002Fstrong>: Responsive support team ready to help\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>SaaS businesses\u003C\u002Fli>\n\u003Cli>Membership sites\u003C\u002Fli>\n\u003Cli>Digital product subscriptions\u003C\u002Fli>\n\u003Cli>Box subscriptions\u003C\u002Fli>\n\u003Cli>Service subscriptions\u003C\u002Fli>\n\u003Cli>Content subscriptions\u003C\u002Fli>\n\u003Cli>Any recurring billing needs\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Video created by the community\u003C\u002Fh4>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FVrdG_gYP7gQ?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n","A powerful and comprehensive WooCommerce subscription management plugin with advanced analytics, automated billing, and customer portal.",900,4358,60,1,"2026-04-15T06:39:00.000Z","6.8.5","5.8","7.4",[54,18,19,20,55],"recurring-billing","woocommerce-subscriptions","https:\u002F\u002Fwprecurio.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frecurio.1.0.2.zip",{"slug":59,"name":60,"version":61,"author":62,"author_profile":63,"description":64,"short_description":65,"active_installs":11,"downloaded":66,"rating":25,"num_ratings":48,"last_updated":67,"tested_up_to":14,"requires_at_least":68,"requires_php":52,"tags":69,"homepage":71,"download_link":72,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":73},"flexi-wc-subscriptions","Flexi Subscription for WooCommerce","1.0.0","flexiplugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fflexiplugins\u002F","\u003Cp>Flexi Subscription is a WooCommerce subscription plugin designed to help store\u003Cbr \u002F>\nowners create, manage, and grow recurring subscription products with ease. It\u003Cbr \u002F>\nallows businesses to offer subscription-based, recurring, and membership-style\u003Cbr \u002F>\nproducts directly within WooCommerce using a modern, WooCommerce-native\u003Cbr \u002F>\napproach. The plugin is built to fit naturally into existing WooCommerce\u003Cbr \u002F>\nworkflows, making it easy to set up subscriptions, handle ongoing billing, and\u003Cbr \u002F>\nmanage subscription lifecycles without relying on complex or third-party\u003Cbr \u002F>\nsystems. Whether you are launching your first recurring product or planning to\u003Cbr \u002F>\nscale subscription-based offerings over time, Flexi Subscription provides a\u003Cbr \u002F>\nstable and flexible foundation while staying fully compatible with the latest\u003Cbr \u002F>\nWooCommerce features and updates.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F_0REmHN9ZuQ?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>With Flexi Subscription for WooCommerce, you can:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create and sell recurring subscription products in WooCommerce\u003C\u002Fli>\n\u003Cli>Manage subscription billing cycles, renewals, and statuses\u003C\u002Fli>\n\u003Cli>Display clear subscription details in the Cart and Checkout\u003C\u002Fli>\n\u003Cli>Show a compact “Subscription Summary” for better customer clarity\u003C\u002Fli>\n\u003Cli>Build WooCommerce-native subscription workflows with extensibility in mind\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free Version Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create subscriptions for simple WooCommerce products\u003C\u002Fli>\n\u003Cli>Configure billing intervals and billing periods\u003C\u002Fli>\n\u003Cli>Handle subscription renewals and lifecycle statuses\u003C\u002Fli>\n\u003Cli>Customize line-item price text for subscription-based products\u003C\u002Fli>\n\u003Cli>Fully compatible with WooCommerce Blocks checkout experiences\u003C\u002Fli>\n\u003Cli>Built with WooCommerce-native UX and extensible architecture\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro Version Features\u003C\u002Fh4>\n\u003Cp>The Pro version of Flexi Subscription is currently under active development and\u003Cbr \u002F>\nextends the Free plugin with advanced subscription functionality for growing\u003Cbr \u002F>\nWooCommerce businesses.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Support subscriptions for variable products and variations\u003C\u002Fli>\n\u003Cli>Configure subscription settings at the variation level\u003C\u002Fli>\n\u003Cli>Add signup fees, trials, and synchronization options\u003C\u002Fli>\n\u003Cli>Separate delivery schedules from billing cycles\u003C\u002Fli>\n\u003Cli>Define delivery intervals, periods, and delivery synchronization rules\u003C\u002Fli>\n\u003Cli>Access developer-friendly APIs, hooks, and filters\u003C\u002Fli>\n\u003Cli>Maintain performance, scalability, and WooCommerce-native UX patterns\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Flexi Subscription is ideal for store owners who want a lightweight,\u003Cbr \u002F>\nfuture-ready WooCommerce subscription plugin that starts simple and scales\u003Cbr \u002F>\ninto more advanced subscription use cases over time.\u003C\u002Fp>\n","Flexible subscription management for WooCommerce products, enabling recurring billing, subscription plans, and customer subscription control.",204,"2026-04-03T07:08:00.000Z","6.2",[54,18,70,19,55],"subscription","https:\u002F\u002Fflexisubscription.co\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fflexi-wc-subscriptions.1.0.0.zip","2026-04-06T09:54:40.288Z",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":82,"downloaded":83,"rating":32,"num_ratings":84,"last_updated":85,"tested_up_to":14,"requires_at_least":86,"requires_php":87,"tags":88,"homepage":91,"download_link":92,"security_score":25,"vuln_count":48,"unpatched_count":11,"last_vuln_date":93,"fetched_at":27},"woo-vipps","Pay with Vipps and MobilePay for WooCommerce","5.3.2","WP Hosting AS","https:\u002F\u002Fprofiles.wordpress.org\u002Fwphostingdev\u002F","\u003Cp>\u003Cem>Official Vipps MobilePay payment plugin for WooCommerce. Let your Norwegian, Danish, and Finnish customers pay with Vipps and MobilePay for an easy, fast, and familiar shopping experience\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Vipps is used by more than 93 % of Norway’s population (4.2 million users).\u003C\u002Fp>\n\u003Cp>MobilePay is used by more than 92 % of Denmark’s population (4.4 million users), and approximately 59 % of Finland’s population (2.8 million users).\u003C\u002Fp>\n\u003Cp>Vipps and MobilePay are payment methods offered by Vipps MobilePay.\u003C\u002Fp>\n\u003Cp>When you enable this plugin, you will choose between offering either Vipps or MobilePay as a payment method for your customers – hence “Vipps\u002FMobilePay” going forward.\u003C\u002Fp>\n\u003Cp>This is the official plugin for Vipps\u002FMobilePay Checkout, Vipps\u002FMobilePay ePayments (\u003Cem>Vipps Nettbetaling\u003C\u002Fem>), Vipps MobilePay Express (\u003Cem>Vipps MobilePay Hurtigkasse\u003C\u002Fem>) and Vipps\u002FMobilePay recurring payments. Increase your conversion rate by letting your customers choose Vipps\u002FMobilePay directly in the checkout or even do an Express Checkout (Vipps only) from the cart or a product page directly.\u003C\u002Fp>\n\u003Cp>You can also do important back office tasks such as capture and refund directly from WooCommerce. Easy for your customer and easy for you.\u003C\u002Fp>\n\u003Cp>Read \u003Ca href=\"https:\u002F\u002Fdeveloper.vippsmobilepay.com\u002Fdocs\u002Fplugins\u002Fwoocommerce\u002F\" rel=\"nofollow ugc\">information from Vipps MobilePay\u003C\u002Fa> about the plugin.\u003C\u002Fp>\n\u003Ch3>Vipps\u002FMobilePay Checkout\u003C\u002Fh3>\n\u003Cp>With Vipps\u002FMobilePay Checkout enabled in the plugin, you will get a complete checkout in your webshop, designed by Vipps MobilePay. It contains regular Vipps\u002FMobilePay payments, a card payment option for those that can’t or won’t use Vipps\u002FMobilePay, as well as the ability to get the shipping address of the customer in an easy way. Read more about \u003Ca href=\"https:\u002F\u002Fvippsmobilepay.com\u002Fen\u002Fonline\u002Fcheckout\" rel=\"nofollow ugc\">Vipps MobilePay Checkout here\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Vipps\u002FMobilePay ePayment\u003C\u002Fh3>\n\u003Cp>When you enable this plugin, your customers will be able to choose Vipps\u002FMobilePay as a payment method in the checkout. There is no need to go via a third party payment method. If your customer choose Vipps\u002FMobilePay, they fill in their name and address and is then asked to enter their phone number in the Vipps\u002FMobilePay dialogue. They then confirms the payment in the Vipps\u002FMobilePay app. Customer info like name and address is sent to the store from Vipps MobilePay.\u003C\u002Fp>\n\u003Ch3>Vipps\u002FMobilePay recurring payments\u003C\u002Fh3>\n\u003Cp>Vipps\u002FMobilePay recurring payments is perfect for you if you run a web shop with subscription based services or other products that would benefit from subscriptions.\u003C\u002Fp>\n\u003Cp>With Vipps\u002FMobilePay recurring payments you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sell recurring products (virtual and physical)\u003C\u002Fli>\n\u003Cli>Offer subscription services\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fdeveloper.vippsmobilepay.com\u002Fdocs\u002FAPIs\u002Frecurring-api\u002Fhow-it-works\u002F\" rel=\"nofollow ugc\">How it works\u003C\u002Fa> for an overview.\u003C\u002Fp>\n\u003Cp>Recurring payments requires \u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fwoocommerce-subscriptions\u002F\" rel=\"nofollow ugc\">WooCommerce Subscriptions\u003C\u002Fa> and a Vipps MobilePay MSN with recurring payments added.\u003C\u002Fp>\n\u003Ch3>MobilePay Reservations are currently for 14 days\u003C\u002Fh3>\n\u003Cp>When a payment is completed with Vipps MobilePay, the money will be reserved, but only transferred to the merchant when the order is set to “Complete” or the money is captured manually. \u003Cem>For MobilePay, this reservation period is 14 days\u003C\u002Fem>, so you will need to ship and fulfill orders before this; or to make an agreement with the customer to capture the money before this period is over. For Vipps, the period is 180 days. For payments made by credit card in Vipps\u002FMobilePay Checkout, the period can again be as short as 7 days.\u003Cbr \u002F>\nFor details, please read the \u003Ca href=\"https:\u002F\u002Fdeveloper.vippsmobilepay.com\u002Fdocs\u002Fknowledge-base\u002Freserve-and-capture\u002F#reserve-and-capture-faq\" rel=\"nofollow ugc\">developer FAQ\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If the order only contains virtual and downloadable products, the plugin will capture the order automatically and set the order to “Completed” as is the standard WooCommerce rule.\u003C\u002Fp>\n\u003Ch3>Vipps MobilePay Express\u003C\u002Fh3>\n\u003Cp>When you enable Vipps MobilePay Express, your customers can choose between the regular checkout or to go directly to Vipps or MobilePay. If they choose Vipps or MobilePay, they just submit their phone number, and the rest of the checkout process is done in the Vipps or MobilePay app.\u003C\u002Fp>\n\u003Cp>Since Vipps MobilePay knows who the customers are, they don’t have to enter all their personal information. The customer just choose the shipping method and accepts the payment. Vipps MobilePay will send all the necessary info back to the store. Easy, fast and secure.\u003C\u002Fp>\n\u003Cp>The express checkout can be done in the following ways:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>From the cart\u003C\u002Fli>\n\u003Cli>From the category pages\u003C\u002Fli>\n\u003Cli>From the product page\u003C\u002Fli>\n\u003Cli>From shareable links distributed by email, banners, etc.\u003C\u002Fli>\n\u003Cli>From QR codes distributed digitally or in print\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Settings for the cart, category and product pages can be found in the WooCommerce settings for the Vipps MobilePay payment gateway.\u003C\u002Fp>\n\u003Cp>Shareable links and QR codes can be generated from the Vipps\u002FMobilePay tab on the product page.\u003C\u002Fp>\n\u003Ch3>How to get started\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Sign up in the \u003Ca href=\"https:\u002F\u002Fportal.vippsmobilepay.com\" rel=\"nofollow ugc\">Vipps MobilePay portal\u003C\u002Fa> and choose your product.\u003C\u002Fli>\n\u003Cli>After 1-2 days you will get an email with login details to Vipps MobilePay Business Portal, where you can get the API credentials\u003C\u002Fli>\n\u003Cli>Download and install the plugin\u003C\u002Fli>\n\u003Cli>Configure the plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How to install the plugin\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Install the plugin using WordPress’ \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FManaging_Plugins#Installing_Plugins\" rel=\"nofollow ugc\">built-in installer\u003C\u002Fa>. The plugin can also be installed manually by upload the plugin files to the \u002Fwp-content\u002Fplugins\u002F directory.\u003C\u002Fli>\n\u003Cli>Activate the plugin through the ‘Plugins’ screen in WordPress.\u003C\u002Fli>\n\u003Cli>Go to the WooCommerce Settings page and choose Payment Gateways (Betalinger) and enable Vipps\u002FMobilePay.\u003C\u002Fli>\n\u003Cli>Go the settings page for the Vipps MobilePay plugin and enter your Vipps MobilePay account keys. Your account keys are available in the Vipps Business Portal (detailed info in the section below)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>How to get Vipps MobilePay account keys from Vipps MobilePay Business Portal\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Sign in to the Vipps MobilePay Portal at \u003Ca href=\"https:\u002F\u002Fportal.vippsmobilepay.com\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fportal.vippsmobilepay.com\u002F\u003C\u002Fa> using Bank ID\u003C\u002Fli>\n\u003Cli>Select the “Utvikler” (“Developer”) tab and choose Production Keys. Here you can find the merchant serial number (6 figures)\u003C\u002Fli>\n\u003Cli>Click on “Show keys” under the API keys column to see “Client ID”, “Client Secret” and “Vipps MobilePay Subscription Key”\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Contributing on Github\u003C\u002Fh3>\n\u003Cp>This project is hosted on Github at: https:\u002F\u002Fgithub.com\u002Fvippsas\u002Fvipps-woocommerce\u003C\u002Fp>\n\u003Ch3>Extending the Order Management API integration\u003C\u002Fh3>\n\u003Cp>From version 1.10.0, this plugin implements the Vipps MobilePay Order Management API, sending a receipt to the customers’ app, and sending the order confirmation link as the Order Confirmation link category.  You can, using this api, send over an image and a link for the categories receipt (RECEIPT), ticket (TICKET), shipping (DELIVERY), booking (BOOKING) and a general category (GENERAL).\u003C\u002Fp>\n\u003Cp>For instance, if you have a page or url for tracking shipping, you can add this to the customers’ app by extending the ‘woo_vipps_add_order_categories’ filter like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>   add_filter('woo_vipps_add_order_categories', function ($categories, $order, $gateway) {\n          $shippingpagedata = array(\n            'link' => \u003Cyour shipping URL here>, \n            'image' => \u003Cfilename or attachment ID of your illustration for shipping here, if required>,\n            'imagesize' => \u003Cfor attachments, the image size to use>);\n          $categories['DELIVERY'] = $shippingpagedata;\n          return $categories;\n      }, 10, 3);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can similarily send ticket information (with e.g. a QR code) for the TICKET or BOOKING category and so forth.\u003C\u002Fp>\n\u003Ch4>Javascript filters and actions\u003C\u002Fh4>\n\u003Cp>From version 1.1.13 you can also modify the javascript using the new WP hooks library for javascript:\u003Cbr \u002F>\n * ‘vippsBuySingleProduct’ – action which is run whenever a customer tries to buy a single product using express checkout\u003Cbr \u002F>\n * ‘vippsBuySingleProductCompatMode’ – filter which should return true or false, if true, the compatibility mode action will be run instead of the standard ajax.\u003Cbr \u002F>\n * ‘vippsBuySingleProductCompatModeAction’ – filter which should return a javascript function to run when buying a product and compatibility mode is on. Will normally press the “Buy” button for you.\u003Cbr \u002F>\n * ‘vippsRemoveErrorMessages’ – runs when Vipps MobilePay error messages are to be removed.\u003Cbr \u002F>\n * ‘vippsErrorMessage’ – runs for every Vipps MobilePay error message added with Javascript. Takes the message as an argument\u003Cbr \u002F>\n * ‘vippsAddErrorMessage’ – runs when an error message is about to be added. Takes the message as an argument\u003Cbr \u002F>\n * ‘vippsInit’  – runs when a page with a Vipps MobilePay button is initialzed\u003Cbr \u002F>\n * ‘vippsStatusCheckErrorHandler’ – A filter that should return function taking a statustext and an error object. It receives the default error handler, and is called when checking the order status with ajax for some reason ends up in an error.\u003C\u002Fp>\n","Official Vipps MobilePay payment plugin for WooCommerce.",5000,460643,13,"2026-03-26T10:53:00.000Z","6.3","8.0",[89,18,20,90,22],"mobilepay","vipps","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-vipps\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoo-vipps.5.3.2.zip","2023-12-27 00:00:00",{"slug":95,"name":96,"version":97,"author":90,"author_profile":98,"description":99,"short_description":100,"active_installs":101,"downloaded":102,"rating":103,"num_ratings":104,"last_updated":105,"tested_up_to":106,"requires_at_least":107,"requires_php":52,"tags":108,"homepage":109,"download_link":110,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"vipps-recurring-payments-gateway-for-woocommerce","Vipps\u002FMobilePay recurring payments for WooCommerce","2.1.3.1","https:\u002F\u002Fprofiles.wordpress.org\u002Fvipps\u002F","\u003Cp>Vipps\u002FMobilePay recurring payments is perfect if you run a shop with subscription based services or products that would benefit from subscriptions.\u003C\u002Fp>\n\u003Ch3>Deprecation notice\u003C\u002Fh3>\n\u003Cp>This plugin has been deprecated and merged into \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-vipps\u002F\" rel=\"ugc\">Pay with Vipps and MobilePay for WooCommerce\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>This plugin will no longer receive updates.\u003C\u002Fp>\n\u003Ch3>Vipps\u002FMobilePay recurring payments\u003C\u002Fh3>\n\u003Cp>\u003Cem>Official Vipps\u002FMobilePay recurring payments plugin for WooCommerce. Branded locally as MobilePay in Denmark and Finland, and as Vipps in Norway. One platform gathering more than 11 million users and more than 400.000 merchants across the Nordics. Give your users an easy, fast and familiar shopping experience.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>This is the official Vipps\u002FMobilePay recurring payments plugin for WooCommerce. It is owned by \u003Ca href=\"https:\u002F\u002Fvippsmobilepay.com\" rel=\"nofollow ugc\">Vipps MobilePay\u003C\u002Fa> and maintained by \u003Ca href=\"https:\u002F\u002Feveryday.no\" rel=\"nofollow ugc\">Everyday AS\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>We encourage you to create an issue here or on the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvippsas\u002Fvipps-recurring-woocommerce\u002Fissues\" rel=\"nofollow ugc\">GitHub page\u003C\u002Fa> if you require assistance or run in to a problem.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Vipps\u002FMobilePay recurring payments is perfect for you if you run a web shop with subscription based services or other products that would benefit from subscriptions.\u003C\u002Fp>\n\u003Cp>With Vipps\u002FMobilePay recurring payments you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sell recurring products (virtual and physical)\u003C\u002Fli>\n\u003Cli>Offer subscription services\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fdeveloper.vippsmobilepay.com\u002Fdocs\u002FAPIs\u002Frecurring-api\u002Fhow-it-works\u002Frecurring-api-howitworks\u002F\" rel=\"nofollow ugc\">How it works\u003C\u002Fa> for an overview.\u003C\u002Fp>\n\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WooCommerce 3.3.4 or newer\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fwoocommerce-subscriptions\u002F\" rel=\"nofollow ugc\">WooCommerce Subscriptions\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003Cli>An SSL certificate must be installed and configured\u003C\u002Fli>\n\u003Cli>Port 443 must not be blocked for outgoing traffic\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Getting started\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Sign up for a merchant agreement and product order from Vipps MobilePay merchant portal.\u003C\u002Fli>\n\u003Cli>After 1-2 days, you will get an email with login details to \u003Ca href=\"https:\u002F\u002Fportal.vippsmobilepay.com\" rel=\"nofollow ugc\">portal.vippsmobilepay.com\u003C\u002Fa>, where you can get the API credentials.\u003C\u002Fli>\n\u003Cli>Download and install the plugin.\u003C\u002Fli>\n\u003Cli>Configure the plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Known bugs\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Synchronized products can not be paid via Vipps MobilePay when using KCO if the price at this moment in time is 0.\u003C\u002Fli>\n\u003C\u002Ful>\n","Vipps\u002FMobilePay recurring payments is perfect if you run a shop with subscription based services or products that would benefit from subscriptions.",90,17728,46,3,"2025-10-14T12:08:00.000Z","6.7.5","6.1",[89,18,20,90,55],"","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvipps-recurring-payments-gateway-for-woocommerce.2.1.3.1.zip",{"slug":112,"name":113,"version":114,"author":115,"author_profile":116,"description":117,"short_description":118,"active_installs":33,"downloaded":119,"rating":11,"num_ratings":11,"last_updated":120,"tested_up_to":121,"requires_at_least":15,"requires_php":52,"tags":122,"homepage":125,"download_link":126,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"cancellation-surveys-offers-for-woo-subscriptions","Cancellation Survey and Offers for Woo Subscriptions","2.0.0","meowcrew","https:\u002F\u002Fprofiles.wordpress.org\u002Fmeowcrew\u002F","\u003Cp>Subscriptions can be canceled for many reasons. By learning these reasons through surveys and responding with appropriate offers, you can turn a potential cancellation into a continued subscription.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FALtVGbFax-g?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>Important links:\u003Cbr \u002F>\n\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmeow-crew.com\u002Fplugin\u002Fcancellation-survey-and-offers-for-woocommerce-subscriptions\" rel=\"nofollow ugc\">Premium Version Page\u003C\u002Fa>\u003C\u002Fstrong> | \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fcancellation.meow-crew.com\u002Fdemo\" rel=\"nofollow ugc\">Demo for Plugin Testing\u003C\u002Fa>\u003C\u002Fstrong> | \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmeow-crew.com\u002Fdocumentation\u002Fcancellation-surveys-offers-for-woo-subscriptions-documentation\" rel=\"nofollow ugc\">Plugin Documentation\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Cancellation Survey and Offers for WooCommerce Subscriptions helps you keep more subscribers by addressing their concerns when they decide to cancel. This plugin lets you set up surveys to understand why customers are leaving and offers them discounts, or skip next renewal to encourage them to stay.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Customizable Feedback Forms\u003C\u002Fstrong>: Create surveys to understand why customers want to stop their subscriptions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conditional Multi-Offers\u003C\u002Fstrong>: Create multiple different offers within a single survey and trigger specific discounts based on the customer’s specific cancellation reason.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ask for details\u003C\u002Fstrong>: Specify certain cancellation reasons that require users to provide a detailed response.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Extended text editor\u003C\u002Fstrong>: Use the extended editor in survey descriptions to attach media, style your text, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Segmented Surveys\u003C\u002Fstrong>: Make different surveys for various types of products and categories as well as user roles or accounts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Detailed Analytics\u003C\u002Fstrong>: Track each cancellation attempt, cancellation reasons, and (in the premium version) the performance of retention offers in the survey dashboard.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Numerous Hooks\u003C\u002Fstrong>: Both survey and retention offer popups include multiple hooks for adding custom text, media, and more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Premium Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automated Retention Offers\u003C\u002Fstrong>: Automatically offer retention incentives if certain survey answers are chosen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Targeted Logic\u003C\u002Fstrong>: Link different survey answers to different offers (e.g., offer a “Price” respondent a 50% discount, while offering a “Moving away” respondent a “Skip Renewal” option).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Offer discounts\u003C\u002Fstrong>: Apply a discount to the user’s subscription when they accept a retention offer to keep their subscription.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Offer to skip renewal\u003C\u002Fstrong>: Allow users to postpone their next renewal by one subscription period instead of canceling.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Inherits Coupon Code Capabilities\u003C\u002Fstrong>: Plugin’s discount offers are based on coupon codes, so you can utilize all features of coupon codes to create discounts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Subscription Duration Limits\u003C\u002Fstrong>: Limit on whom discounts are offered based on how long the subscription has been active.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Retention offers for trials\u003C\u002Fstrong>: Exclude users still in their free trial from receiving retention offers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin works with WooCommerce’s recurring coupon codes to offer discounts when someone tries to cancel their subscription. It includes all the features of recurring coupon codes, such as fixed amount off, percentage off, or discounts for a set number of renewals. Additionally, since the discount system is based on regular WooCommerce coupons, you can enhance your discount strategies by integrating with other plugins that enhance coupon codes (like Smart Coupons). This combination gives you greater control over your discount offers, making it easier to tailor them to specific subscription scenarios.\u003C\u002Fp>\n\u003Ch3>How to use\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Create cancellation survey\u003C\u002Fstrong> – Design and deploy surveys to understand why customers might cancel their subscriptions. These surveys can be tailored to specific subscriber segments and product types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add multiple retention offers\u003C\u002Fstrong> – Create one or more offers (discounts or skip renewal) within your survey. You can now map specific survey answers to specific offers, allowing for a highly personalized retention strategy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Set limits to users, subscriptions, and products\u003C\u002Fstrong> – Set restrictions to control who can receive retention offers and under what conditions. Set parameters based on user roles, subscription duration, and product categories.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Test surveys and offers\u003C\u002Fstrong> – Make a test purchase and attempt to cancel. Verify that different survey answers trigger the correct corresponding offers as configured.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Track retention success in dashboard\u003C\u002Fstrong> – Go to Survey Answers in the Surveys & Offers tab to view analytics on which specific offers are performing best for specific cancellation reasons.\u003C\u002Fli>\n\u003C\u002Fol>\n","Increase retention for WooCommerce Subscriptions by making retention offers (discounts or skip renewal), and collecting feedback with surveys when cus &hellip;",1715,"2026-03-28T10:52:00.000Z","7.0",[123,70,19,124,55],"discounts","survey","https:\u002F\u002Fmeow-crew.com\u002Fplugin\u002Fcancellation-surveys-offers-for-woocommerce-subscriptions","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcancellation-surveys-offers-for-woo-subscriptions.2.0.0.zip",{"attackSurface":128,"codeSignals":306,"taintFlows":654,"riskAssessment":721,"analyzedAt":731},{"hooks":129,"ajaxHandlers":278,"restRoutes":302,"shortcodes":303,"cronEvents":304,"entryPointCount":305,"unprotectedCount":31},[130,136,141,145,150,154,158,162,167,170,172,175,178,179,183,186,189,191,193,195,199,203,207,210,214,219,222,226,230,234,238,241,245,248,252,255,259,262,265,269,274],{"type":131,"name":132,"callback":133,"file":134,"line":135},"filter","woocommerce_product_data_tabs","sfrp_add_subscription_tab","admin\\class-sfrp-simple-subscription.php",48,{"type":137,"name":138,"callback":139,"file":134,"line":140},"action","woocommerce_product_data_panels","sfrp_add_subscription_panel",49,{"type":137,"name":142,"callback":143,"file":134,"line":144},"woocommerce_process_product_meta","sfrp_save_subscription_product_data",50,{"type":137,"name":146,"callback":147,"priority":148,"file":134,"line":149},"woocommerce_after_product_object_save","sfrp_sync_product_after_save",10,56,{"type":137,"name":151,"callback":152,"file":134,"line":153},"add_meta_boxes","sfrp_add_sync_metabox",63,{"type":137,"name":155,"callback":156,"priority":148,"file":134,"line":157},"woocommerce_product_duplicate","sfrp_clear_sf_ids_on_duplicate",66,{"type":137,"name":159,"callback":160,"priority":148,"file":134,"line":161},"dp_duplicate_product","sfrp_clear_sf_ids_on_duplicate_legacy",67,{"type":137,"name":163,"callback":164,"priority":165,"file":166,"line":135},"admin_menu","add_admin_menu",20,"admin\\class-sfrp-subscription-admin-page.php",{"type":137,"name":168,"callback":169,"file":166,"line":140},"admin_enqueue_scripts","enqueue_admin_scripts",{"type":137,"name":168,"callback":169,"file":171,"line":135},"admin\\class-sfrp-subscription-admin.php",{"type":137,"name":163,"callback":164,"priority":33,"file":173,"line":174},"admin\\class-sfrp-subscriptionflow-settings.php",47,{"type":137,"name":176,"callback":177,"file":173,"line":135},"admin_init","register_settings",{"type":137,"name":168,"callback":169,"file":173,"line":140},{"type":137,"name":180,"callback":181,"priority":148,"file":182,"line":140},"woocommerce_product_after_variable_attributes","sfrp_add_variation_subscription_fields","admin\\class-sfrp-variable-subscription.php",{"type":137,"name":184,"callback":185,"priority":148,"file":182,"line":144},"woocommerce_save_product_variation","sfrp_save_variation_subscription_fields",{"type":137,"name":146,"callback":187,"priority":165,"file":182,"line":188},"sfrp_sync_all_variations_on_parent_save",58,{"type":137,"name":151,"callback":152,"file":182,"line":190},62,{"type":137,"name":155,"callback":156,"priority":148,"file":182,"line":192},68,{"type":137,"name":159,"callback":160,"priority":148,"file":182,"line":194},69,{"type":131,"name":196,"callback":197,"priority":148,"file":198,"line":140},"woocommerce_add_to_cart_validation","validate_subscription_add_to_cart","frontend\\class-sfrp-subscription-cart.php",{"type":131,"name":200,"callback":201,"priority":148,"file":198,"line":202},"woocommerce_add_cart_item_data","add_subscription_data_to_cart_item",52,{"type":131,"name":204,"callback":205,"priority":148,"file":198,"line":206},"woocommerce_get_cart_item_from_session","get_cart_item_from_session",55,{"type":131,"name":208,"callback":209,"priority":148,"file":198,"line":188},"woocommerce_add_cart_item","set_subscription_price_on_add",{"type":131,"name":211,"callback":212,"priority":148,"file":198,"line":213},"woocommerce_get_item_data","display_subscription_data_in_cart",61,{"type":137,"name":215,"callback":216,"priority":217,"file":198,"line":218},"woocommerce_before_calculate_totals","calculate_subscription_price",999,64,{"type":137,"name":220,"callback":221,"priority":148,"file":198,"line":161},"woocommerce_checkout_create_order_line_item","save_subscription_to_order",{"type":131,"name":223,"callback":224,"priority":148,"file":198,"line":225},"woocommerce_order_item_display_meta_key","display_subscription_meta_key",70,{"type":131,"name":227,"callback":228,"priority":148,"file":198,"line":229},"woocommerce_order_item_display_meta_value","display_subscription_meta_value",71,{"type":137,"name":231,"callback":232,"file":198,"line":233},"template_redirect","sfrp_setup_checkout_button_hooks",74,{"type":137,"name":235,"callback":236,"file":198,"line":237},"wp_enqueue_scripts","sfrp_enqueue_block_checkout_scripts",77,{"type":137,"name":235,"callback":239,"file":198,"line":240},"sfrp_enqueue_classic_checkout_scripts",80,{"type":137,"name":242,"callback":243,"priority":165,"file":198,"line":244},"woocommerce_proceed_to_checkout","sfrp_display_commerceflow_button",548,{"type":137,"name":231,"callback":246,"priority":165,"file":198,"line":247},"sfrp_prevent_wc_checkout_access",551,{"type":137,"name":249,"callback":250,"file":251,"line":135},"woocommerce_before_add_to_cart_button","display_subscription_widget","frontend\\class-sfrp-subscription-frontend.php",{"type":137,"name":235,"callback":253,"file":251,"line":254},"enqueue_frontend_assets",51,{"type":137,"name":256,"callback":257,"priority":148,"file":258,"line":144},"woocommerce_payment_complete","sfrp_process_order_to_subscriptionflow","frontend\\class-sfrp-subscription-thankyou.php",{"type":137,"name":260,"callback":257,"priority":148,"file":258,"line":261},"woocommerce_order_status_processing",53,{"type":137,"name":263,"callback":257,"priority":148,"file":258,"line":264},"woocommerce_order_status_completed",54,{"type":137,"name":266,"callback":267,"file":258,"line":268},"woocommerce_admin_order_data_after_billing_address","sfrp_display_sfrp_customer_id_in_admin",57,{"type":137,"name":270,"callback":271,"priority":11,"file":272,"line":273},"plugins_loaded","init","includes\\class-sfrp-subscription-management.php",99,{"type":137,"name":275,"callback":276,"file":272,"line":277},"admin_notices","woocommerce_missing_notice",108,[279,284,288,292,294,296,297,300],{"action":280,"nopriv":281,"callback":282,"hasNonce":283,"hasCapCheck":283,"file":134,"line":47},"sfrp_sync_product_to_subscriptionflow",false,"sfrp_ajax_sync_product_to_subscriptionflow",true,{"action":285,"nopriv":281,"callback":286,"hasNonce":283,"hasCapCheck":283,"file":182,"line":287},"sfrp_sync_variable_product_to_subscriptionflow","sfrp_ajax_sync_variable_product_to_subscriptionflow",65,{"action":289,"nopriv":281,"callback":290,"hasNonce":283,"hasCapCheck":281,"file":198,"line":291},"sfrp_get_commerceflow_url","sfrp_ajax_get_commerceflow_url",83,{"action":289,"nopriv":283,"callback":290,"hasNonce":283,"hasCapCheck":281,"file":198,"line":293},84,{"action":295,"nopriv":281,"callback":216,"hasNonce":283,"hasCapCheck":281,"file":251,"line":264},"sfrp_calculate_subscription_price",{"action":295,"nopriv":283,"callback":216,"hasNonce":283,"hasCapCheck":281,"file":251,"line":206},{"action":298,"nopriv":281,"callback":299,"hasNonce":281,"hasCapCheck":281,"file":251,"line":188},"sfrp_get_variation_subscription_data","get_variation_subscription_data",{"action":298,"nopriv":283,"callback":299,"hasNonce":281,"hasCapCheck":281,"file":251,"line":301},59,[],[],[],8,{"dangerousFunctions":307,"sqlUsage":308,"outputEscaping":310,"fileOperations":651,"externalRequests":651,"nonceChecks":652,"capabilityChecks":104,"bundledLibraries":653},[],{"prepared":11,"raw":11,"locations":309},[],{"escaped":311,"rawEcho":312,"locations":313},400,174,[314,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,559,561,563,564,566,568,570,571,573,575,577,579,580,581,582,584,586,588,590,592,594,596,598,599,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,633,635,636,638,640,642,644,646,648,650],{"file":134,"line":315,"context":316},120,"raw output",{"file":134,"line":318,"context":316},130,{"file":134,"line":320,"context":316},134,{"file":134,"line":322,"context":316},141,{"file":134,"line":324,"context":316},148,{"file":134,"line":326,"context":316},159,{"file":134,"line":328,"context":316},166,{"file":134,"line":330,"context":316},168,{"file":134,"line":332,"context":316},169,{"file":134,"line":334,"context":316},170,{"file":134,"line":336,"context":316},171,{"file":134,"line":338,"context":316},208,{"file":134,"line":340,"context":316},212,{"file":134,"line":342,"context":316},213,{"file":134,"line":344,"context":316},214,{"file":134,"line":346,"context":316},246,{"file":134,"line":348,"context":316},247,{"file":134,"line":350,"context":316},251,{"file":134,"line":352,"context":316},255,{"file":134,"line":354,"context":316},259,{"file":134,"line":356,"context":316},267,{"file":134,"line":358,"context":316},268,{"file":134,"line":360,"context":316},280,{"file":134,"line":362,"context":316},327,{"file":134,"line":364,"context":316},328,{"file":134,"line":366,"context":316},332,{"file":134,"line":368,"context":316},337,{"file":134,"line":370,"context":316},339,{"file":134,"line":372,"context":316},340,{"file":134,"line":374,"context":316},341,{"file":134,"line":376,"context":316},342,{"file":134,"line":378,"context":316},343,{"file":134,"line":380,"context":316},344,{"file":134,"line":382,"context":316},352,{"file":134,"line":384,"context":316},354,{"file":134,"line":386,"context":316},356,{"file":134,"line":388,"context":316},374,{"file":134,"line":390,"context":316},377,{"file":134,"line":392,"context":316},383,{"file":134,"line":394,"context":316},389,{"file":134,"line":396,"context":316},395,{"file":134,"line":398,"context":316},752,{"file":134,"line":400,"context":316},759,{"file":134,"line":402,"context":316},763,{"file":166,"line":404,"context":316},107,{"file":166,"line":406,"context":316},113,{"file":166,"line":408,"context":316},119,{"file":166,"line":315,"context":316},{"file":166,"line":411,"context":316},121,{"file":166,"line":413,"context":316},122,{"file":166,"line":415,"context":316},123,{"file":166,"line":417,"context":316},124,{"file":166,"line":419,"context":316},125,{"file":166,"line":421,"context":316},126,{"file":166,"line":423,"context":316},145,{"file":166,"line":425,"context":316},176,{"file":166,"line":427,"context":316},223,{"file":173,"line":429,"context":316},466,{"file":173,"line":431,"context":316},473,{"file":173,"line":433,"context":316},484,{"file":173,"line":435,"context":316},486,{"file":173,"line":437,"context":316},489,{"file":173,"line":439,"context":316},501,{"file":173,"line":441,"context":316},509,{"file":173,"line":443,"context":316},524,{"file":173,"line":445,"context":316},532,{"file":173,"line":447,"context":316},547,{"file":173,"line":449,"context":316},555,{"file":173,"line":451,"context":316},570,{"file":173,"line":453,"context":316},578,{"file":173,"line":455,"context":316},624,{"file":173,"line":457,"context":316},632,{"file":173,"line":459,"context":316},645,{"file":173,"line":461,"context":316},655,{"file":173,"line":463,"context":316},659,{"file":173,"line":465,"context":316},667,{"file":173,"line":467,"context":316},680,{"file":173,"line":469,"context":316},690,{"file":173,"line":471,"context":316},700,{"file":173,"line":473,"context":316},703,{"file":173,"line":475,"context":316},711,{"file":173,"line":477,"context":316},722,{"file":173,"line":479,"context":316},726,{"file":173,"line":481,"context":316},734,{"file":173,"line":483,"context":316},743,{"file":173,"line":485,"context":316},747,{"file":173,"line":487,"context":316},755,{"file":173,"line":489,"context":316},766,{"file":173,"line":491,"context":316},770,{"file":173,"line":493,"context":316},778,{"file":173,"line":495,"context":316},789,{"file":173,"line":497,"context":316},793,{"file":173,"line":499,"context":316},801,{"file":173,"line":501,"context":316},812,{"file":173,"line":503,"context":316},816,{"file":173,"line":505,"context":316},825,{"file":173,"line":507,"context":316},828,{"file":173,"line":509,"context":316},836,{"file":173,"line":511,"context":316},846,{"file":173,"line":513,"context":316},849,{"file":173,"line":515,"context":316},852,{"file":173,"line":517,"context":316},856,{"file":173,"line":519,"context":316},864,{"file":173,"line":521,"context":316},875,{"file":173,"line":523,"context":316},879,{"file":173,"line":525,"context":316},887,{"file":173,"line":527,"context":316},888,{"file":173,"line":529,"context":316},901,{"file":173,"line":531,"context":316},909,{"file":173,"line":533,"context":316},910,{"file":173,"line":535,"context":316},923,{"file":173,"line":537,"context":316},931,{"file":173,"line":539,"context":316},943,{"file":173,"line":541,"context":316},951,{"file":173,"line":543,"context":316},963,{"file":173,"line":545,"context":316},968,{"file":173,"line":547,"context":316},1207,{"file":173,"line":549,"context":316},1231,{"file":173,"line":551,"context":316},1233,{"file":173,"line":553,"context":316},1240,{"file":173,"line":555,"context":316},1248,{"file":173,"line":557,"context":316},1264,{"file":182,"line":25,"context":316},{"file":182,"line":560,"context":316},111,{"file":182,"line":562,"context":316},115,{"file":182,"line":413,"context":316},{"file":182,"line":565,"context":316},129,{"file":182,"line":567,"context":316},139,{"file":182,"line":569,"context":316},146,{"file":182,"line":324,"context":316},{"file":182,"line":572,"context":316},149,{"file":182,"line":574,"context":316},150,{"file":182,"line":576,"context":316},151,{"file":182,"line":578,"context":316},157,{"file":182,"line":326,"context":316},{"file":182,"line":332,"context":316},{"file":182,"line":312,"context":316},{"file":182,"line":583,"context":316},178,{"file":182,"line":585,"context":316},179,{"file":182,"line":587,"context":316},180,{"file":182,"line":589,"context":316},190,{"file":182,"line":591,"context":316},191,{"file":182,"line":593,"context":316},195,{"file":182,"line":595,"context":316},199,{"file":182,"line":597,"context":316},203,{"file":182,"line":342,"context":316},{"file":182,"line":344,"context":316},{"file":182,"line":601,"context":316},225,{"file":182,"line":603,"context":316},272,{"file":182,"line":605,"context":316},273,{"file":182,"line":607,"context":316},277,{"file":182,"line":609,"context":316},282,{"file":182,"line":611,"context":316},284,{"file":182,"line":613,"context":316},285,{"file":182,"line":615,"context":316},286,{"file":182,"line":617,"context":316},287,{"file":182,"line":619,"context":316},288,{"file":182,"line":621,"context":316},289,{"file":182,"line":623,"context":316},297,{"file":182,"line":625,"context":316},299,{"file":182,"line":627,"context":316},301,{"file":182,"line":629,"context":316},316,{"file":182,"line":631,"context":316},319,{"file":182,"line":362,"context":316},{"file":182,"line":634,"context":316},335,{"file":182,"line":378,"context":316},{"file":182,"line":637,"context":316},745,{"file":182,"line":639,"context":316},751,{"file":251,"line":641,"context":316},388,{"file":258,"line":643,"context":316},1367,{"file":258,"line":645,"context":316},1370,{"file":258,"line":647,"context":316},1378,{"file":258,"line":649,"context":316},1387,{"file":272,"line":322,"context":316},5,9,[],[655,672,683,691,710],{"entryPoint":656,"graph":657,"unsanitizedCount":48,"severity":671},"render_admin_page (admin\\class-sfrp-subscription-admin-page.php:94)",{"nodes":658,"edges":669},[659,664],{"id":660,"type":661,"label":662,"file":166,"line":663},"n0","source","$_GET",97,{"id":665,"type":666,"label":667,"file":166,"line":427,"wp_function":668},"n1","sink","echo() [XSS]","echo",[670],{"from":660,"to":665,"sanitized":281},"medium",{"entryPoint":673,"graph":674,"unsanitizedCount":11,"severity":682},"\u003Cclass-sfrp-simple-subscription> (admin\\class-sfrp-simple-subscription.php:0)",{"nodes":675,"edges":680},[676,679],{"id":660,"type":661,"label":677,"file":134,"line":678},"$_POST",614,{"id":665,"type":666,"label":667,"file":134,"line":485,"wp_function":668},[681],{"from":660,"to":665,"sanitized":283},"low",{"entryPoint":684,"graph":685,"unsanitizedCount":48,"severity":682},"\u003Cclass-sfrp-subscription-admin-page> (admin\\class-sfrp-subscription-admin-page.php:0)",{"nodes":686,"edges":689},[687,688],{"id":660,"type":661,"label":662,"file":166,"line":663},{"id":665,"type":666,"label":667,"file":166,"line":427,"wp_function":668},[690],{"from":660,"to":665,"sanitized":281},{"entryPoint":692,"graph":693,"unsanitizedCount":11,"severity":682},"render_settings_page (admin\\class-sfrp-subscriptionflow-settings.php:332)",{"nodes":694,"edges":707},[695,697,701,704],{"id":660,"type":661,"label":696,"file":173,"line":384},"$_POST (x17)",{"id":665,"type":666,"label":698,"file":173,"line":699,"wp_function":700},"update_option() [Settings Manipulation]",394,"update_option",{"id":702,"type":661,"label":703,"file":173,"line":384},"n2","$_POST (x11)",{"id":705,"type":666,"label":667,"file":173,"line":706,"wp_function":668},"n3",519,[708,709],{"from":660,"to":665,"sanitized":283},{"from":702,"to":705,"sanitized":283},{"entryPoint":711,"graph":712,"unsanitizedCount":11,"severity":682},"\u003Cclass-sfrp-subscriptionflow-settings> (admin\\class-sfrp-subscriptionflow-settings.php:0)",{"nodes":713,"edges":718},[714,715,716,717],{"id":660,"type":661,"label":696,"file":173,"line":384},{"id":665,"type":666,"label":698,"file":173,"line":699,"wp_function":700},{"id":702,"type":661,"label":703,"file":173,"line":384},{"id":705,"type":666,"label":667,"file":173,"line":706,"wp_function":668},[719,720],{"from":660,"to":665,"sanitized":283},{"from":702,"to":705,"sanitized":283},{"summary":722,"deductions":723},"The \"subscriptionflow-recurring-payments-for-woocommerce\" plugin, version 1.0.4, exhibits a mixed security posture. On the positive side, it demonstrates good practices by utilizing prepared statements for all SQL queries and has a clean vulnerability history with no recorded CVEs.  The presence of nonces and capability checks, while not exhaustive across all entry points, suggests an awareness of common WordPress security mechanisms. However, the analysis reveals a notable concern with its attack surface, specifically two AJAX handlers that lack authentication checks.  Furthermore, the taint analysis identified two flows with unsanitized paths, which, while not classified as critical or high, represent potential avenues for malicious input to be processed without adequate sanitization. The relatively high percentage of improperly escaped output also adds to the risk, particularly if sensitive data is involved in those outputs.",[724,726,729],{"reason":725,"points":148},"Unprotected AJAX handlers",{"reason":727,"points":728},"Flows with unsanitized paths",6,{"reason":730,"points":728},"Improperly escaped output (29% unsanitized)","2026-03-17T07:30:51.020Z",{"wat":733,"direct":740},{"assetPaths":734,"generatorPatterns":736,"scriptPaths":737,"versionParams":738},[735],"\u002Fwp-content\u002Fplugins\u002Fsubscriptionflow-recurring-payments-for-woocommerce\u002Fassets\u002Fcss\u002Fsfrp-admin-page.css",[],[],[739],"sfrp-admin-page.css?ver=",{"cssClasses":741,"htmlComments":751,"htmlAttributes":752,"restEndpoints":753,"jsGlobals":754,"shortcodeOutput":755},[742,743,744,745,746,747,748,749,750],"sf-subscriptions-admin","column-order","column-customer","column-product","column-schedule","column-discount","column-price","column-date","column-status",[],[],[],[],[],{"error":283,"url":757,"statusCode":758,"statusMessage":759,"message":759},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fsubscriptionflow-recurring-payments-for-woocommerce\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":48,"versions":761},[762],{"version":763,"download_url":764,"svn_tag_url":765,"released_at":26,"has_diff":281,"diff_files_changed":766,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":767,"is_current":281},"1.0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsubscriptionflow-recurring-payments-for-woocommerce.1.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsubscriptionflow-recurring-payments-for-woocommerce\u002Ftags\u002F1.0.4\u002F",[],[]]