{"id":312542,"date":"2026-05-14T07:27:32","date_gmt":"2026-05-14T07:27:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sdp-eu-withdrawal-for-woocommerce\/"},"modified":"2026-09-05T08:56:05","modified_gmt":"2026-09-05T08:56:05","slug":"sdp-eu-withdrawal-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/nl.wordpress.org\/plugins\/sdp-eu-withdrawal-for-woocommerce\/","author":23401577,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.0.1","stable_tag":"1.4.0.1","tested":"7.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"SDP EU Withdrawal for WooCommerce","header_author":"Simple Direct Plugins","header_description":"WooCommerce EU withdrawal request plugin with customer forms, admin review, guest support, and downloadable product eligibility checks.","assets_banners_color":"e4e3e7","last_updated":"2026-09-05 08:56:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/simpledirectplugins.com\/","rating":5,"author_block_rating":0,"active_installs":50,"downloads":1220,"num_ratings":1,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"simpledirectplugins","date":"2026-05-14 07:27:18","revision":3531693},"1.1.0":{"tag":"1.1.0","author":"simpledirectplugins","date":"2026-05-14 14:32:39","revision":3532139},"1.1.1":{"tag":"1.1.1","author":"simpledirectplugins","date":"2026-05-16 11:40:31","revision":3533739},"1.2.0":{"tag":"1.2.0","author":"simpledirectplugins","date":"2026-05-17 09:54:46","revision":3534429},"1.2.1":{"tag":"1.2.1","author":"simpledirectplugins","date":"2026-05-17 10:27:31","revision":3534447},"1.2.2":{"tag":"1.2.2","author":"simpledirectplugins","date":"2026-05-18 13:44:32","revision":3535724},"1.2.3":{"tag":"1.2.3","author":"simpledirectplugins","date":"2026-05-27 16:30:07","revision":3550987},"1.2.4":{"tag":"1.2.4","author":"simpledirectplugins","date":"2026-06-04 09:35:22","revision":3560604},"1.2.5":{"tag":"1.2.5","author":"simpledirectplugins","date":"2026-06-04 16:54:30","revision":3561326},"1.3.0":{"tag":"1.3.0","author":"simpledirectplugins","date":"2026-06-06 10:52:40","revision":3563058},"1.3.1":{"tag":"1.3.1","author":"simpledirectplugins","date":"2026-06-20 09:22:12","revision":3579637},"1.3.2":{"tag":"1.3.2","author":"simpledirectplugins","date":"2026-07-13 09:20:07","revision":3605736},"1.3.3":{"tag":"1.3.3","author":"simpledirectplugins","date":"2026-08-05 10:51:43","revision":3635267},"1.4.0":{"tag":"1.4.0","author":"simpledirectplugins","date":"2026-09-05 08:37:14","revision":3682262},"1.4.0.1":{"tag":"1.4.0.1","author":"simpledirectplugins","date":"2026-09-05 08:56:05","revision":3682286}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3533069,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3533069,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-es.png":{"filename":"banner-1544x500-es.png","revision":3536942,"resolution":"1544x500","location":"assets","locale":"es","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3534466,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-es.png":{"filename":"banner-772x250-es.png","revision":3536942,"resolution":"772x250","location":"assets","locale":"es","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3534466,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3682286,"resolution":false,"location":"assets","locale":"","contents":"{\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=wc-orders\",\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"sdp-eu-withdrawal-for-woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; delete_transient('sdp-eu-withdrawal-for-woocommerce-activado'); if (!is_dir(WPMU_PLUGIN_DIR)) { mkdir(WPMU_PLUGIN_DIR, 0777, true); } $plugin = <<<'PHP'\\n<?php\\nadd_action('admin_init', function() {\\n    if (!is_admin() || wp_doing_ajax()) {\\n        return;\\n    }\\n    if (!current_user_can('edit_shop_orders')) {\\n        return;\\n    }\\n    if (isset($_GET['page']) && 'wc-orders' === $_GET['page']) {\\n        return;\\n    }\\n    if (isset($_GET['page']) && 'wc-admin' === $_GET['page']) {\\n        wp_safe_redirect(admin_url('admin.php?page=wc-orders'));\\n        exit;\\n    }\\n});\\n\\nadd_action('admin_notices', function() {\\n    if (!isset($_GET['page']) || 'wc-orders' !== $_GET['page']) {\\n        return;\\n    }\\n\\n    echo '<div class=\\\"notice notice-info\\\"><p><strong>Demo tip:<\\\/strong> Click the eye icon in the Actions column to review the withdrawal request. Enjoy \\ud83d\\ude0a<\\\/p><\\\/div>';\\n});\\nPHP; file_put_contents(WPMU_PLUGIN_DIR . '\\\/sdpeuw-playground-redirect.php', $plugin); ?>\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; update_option('woocommerce_store_address', 'Demo Street 123'); update_option('woocommerce_store_city', 'Murcia'); update_option('woocommerce_default_country', 'ES:MU'); update_option('woocommerce_currency', 'EUR'); update_option('woocommerce_allow_tracking', 'no'); update_option('woocommerce_onboarding_profile', array('skipped' => true)); update_option('woocommerce_task_list_hidden_lists', array('setup','extended')); update_option('woocommerce_enable_guest_checkout', 'yes'); delete_transient('woocommerce_admin_installing'); if (class_exists('WC_Install')) { WC_Install::create_pages(); } ?>\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; update_user_meta(1, 'manageedit-shop_ordercolumnshidden', array()); update_user_meta(1, 'managewoocommerce_page_wc-orderscolumnshidden', array('origin')); ?>\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; update_option('sdpeuw_general_enable', 'yes'); update_option('sdpeuw_general_guest_order_support', 'yes'); update_option('sdpeuw_general_status', array('wc-completed')); update_option('sdpeuw_digital_waiver', 'yes'); ?>\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; $customer_id = username_exists('customer'); if (!$customer_id) { $customer_id = wp_create_user('customer', 'password', 'customer@example.com'); } wp_update_user(array('ID' => $customer_id, 'first_name' => 'John', 'last_name' => 'Doe')); update_user_meta($customer_id, 'billing_first_name', 'John'); update_user_meta($customer_id, 'billing_last_name', 'Doe'); update_user_meta($customer_id, 'billing_email', 'customer@example.com'); update_user_meta($customer_id, 'billing_country', 'ES'); ?>\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; $product = new WC_Product_Simple(); $product->set_name('Demo Physical Product'); $product->set_regular_price('49.99'); $product->set_status('publish'); $product->save(); ?>\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; $product = new WC_Product_Simple(); $product->set_name('Demo Digital Product'); $product->set_regular_price('19.99'); $product->set_virtual(true); $product->set_downloadable(true); $product->set_status('publish'); $product->save(); ?>\"},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php'; $customer = get_user_by('login', 'customer'); $products = wc_get_products(array('limit' => 2)); if ($customer && !empty($products)) { $order = wc_create_order(array('customer_id' => $customer->ID)); foreach ($products as $product) { $order->add_product($product, 1); } $order->set_address(array('first_name' => 'John','last_name' => 'Doe','email' => 'customer@example.com','country' => 'ES'),'billing'); $order->calculate_totals(); $order->update_status('completed'); $order->update_meta_data('_sdpeuw_withdrawal_waiver', 'yes'); $order->update_meta_data('_sdpeuw_withdrawal_waiver_text', 'I consent to the immediate delivery of the digital content and acknowledge that I lose my right of withdrawal once the download begins.'); $order->save(); $order_id = $order->get_id(); $now = time(); $request_id = wp_insert_post(array('post_type' => 'sdpeuw_request','post_status' => 'sdpeuw_pending','post_title' => 'Withdrawal request for order #' . $order->get_order_number())); if ($request_id && !is_wp_error($request_id)) { update_post_meta($request_id, '_sdpeuw_order_id', $order_id); update_post_meta($request_id, '_sdpeuw_order_number', $order->get_order_number()); update_post_meta($request_id, '_sdpeuw_created_at', $now); update_post_meta($request_id, '_sdpeuw_customer_id', $customer->ID); update_post_meta($request_id, '_sdpeuw_customer_email', 'customer@example.com'); update_post_meta($request_id, '_sdpeuw_customer_name', 'John Doe'); update_post_meta($request_id, '_sdpeuw_customer_company', ''); update_post_meta($request_id, '_sdpeuw_order_created_at', $now); update_post_meta($request_id, '_sdpeuw_eligibility_started_at', $now); update_post_meta($request_id, '_sdpeuw_eligibility_period', 14); update_post_meta($request_id, '_sdpeuw_deadline_at', $now + (14 * DAY_IN_SECONDS)); update_post_meta($request_id, '_sdpeuw_withdrawal_waiver', 'yes'); update_post_meta($request_id, '_sdpeuw_withdrawal_waiver_text', 'I consent to the immediate delivery of the digital content and acknowledge that I lose my right of withdrawal once the download begins.'); $order->add_meta_data('_sdpeuw_request_id', $request_id); $order->save(); SDPEUW_Log::add_log($request_id, 'Customer accepted the digital products withdrawal waiver during checkout.', 'withdrawal_waiver_accepted', 'customer', array('waiver_text' => 'I consent to the immediate delivery of the digital content and acknowledge that I lose my right of withdrawal once the download begins.'), $now - 120); SDPEUW_Log::add_log($request_id, 'Customer submitted withdrawal request.', 'request_created', 'customer', array('ip' => '81.45.22.113'), $now - 60); SDPEUW_Log::add_log($request_id, 'Pending withdrawal request notification sent to customer.', 'email_sent', 'system', array('type' => 'pending', 'user_email' => 'customer@example.com'), $now - 45); SDPEUW_Log::add_log($request_id, 'Administrator notification sent.', 'admin_notification', 'system', array('type' => 'pending', 'admin_email' => 'admin@example.com'), $now - 30); } } ?>\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.3.0","1.3.1","1.3.2","1.3.3","1.4.0","1.4.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3537404,"resolution":"1","location":"assets","locale":"","width":1202,"height":1308},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3537404,"resolution":"2","location":"assets","locale":"","width":1668,"height":943},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3535724,"resolution":"3","location":"assets","locale":"","width":1708,"height":1283},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3535724,"resolution":"4","location":"assets","locale":"","width":1707,"height":1000},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3535724,"resolution":"5","location":"assets","locale":"","width":1708,"height":1429},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3535724,"resolution":"6","location":"assets","locale":"","width":1707,"height":850},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3531693,"resolution":"7","location":"assets","locale":"","width":1696,"height":1476},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3566911,"resolution":"8","location":"assets","locale":"","width":1696,"height":1605}},"screenshots":{"1":"Customer withdrawal request form.","2":"Withdrawal request action button in the customer orders table.","3":"Admin withdrawal request summary screen.","4":"Customer details and purchase context.","5":"Complete request activity log.","6":"Request resolution interface.","7":"General settings.","8":"Email settings."}},"plugin_section":[],"plugin_tags":[14361,255182,5472,395,245590],"plugin_category":[],"plugin_contributors":[250806],"plugin_business_model":[],"class_list":["post-312542","plugin","type-plugin","status-publish","hentry","plugin_tags-compliance","plugin_tags-consumer-rights","plugin_tags-digital-products","plugin_tags-eu","plugin_tags-withdrawal","plugin_contributors-simpledirectplugins","plugin_committers-enriquejros","plugin_committers-simpledirectplugins","plugin_support_reps-enriquejros"],"banners":{"banner":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/banner-772x250.png?rev=3534466","banner_2x":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/banner-1544x500.png?rev=3534466","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/icon-128x128.png?rev=3533069","icon_2x":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/icon-256x256.png?rev=3533069","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-1.png?rev=3537404","caption":"Customer withdrawal request form."},{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-2.png?rev=3537404","caption":"Withdrawal request action button in the customer orders table."},{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-3.png?rev=3535724","caption":"Admin withdrawal request summary screen."},{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-4.png?rev=3535724","caption":"Customer details and purchase context."},{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-5.png?rev=3535724","caption":"Complete request activity log."},{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-6.png?rev=3535724","caption":"Request resolution interface."},{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-7.png?rev=3531693","caption":"General settings."},{"src":"https:\/\/ps.w.org\/sdp-eu-withdrawal-for-woocommerce\/assets\/screenshot-8.png?rev=3566911","caption":"Email settings."}],"raw_content":"<!--section=description-->\n<p><strong>SDP EU Withdrawal for WooCommerce<\/strong> extends the withdrawal functionality available in WooCommerce with a complete workflow for managing customer withdrawal requests from eligibility to final resolution.<\/p>\n\n<p>WooCommerce includes a basic mechanism for customers to communicate their intention to withdraw from an order. SDP EU Withdrawal goes further by helping stores determine when withdrawal requests are available, manage each request through a structured review process, and handle scenarios such as downloadable products, guest orders, product exclusions, and digital content waivers.<\/p>\n\n<p>Instead of simply receiving a withdrawal request and handling the rest manually, store administrators can review each request in WooCommerce, inspect its relevant details and activity, and approve or reject it with optional customer-facing comments.<\/p>\n\n<p>The plugin is especially useful for stores that need more control over <strong>when customers can request withdrawal and what happens after a request is submitted<\/strong>.<\/p>\n\n<h4>\ud83d\ude80 Try the live interactive demo<\/h4>\n\n<p>Experience the full admin review workflow instantly in a preconfigured WooCommerce demo environment \u2014 complete with sample orders, withdrawal requests, activity logs, and the full review interface.<\/p>\n\n<p><a href=\"https:\/\/playground.wordpress.net\/?blueprint-url=https:\/\/wordpress.org\/plugins\/wp-json\/plugins\/v1\/plugin\/sdp-eu-withdrawal-for-woocommerce\/blueprint.json\">Launch live demo<\/a><\/p>\n\n<h4>Watch the plugin in action<\/h4>\n\n<p>https:\/\/www.youtube.com\/watch?v=4CB_SXwjVqE<\/p>\n\n<h4>Beyond the built-in WooCommerce withdrawal feature<\/h4>\n\n<p>WooCommerce provides customers with a way to submit an order withdrawal request. SDP EU Withdrawal adds the tools needed to turn that initial request into a managed workflow.<\/p>\n\n<p>With SDP EU Withdrawal you can:<\/p>\n\n<ul>\n<li>Define which order statuses start the withdrawal eligibility period.<\/li>\n<li>Configure the length of the withdrawal period.<\/li>\n<li>Restrict withdrawal availability according to the customer's billing country.<\/li>\n<li>Automatically determine whether an order is still eligible.<\/li>\n<li>Review requests through a dedicated administrative interface.<\/li>\n<li>Approve or reject requests and optionally include a message for the customer.<\/li>\n<li>Maintain a detailed activity history for each request.<\/li>\n<li>Handle downloadable products and digital content withdrawal waivers.<\/li>\n<li>Detect download activity when determining digital product eligibility.<\/li>\n<li>Exclude individual products from the withdrawal workflow.<\/li>\n<\/ul>\n\n<p>This provides more control over the complete withdrawal process while keeping it integrated with WooCommerce orders and customer accounts.<\/p>\n\n<h4>\u2699\ufe0f Features<\/h4>\n\n<ul>\n<li>Structured withdrawal request workflow from submission to resolution.<\/li>\n<li>Automatic withdrawal eligibility based on configurable order statuses and time limits.<\/li>\n<li>Country-based withdrawal availability.<\/li>\n<li>Withdrawal requests directly from the customer's WooCommerce account.<\/li>\n<li>Optional guest support with secure token-based access.<\/li>\n<li>Dedicated admin review screen for every request.<\/li>\n<li>Approve or reject requests with optional customer-facing comments.<\/li>\n<li>Customer notifications for request submission, approval, and rejection.<\/li>\n<li>Mandatory administrator notifications for pending requests.<\/li>\n<li>Downloadable product withdrawal waiver support.<\/li>\n<li>Automatic download activity checks for downloadable products.<\/li>\n<li>Product-level withdrawal exclusions.<\/li>\n<li>Visual urgency indicators for pending and expired requests.<\/li>\n<li>Detailed request log with customer actions, notifications, and review history.<\/li>\n<li>Direct integration with WooCommerce orders.<\/li>\n<li>Integration with WordPress Privacy Tools (Export Personal Data and Erase Personal Data).<\/li>\n<li>Translation ready.<\/li>\n<li>Completely translated into Spanish.<\/li>\n<\/ul>\n\n<h4>Digital products and withdrawal eligibility<\/h4>\n\n<p>Digital products can require additional handling because withdrawal eligibility may change once access to digital content has begun under the applicable conditions.<\/p>\n\n<p>SDP EU Withdrawal can add an explicit withdrawal waiver to the WooCommerce checkout for downloadable products and record the customer's acceptance with the order.<\/p>\n\n<p>The plugin can also detect whether downloadable products have already been downloaded and use that information when determining whether a withdrawal request should remain available.<\/p>\n\n<p>This allows stores selling downloadable products to automate eligibility decisions that would otherwise require manual verification after receiving a withdrawal request.<\/p>\n\n<h4>From request to resolution<\/h4>\n\n<p>A withdrawal request in SDP EU Withdrawal is more than a notification.<\/p>\n\n<p>Once submitted, the request enters a structured administrative workflow. Store administrators can review the request and its associated order, inspect relevant customer and eligibility information, consult the activity log, and finally approve or reject the request.<\/p>\n\n<p>The customer can then see the resulting status and receive the corresponding notification.<\/p>\n\n<p>This makes it possible to keep the complete withdrawal process organized within WooCommerce instead of relying on separate emails or manual records after the initial request.<\/p>\n\n<h4>\ud83d\udc8e Pro Version<\/h4>\n\n<p><strong>Unlock advanced withdrawal management with <a href=\"https:\/\/simpledirectplugins.com\/sdp-eu-withdrawal-pro\/\">SDP EU Withdrawal Pro<\/a><\/strong>.<\/p>\n\n<p>The Pro version extends the workflow for stores that need more detailed control, administration, and traceability:<\/p>\n\n<ul>\n<li>Centralized withdrawal request management dashboard.<\/li>\n<li>Structured partial withdrawal requests with individual products and quantities.<\/li>\n<li>Category and variation-level withdrawal exclusions.<\/li>\n<li>Advanced downloadable product activity tracking.<\/li>\n<li>Detailed forensic and compliance information for download activity.<\/li>\n<li>Reminder notifications for unresolved requests.<\/li>\n<li>Multiple administrator notification recipients.<\/li>\n<li>PDF export of request activity logs.<\/li>\n<li>Configurable log retention and privacy cleanup tools.<\/li>\n<li>Additional administrative workflow controls.<\/li>\n<\/ul>\n\n<p>Upgrade to Pro when the basic withdrawal request itself is only the beginning of your store's withdrawal management process.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"woocommerce%20already%20includes%20an%20order%20withdrawal%20feature.%20why%20would%20i%20need%20this%20plugin%3F\"><h3>WooCommerce already includes an order withdrawal feature. Why would I need this plugin?<\/h3><\/dt>\n<dd><p>WooCommerce provides a basic mechanism for customers to communicate an order withdrawal request.<\/p>\n\n<p>SDP EU Withdrawal extends this into a structured management workflow. It can automatically control withdrawal availability according to configurable time limits, order statuses, customer countries, product exclusions, digital content waivers, and download activity.<\/p>\n\n<p>After a request is submitted, administrators can review, approve, or reject it through a dedicated interface while maintaining an activity history associated with the request.<\/p>\n\n<p>If the built-in WooCommerce withdrawal mechanism covers everything your store needs, you may not need this plugin. SDP EU Withdrawal is intended for stores that need additional eligibility controls, digital product handling, or a complete administrative workflow.<\/p><\/dd>\n<dt id=\"does%20sdp%20eu%20withdrawal%20replace%20the%20built-in%20woocommerce%20withdrawal%20feature%3F\"><h3>Does SDP EU Withdrawal replace the built-in WooCommerce withdrawal feature?<\/h3><\/dt>\n<dd><p>SDP EU Withdrawal provides its own withdrawal request and management workflow with additional eligibility controls and administrative tools.<\/p>\n\n<p>It is designed for stores that need functionality beyond the basic withdrawal request mechanism included in WooCommerce.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20help%20with%20right%20of%20withdrawal%20requirements%20in%20spain%20%28%22derecho%20de%20desistimiento%22%29%20and%20other%20eu%20countries%3F\"><h3>Does this plugin help with right of withdrawal requirements in Spain (\"derecho de desistimiento\") and other EU countries?<\/h3><\/dt>\n<dd><p>Yes. SDP EU Withdrawal for WooCommerce provides tools for implementing and managing an online withdrawal workflow based around EU consumer withdrawal requirements, commonly referred to in Spain as the \"derecho de desistimiento\".<\/p>\n\n<p>The plugin includes configurable eligibility periods, country restrictions, customer requests, administrative review, resolution notifications, and specific handling for downloadable products.<\/p>\n\n<p>Merchants remain responsible for determining the legal requirements applicable to their store, products, customers, and individual withdrawal requests.<\/p><\/dd>\n<dt id=\"can%20guests%20submit%20withdrawal%20requests%3F\"><h3>Can guests submit withdrawal requests?<\/h3><\/dt>\n<dd><p>Yes. If guest checkout is enabled in WooCommerce and guest support is enabled in the plugin settings, guest customers can securely submit and review withdrawal requests.<\/p><\/dd>\n<dt id=\"how%20does%20the%20plugin%20determine%20when%20the%20withdrawal%20period%20starts%3F\"><h3>How does the plugin determine when the withdrawal period starts?<\/h3><\/dt>\n<dd><p>You can select the WooCommerce order statuses that start the withdrawal eligibility period.<\/p>\n\n<p>When an order first reaches one of those statuses, SDP EU Withdrawal records the eligibility start date and uses it together with the configured withdrawal period to determine whether the order can still request withdrawal.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20downloadable%20products%3F\"><h3>Does the plugin support downloadable products?<\/h3><\/dt>\n<dd><p>Yes. Downloadable products have dedicated withdrawal handling, including digital content waiver support and automatic download activity checks.<\/p>\n\n<p>This allows withdrawal availability to take into account whether the customer accepted the configured waiver and whether downloadable content has already been accessed.<\/p><\/dd>\n<dt id=\"can%20products%20be%20excluded%20from%20withdrawal%20requests%3F\"><h3>Can products be excluded from withdrawal requests?<\/h3><\/dt>\n<dd><p>Yes. Individual products can be excluded from the withdrawal workflow.<\/p>\n\n<p>SDP EU Withdrawal Pro adds more granular exclusion options, including categories and individual variations.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20partial%20withdrawal%20requests%3F\"><h3>Does the plugin support partial withdrawal requests?<\/h3><\/dt>\n<dd><p>Structured partial withdrawal requests are available in SDP EU Withdrawal Pro.<\/p>\n\n<p>Customers can select individual order items and quantities instead of describing the products they want to withdraw in an unstructured message.<\/p><\/dd>\n<dt id=\"what%20happens%20after%20a%20customer%20submits%20a%20withdrawal%20request%3F\"><h3>What happens after a customer submits a withdrawal request?<\/h3><\/dt>\n<dd><p>The request becomes available for administrative review. Store administrators can inspect its details and activity and then approve or reject it, optionally providing a customer-facing comment.<\/p>\n\n<p>The customer is notified of the resulting decision according to the configured email settings.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20process%20refunds%20automatically%3F\"><h3>Does this plugin process refunds automatically?<\/h3><\/dt>\n<dd><p>No. SDP EU Withdrawal manages withdrawal eligibility, requests, review, and resolution.<\/p>\n\n<p>Any refund or other financial action remains part of your normal WooCommerce and payment gateway workflow.<\/p><\/dd>\n<dt id=\"can%20the%20plugin%20be%20translated%20into%20other%20languages%3F\"><h3>Can the plugin be translated into other languages?<\/h3><\/dt>\n<dd><p>Yes. The plugin is translation ready and compatible with translation files and multilingual solutions such as WPML. A complete Spanish translation is included.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.0.1<\/h4>\n\n<ul>\n<li>Fix     - Non clickable links on emails<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added   - Withdrawal notification emails now use the standard WooCommerce HTML email layout and store branding<\/li>\n<li>Update  - Support for WordPress 7.2<\/li>\n<li>Update  - Support for WooCommerce 11.1<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Fix     - Texts related to the withdrawal waiver in the logs tab were not translatable<\/li>\n<li>Update  - Support for WooCommerce 11.0<\/li>\n<li>Update  - POT file updated<\/li>\n<\/ul>","raw_excerpt":"Extend WooCommerce order withdrawals with eligibility rules, admin review, digital product handling, approval workflows, and detailed activity logs.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/312542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=312542"}],"author":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/simpledirectplugins"}],"wp:attachment":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=312542"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=312542"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=312542"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=312542"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=312542"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=312542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}