{"id":399018,"date":"2026-11-06T11:13:31","date_gmt":"2026-11-06T11:13:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ez-returndesk-returns-refund-requests-for-woocommerce\/"},"modified":"2026-11-06T11:12:56","modified_gmt":"2026-11-06T11:12:56","slug":"exzalted-returns-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/exzalted-returns-manager\/","author":23586805,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Exzalted Returns Manager for WooCommerce","header_author":"ExZalted","header_description":"Lightweight returns and refund request manager for WooCommerce. Customers request returns from My Account, admins approve or reject, everyone gets notified. REST API ready.","assets_banners_color":"","last_updated":"2026-11-06 11:12:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/exzalted.com\/product\/woocommerce-returns-plugin\/","header_author_uri":"https:\/\/exzalted.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":122,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"johnpmandawe","date":"2026-11-06 11:12:56","revision":3787753}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3787746,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3787746,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3787774,"resolution":"1","location":"assets","locale":"","width":1919,"height":918},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3787774,"resolution":"2","location":"assets","locale":"","width":1919,"height":923},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3787774,"resolution":"3","location":"assets","locale":"","width":1556,"height":698},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3787774,"resolution":"4","location":"assets","locale":"","width":1919,"height":917},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3787774,"resolution":"5","location":"assets","locale":"","width":1919,"height":919},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3787774,"resolution":"6","location":"assets","locale":"","width":1919,"height":917}},"screenshots":[]},"plugin_section":[],"plugin_tags":[235867,23853,291134,170592,221713],"plugin_category":[],"plugin_contributors":[289175],"plugin_business_model":[],"class_list":["post-399018","plugin","type-plugin","status-publish","hentry","plugin_tags-refund-requests","plugin_tags-rest-api","plugin_tags-return-form","plugin_tags-rma","plugin_tags-woocommerce-returns","plugin_contributors-johnpmandawe","plugin_committers-johnpmandawe"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/icon-128x128.png?rev=3787746","icon_2x":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/icon-256x256.png?rev=3787746","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/screenshot-1.png?rev=3787774","caption":""},{"src":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/screenshot-2.png?rev=3787774","caption":""},{"src":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/screenshot-3.png?rev=3787774","caption":""},{"src":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/screenshot-4.png?rev=3787774","caption":""},{"src":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/screenshot-5.png?rev=3787774","caption":""},{"src":"https:\/\/ps.w.org\/exzalted-returns-manager\/assets\/screenshot-6.png?rev=3787774","caption":""}],"raw_content":"<!--section=description-->\n<p>Exzalted Returns Manager lets customers request a return from their My Account page, and gives you one clean queue to review, approve or reject every request, from the first submission to the final refund.<\/p>\n\n<p>It is built for WooCommerce stores that want a simple, fast returns workflow without heavy RMA suites or external services.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>\"Returns\" tab in My Account, and a request form on each completed order<\/li>\n<li>Partial returns: customers pick the items and the quantities to return<\/li>\n<li>Configurable return window, counted from the order completion date<\/li>\n<li>Configurable list of return reasons<\/li>\n<li>Admin queue under the WooCommerce menu with the statuses Requested, Approved, Received, Refunded and Rejected<\/li>\n<li>Optional message to the customer with every status change<\/li>\n<li>Email notifications to the store for new requests and to the customer for status changes, styled with your WooCommerce email template<\/li>\n<li>WooCommerce order notes added automatically for every request and status change<\/li>\n<li>Protection against duplicate returns: items already requested cannot be requested again<\/li>\n<li>HPOS (custom order tables) compatible<\/li>\n<li>REST API for mobile apps and custom front ends<\/li>\n<li>Developer hooks: <code>xzltd_rd_created<\/code> and <code>xzltd_rd_status_changed<\/code><\/li>\n<li>No external services, no tracking<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>A customer opens a completed order within your return window.<\/li>\n<li>They select the items, quantities and a reason, then submit the request.<\/li>\n<li>The request is saved and you receive an email. An order note is added.<\/li>\n<li>You review the request in WooCommerce &gt; Returns and set its status, with an optional message to the customer.<\/li>\n<li>The customer receives an email for each status change and can follow progress in My Account &gt; Returns.<\/li>\n<li>When approved, you issue the refund from the WooCommerce order screen as usual.<\/li>\n<\/ol>\n\n<h4>REST API<\/h4>\n\n<p>The plugin adds a REST API at <code>\/wp-json\/exzalted-returns-manager\/v1<\/code>, ready for mobile apps such as Ionic or React Native.<\/p>\n\n<p>Authenticate with the WordPress cookie and nonce, or with Application Passwords over HTTPS. Customers can only see and create their own returns. Changing a status is limited to shop managers.<\/p>\n\n<ul>\n<li><code>GET \/settings<\/code> - return window, reasons and statuses<\/li>\n<li><code>GET \/returns<\/code> - list returns (own returns for customers, all for shop managers)<\/li>\n<li><code>POST \/returns<\/code> - create a return request<\/li>\n<li><code>GET \/returns\/{id}<\/code> - get one return<\/li>\n<li><code>POST \/returns\/{id}\/status<\/code> - update the status (shop managers only)<\/li>\n<li><code>GET \/orders\/{id}\/eligibility<\/code> - items of an order that can still be returned<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to any external service and does not send any data outside your website. Emails are sent through your site's own WordPress mail configuration.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>exzalted-returns-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin from the Plugins screen in WordPress.<\/li>\n<li>Activate the plugin through the Plugins screen. WooCommerce must be active.<\/li>\n<li>Go to WooCommerce &gt; Returns Settings and set up the options below.<\/li>\n<li>Customers will see the new \"Returns\" tab in My Account, and the request form on their completed orders.<\/li>\n<\/ol>\n\n<h4>Basic setup<\/h4>\n\n<ul>\n<li><strong>Return window:<\/strong> set how many days after completion an order can be returned.<\/li>\n<li><strong>Return reasons:<\/strong> enter one reason per line. Customers choose from this list.<\/li>\n<li><strong>Notification email:<\/strong> set the address that receives new return requests. It defaults to the site admin email.<\/li>\n<li><strong>Permalinks:<\/strong> if the Returns tab shows a \"page not found\" message after an update, go to Settings &gt; Permalinks and click Save Changes once.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20refund%20money%20automatically%3F\"><h3>Does it refund money automatically?<\/h3><\/dt>\n<dd><p>No. The free version tracks requests and statuses. Issue the refund from the WooCommerce order screen as usual.<\/p><\/dd>\n<dt id=\"which%20orders%20can%20be%20returned%3F\"><h3>Which orders can be returned?<\/h3><\/dt>\n<dd><p>Orders with the Completed status, placed by a logged-in customer, and still inside your return window.<\/p><\/dd>\n<dt id=\"can%20customers%20return%20only%20some%20of%20the%20items%20in%20an%20order%3F\"><h3>Can customers return only some of the items in an order?<\/h3><\/dt>\n<dd><p>Yes. They select the items and quantities. Items that already have an active request cannot be requested again, while rejected requests free up the items.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20return%20reasons%3F\"><h3>Can I change the return reasons?<\/h3><\/dt>\n<dd><p>Yes. Go to WooCommerce &gt; Returns Settings and edit the list, one reason per line.<\/p><\/dd>\n<dt id=\"where%20do%20i%20manage%20return%20requests%3F\"><h3>Where do I manage return requests?<\/h3><\/dt>\n<dd><p>Go to WooCommerce &gt; Returns. Open a request to see the items, reason and details, then set the status and add an optional message for the customer.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20look%20of%20the%20emails%3F\"><h3>Can I customize the look of the emails?<\/h3><\/dt>\n<dd><p>Yes. The emails use your WooCommerce email template, so the logo, colors and footer text from WooCommerce &gt; Settings &gt; Emails apply automatically.<\/p><\/dd>\n<dt id=\"can%20guests%20request%20a%20return%3F\"><h3>Can guests request a return?<\/h3><\/dt>\n<dd><p>Not at the moment. Customers need to be logged in so the request can be matched to their order.<\/p><\/dd>\n<dt id=\"how%20do%20i%20connect%20a%20mobile%20app%3F\"><h3>How do I connect a mobile app?<\/h3><\/dt>\n<dd><p>Use the REST API at <code>\/wp-json\/exzalted-returns-manager\/v1<\/code>. Create an Application Password for the user in their WordPress profile, and send it with Basic authentication over HTTPS. See the REST API section for the available endpoints.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20hpos%3F\"><h3>Is it compatible with HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses the WooCommerce order APIs and declares compatibility with custom order tables.<\/p><\/dd>\n<dt id=\"does%20it%20send%20any%20data%20to%20external%20services%3F\"><h3>Does it send any data to external services?<\/h3><\/dt>\n<dd><p>No. See the External services section.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Lightweight returns and refund request manager for WooCommerce, with a REST API for mobile apps.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/399018","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=399018"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/johnpmandawe"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=399018"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=399018"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=399018"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=399018"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=399018"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=399018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}