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.
It is built for WooCommerce stores that want a simple, fast returns workflow without heavy RMA suites or external services.
Features
- “Returns” tab in My Account, and a request form on each completed order
- Partial returns: customers pick the items and the quantities to return
- Configurable return window, counted from the order completion date
- Configurable list of return reasons
- Admin queue under the WooCommerce menu with the statuses Requested, Approved, Received, Refunded and Rejected
- Optional message to the customer with every status change
- Email notifications to the store for new requests and to the customer for status changes, styled with your WooCommerce email template
- WooCommerce order notes added automatically for every request and status change
- Protection against duplicate returns: items already requested cannot be requested again
- HPOS (custom order tables) compatible
- REST API for mobile apps and custom front ends
- Developer hooks:
xzltd_rd_created and xzltd_rd_status_changed
- No external services, no tracking
How it works
- A customer opens a completed order within your return window.
- They select the items, quantities and a reason, then submit the request.
- The request is saved and you receive an email. An order note is added.
- You review the request in WooCommerce > Returns and set its status, with an optional message to the customer.
- The customer receives an email for each status change and can follow progress in My Account > Returns.
- When approved, you issue the refund from the WooCommerce order screen as usual.
REST API
The plugin adds a REST API at /wp-json/exzalted-returns-manager/v1, ready for mobile apps such as Ionic or React Native.
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.
GET /settings – return window, reasons and statuses
GET /returns – list returns (own returns for customers, all for shop managers)
POST /returns – create a return request
GET /returns/{id} – get one return
POST /returns/{id}/status – update the status (shop managers only)
GET /orders/{id}/eligibility – items of an order that can still be returned
External services
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.