{"id":335637,"date":"2026-07-13T11:48:16","date_gmt":"2026-07-13T11:48:16","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/callfusionai-abandoned-cart\/"},"modified":"2026-07-13T13:20:56","modified_gmt":"2026-07-13T13:20:56","slug":"callfusionai-abandoned-cart","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/callfusionai-abandoned-cart\/","author":21015454,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.0.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"CallFusionAI Abandoned Cart","header_author":"CallFusionAI","header_description":"Tracks WooCommerce checkout abandonment and sends data to CallFusionAI so AI agents can recover lost sales via phone calls.","assets_banners_color":"adacdf","last_updated":"2026-07-13 13:20:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/callfusionaiapp.vidushiinfotech.com\/support","rating":0,"author_block_rating":0,"active_installs":0,"downloads":20,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"vidushiinfotech","date":"2026-07-13 13:20:56"}},"upgrade_notice":{"1.0.5":"<p>Reliability fix: plugin no longer risks a fatal error if WooCommerce is deactivated while this plugin stays active. Also adds translation support and optional debug logging.<\/p>","1.0.4":"<p>Internal fix: checkout-capture script now loads via wp_enqueue_script() instead of an inline tag. No action needed.<\/p>","1.0.3":"<p>Credentials are now pushed to the plugin automatically by CallFusionAI after store connection. No manual settings entry needed.<\/p>","1.0.2":"<p>Security fix: removes debug logging that could expose customer email addresses in the browser console.<\/p>","1.0.1":"<p>Now captures customer first and last name during checkout, improving AI personalization.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3606101,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3606101,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3606101,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3606101,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3605978,"resolution":"1","location":"assets","locale":"","width":1359,"height":636},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3605978,"resolution":"2","location":"assets","locale":"","width":1358,"height":630},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3605978,"resolution":"3","location":"assets","locale":"","width":1358,"height":600},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3605978,"resolution":"4","location":"assets","locale":"","width":1362,"height":589},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3605978,"resolution":"5","location":"assets","locale":"","width":1358,"height":597}},"screenshots":{"1":"Plugin settings page \u2014 configure your Webhook URL, Store ID, and Secret (auto-filled automatically when you connect via the CallFusionAI dashboard, no manual entry needed)","2":"Recent captured checkouts with delivery status, plus a one-click Test Webhook button to verify connectivity","3":"CallFusionAI dashboard \u2014 recovered revenue, recovery rate, and call analytics for your store","4":"CallFusionAI dashboard \u2014 recovery funnel and 7-day revenue trend","5":"Manage all your connected stores in one place, grouped by platform (Shopify, WooCommerce, Magento)"}},"plugin_section":[],"plugin_tags":[15962,271350,11133,271351,286],"plugin_category":[45],"plugin_contributors":[223206],"plugin_business_model":[],"class_list":["post-335637","plugin","type-plugin","status-publish","hentry","plugin_tags-abandoned-cart","plugin_tags-ai-calling","plugin_tags-cart-recovery","plugin_tags-checkout-tracking","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-vidushiinfotech","plugin_committers-vidushiinfotech"],"banners":{"banner":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/banner-772x250.png?rev=3606101","banner_2x":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/banner-1544x500.png?rev=3606101","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/icon-128x128.png?rev=3606101","icon_2x":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/icon-256x256.png?rev=3606101","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/screenshot-1.png?rev=3605978","caption":"Plugin settings page \u2014 configure your Webhook URL, Store ID, and Secret (auto-filled automatically when you connect via the CallFusionAI dashboard, no manual entry needed)"},{"src":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/screenshot-2.png?rev=3605978","caption":"Recent captured checkouts with delivery status, plus a one-click Test Webhook button to verify connectivity"},{"src":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/screenshot-3.png?rev=3605978","caption":"CallFusionAI dashboard \u2014 recovered revenue, recovery rate, and call analytics for your store"},{"src":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/screenshot-4.png?rev=3605978","caption":"CallFusionAI dashboard \u2014 recovery funnel and 7-day revenue trend"},{"src":"https:\/\/ps.w.org\/callfusionai-abandoned-cart\/assets\/screenshot-5.png?rev=3605978","caption":"Manage all your connected stores in one place, grouped by platform (Shopify, WooCommerce, Magento)"}],"raw_content":"<!--section=description-->\n<p><strong>CallFusionAI Abandoned Cart<\/strong> connects your WooCommerce store to <a href=\"https:\/\/callfusionaiapp.vidushiinfotech.com\">CallFusionAI<\/a> \u2014 an AI-powered abandoned cart recovery platform that calls customers back via phone to help them complete their purchase.<\/p>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>A customer visits your checkout page and enters their email\/phone<\/li>\n<li>If they leave without placing an order, this plugin captures the cart data<\/li>\n<li>The cart data is securely sent to CallFusionAI<\/li>\n<li>CallFusionAI's AI agent calls the customer, offers assistance, and can send a discount code or checkout link via SMS<\/li>\n<\/ol>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Captures checkout abandonment in real-time (on email blur, tab close via sendBeacon, and periodic polling)<\/li>\n<li>Stores captured checkouts locally in a custom DB table as a fallback<\/li>\n<li>Retries failed webhook deliveries automatically via WP Cron (every 15 minutes)<\/li>\n<li>Marks carts as recovered automatically when the customer places an order<\/li>\n<li>Admin settings page to configure webhook URL, store ID, and secret<\/li>\n<li>Test webhook button to verify connectivity from your WordPress admin<\/li>\n<li>Debug table showing last 10 captured checkouts with webhook status<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>A CallFusionAI account \u2014 <a href=\"https:\/\/callfusionaiapp.vidushiinfotech.com\/auth\/register\">sign up free at callfusionaiapp.vidushiinfotech.com<\/a><\/li>\n<li>WooCommerce 5.0 or later<\/li>\n<li>WordPress 6.0 or later<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin sends checkout data to the <strong>CallFusionAI<\/strong> service (https:\/\/callfusionaiapp.vidushiinfotech.com) when a customer abandons their cart on your WooCommerce checkout page.<\/p>\n\n<p><strong>What data is sent:<\/strong>\n* Customer email address\n* Customer phone number (if entered)\n* Customer first and last name (if entered)\n* Cart total and currency\n* Cart items (product name, quantity, price)\n* Checkout URL\n* A session token (hashed \u2014 no personally identifiable raw session ID)<\/p>\n\n<p><strong>When data is sent:<\/strong>\n* Immediately when a customer enters a valid email on the checkout page and leaves without placing an order\n* Retried every 15 minutes via WP Cron if the initial send fails<\/p>\n\n<p><strong>Why data is sent:<\/strong>\n* To enable CallFusionAI's AI agents to contact the customer and help them complete their purchase<\/p>\n\n<p><strong>CallFusionAI service links:<\/strong>\n* Website: https:\/\/callfusionaiapp.vidushiinfotech.com\n* Terms of Service: https:\/\/callfusionaiapp.vidushiinfotech.com\/terms\n* Privacy Policy: https:\/\/callfusionaiapp.vidushiinfotech.com\/privacy<\/p>\n\n<p>No data is sent to any other third party.<\/p>\n\n<!--section=installation-->\n<p><strong>Recommended \u2014 Auto-configure via CallFusionAI dashboard<\/strong><\/p>\n\n<ol>\n<li>In WordPress, go to <strong>Plugins \u2192 Add New<\/strong> and search for \"CallFusionAI Abandoned Cart\"<\/li>\n<li>Click <strong>Install Now<\/strong> then <strong>Activate<\/strong><\/li>\n<li>Log in to your CallFusionAI dashboard and connect your WooCommerce store \u2014 CallFusionAI will automatically push the webhook URL, store ID, and secret to the plugin. No manual settings entry needed.<\/li>\n<\/ol>\n\n<p><strong>Manual configuration (optional fallback)<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin as above<\/li>\n<li>Go to <strong>Settings \u2192 CallFusionAI<\/strong><\/li>\n<li>Enter your <strong>Webhook URL<\/strong>, <strong>Store ID<\/strong>, and <strong>Webhook Secret<\/strong> from your CallFusionAI dashboard<\/li>\n<li>Click <strong>Save Settings<\/strong><\/li>\n<li>Click <strong>Send Test Webhook<\/strong> to verify the connection<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20callfusionai%20account%3F\"><h3>Do I need a CallFusionAI account?<\/h3><\/dt>\n<dd><p>Yes. This plugin is the WooCommerce connector for the CallFusionAI platform. You need an active account at <a href=\"https:\/\/callfusionaiapp.vidushiinfotech.com\">callfusionaiapp.vidushiinfotech.com<\/a> to use it.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20my%20webhook%20url%2C%20store%20id%2C%20and%20secret%3F\"><h3>Where do I find my Webhook URL, Store ID, and Secret?<\/h3><\/dt>\n<dd><p>Log in to CallFusionAI \u2192 go to <strong>Stores<\/strong> \u2192 click your WooCommerce store \u2192 click <strong>Plugin Setup Info<\/strong>. All three values are shown there.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20with%20woocommerce%20blocks%20checkout%3F\"><h3>Does the plugin work with WooCommerce Blocks checkout?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses multiple capture methods (event listeners, polling, and sendBeacon on tab close) to handle both classic and Blocks checkout.<\/p><\/dd>\n<dt id=\"is%20customer%20data%20stored%20locally%3F\"><h3>Is customer data stored locally?<\/h3><\/dt>\n<dd><p>Yes. Captured checkouts are stored in a custom database table (<code>wp_callfusion_abandoned_checkouts<\/code>) as a fallback in case the webhook delivery fails. Data is retried and marked as sent once delivered. On plugin uninstall, this table is removed.<\/p><\/dd>\n<dt id=\"is%20the%20data%20transfer%20secure%3F\"><h3>Is the data transfer secure?<\/h3><\/dt>\n<dd><p>Yes. Every webhook request is signed with HMAC-SHA256 using a secret key unique to your store. CallFusionAI verifies this signature before processing the data.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20customer%20places%20an%20order%3F\"><h3>What happens when a customer places an order?<\/h3><\/dt>\n<dd><p>The plugin listens for the <code>woocommerce_checkout_order_created<\/code> hook and marks the matching cart as converted, preventing any recovery attempt.<\/p><\/dd>\n<dt id=\"can%20i%20test%20the%20connection%20without%20a%20real%20customer%3F\"><h3>Can I test the connection without a real customer?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Settings \u2192 CallFusionAI<\/strong> and click <strong>Send Test Webhook<\/strong> to fire a test payload to your CallFusionAI backend.<\/p><\/dd>\n<dt id=\"can%20i%20see%20why%20a%20webhook%20delivery%20failed%3F\"><h3>Can I see why a webhook delivery failed?<\/h3><\/dt>\n<dd><p>Yes. Turn on <strong>Enable debug logging<\/strong> on the Settings \u2192 CallFusionAI page, then check <strong>WooCommerce \u2192 Status \u2192 Logs<\/strong> for entries from source <code>callfusionai-abandoned-cart<\/code>. Off by default \u2014 nothing is logged unless you opt in.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Text domain corrected to <code>callfusionai-abandoned-cart<\/code> to match the plugin slug, per WordPress.org plugin review<\/li>\n<li>The <code>\/callfusion\/v1\/configure<\/code> REST endpoint now also verifies the WooCommerce API key has write permission and that its owning user can manage WooCommerce, instead of only checking the key\/secret pair exists, per WordPress.org plugin review<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fixed a fatal-error risk: checkout-script enqueue and AJAX capture handler now check WooCommerce is active before calling WooCommerce functions, instead of assuming it always is<\/li>\n<li>Added <code>Requires Plugins: woocommerce<\/code> header so WordPress blocks activation without WooCommerce installed<\/li>\n<li>Added full internationalization support (text domain <code>callfusion-abandoned-cart<\/code>, all admin-facing strings translatable)<\/li>\n<li>Added opt-in debug logging (via WC_Logger) for failed webhook deliveries \u2014 off by default, toggle on the settings page<\/li>\n<li>All <code>$_POST<\/code> values now unslashed with <code>wp_unslash()<\/code> before sanitization, per WordPress coding standards<\/li>\n<li>Custom-table queries now use <code>$wpdb-&gt;prepare()<\/code>'s <code>%i<\/code> identifier placeholder instead of interpolating the table name directly (bumped <code>Requires at least<\/code> to 6.2, which added <code>%i<\/code> support)<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Moved checkout-capture JavaScript out of an inline <code>wp_footer<\/code> script tag into a properly enqueued file (<code>wp_enqueue_script()<\/code> + <code>wp_localize_script()<\/code>), per WordPress.org plugin review guidelines<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Auto-configure support: added REST endpoint <code>\/wp-json\/callfusion\/v1\/configure<\/code> so CallFusionAI can push webhook credentials to the plugin automatically after OAuth \u2014 no manual settings entry needed<\/li>\n<li>Removed hardcoded default constants \u2014 all configuration now comes exclusively from <code>wp_options<\/code> (WordPress.org compliance)<\/li>\n<li>Removed external HTTP call on plugin activation<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Remove debug console.log that logged customer PII to browser console<\/li>\n<li>Use $wpdb-&gt;prepare() for all direct database queries<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Capture customer first\/last name during checkout abandonment (previously only email\/phone were sent)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Real-time checkout capture via JS (blur, polling, sendBeacon)<\/li>\n<li>Immediate webhook delivery with 15-minute cron retry fallback<\/li>\n<li>Order placed detection to prevent calling converted customers<\/li>\n<li>Admin settings page with test webhook button<\/li>\n<li>Debug table showing last 10 captured checkouts<\/li>\n<\/ul>","raw_excerpt":"Recover lost WooCommerce sales with AI phone calls. Tracks checkout abandonment and connects to CallFusionAI for automated recovery.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/335637","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=335637"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vidushiinfotech"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=335637"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=335637"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=335637"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=335637"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=335637"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=335637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}