Aller au contenu principal

Troubleshooting and FAQ

Frequently asked questions​

Do customers need an account to start a return?​

In the Lite edition yes: customers start returns from My Account > Returns. With the Pro edition, customers who checked out as guests can use the guest portal: they enter the order number and billing email and receive a private link.

Which orders can be returned?​

Orders that are Completed, and Processing orders when Count the window from is set to Order placed. Each item is checked on its own against the return window, the quantity left (items already returned or refunded do not count again), the final sale tag, and the product and category rules. See Settings reference.

Does the refund go to the original payment method?​

When the payment gateway supports refunds, ReturnDesk refunds through the gateway, using the quantities you accepted at inspection minus any fees. When the gateway cannot refund, the refund is recorded in WooCommerce and an order note asks you to pay it manually. If the gateway refuses a refund, the return stays Inspected and you see the message. See Admin flow.

Why did a free exchange send the "Processing order" and "New order" emails?​

This is intended. A free exchange moves its new order straight to Processing, so WooCommerce sends its own standard Processing order email to the customer and New order email to the store. The customer gets a confirmation that the replacement is on its way, and you get a pick list for the warehouse. These are WooCommerce emails: you can edit them under WooCommerce > Settings > Emails. See Exchanges.

Why do I get one webhook per return per request?​

WooCommerce delivers a webhook at most once per return per request. If one request changes the status of a return several times, for example approving it and then sending its label, the Return updated webhook is delivered once, with the final state of the return in the payload. Return created, Return updated and Return resolved are separate webhooks, so each one still fires when it applies. See REST API.

Can a customer attach photos through the REST API?​

No. POST /me/returns takes no photos. Photos are uploaded in the My Account wizard. A reason that requires a photo can therefore not be used through that route. See REST API.

Can I remove store credit with the REST API?​

No. Credits can only be added. POST /credits/{customer_id} adds an entry and there is no route to remove credit, edit an entry or set a balance. See REST API.

The photo links in the REST view need a cookie session. A link is signed, expires after 15 minutes, and only opens in a browser where a signed-in user who may see the photo (staff or the owner of the return) has a cookie session. Open the return screen in WooCommerce > Returns to see the photos. See REST API.

Is the store credit applied to subscriptions?​

No. Store credit is never applied to renewals, recurring carts or subscription orders.

What happens to my data when I uninstall the plugin?​

Nothing is deleted by default. Tick Delete all data when the plugin is uninstalled under the Advanced settings before you delete the plugin if you want the tables, settings and photos removed. See Uninstall.

Troubleshooting​

The Returns tab is missing in My Account, or it shows a "page not found"​

The tab is a My Account endpoint. Go to Settings > Permalinks and press Save Changes without changing anything, which rebuilds the rewrite rules. If the tab is still missing, check that no other plugin or theme removes menu items from My Account.

I cannot see WooCommerce > Returns​

The menu needs the manage_tsre_returns capability. Administrator and Shop manager get it when the plugin is activated. If you use another role, add the capability with a role editor plugin, or deactivate and activate ReturnDesk again to grant it to the standard roles.

A customer cannot select an item​

The wizard shows the reason under the item:

  • The return period for this item has ended. The window has passed. Check Return window (days), Count the window from, and the product and category overrides. The EU 14-day right can extend it.
  • Every unit of this item is already part of a return or a refund.
  • This item cannot be returned. The product has the final sale tag, is marked Final sale, or is set to Cannot be returned on the product or on one of its categories.
  • No item can be selected at all: the order is not Completed (or Processing with Order placed).

The wizard shows no resolution or method step​

A step only appears when there is more than one choice, or when the only choice is an exchange. The Lite edition always uses the customer's own label, so it never shows the method step, and it shows the resolution step only when Exchange is allowed and every selected item has another variation of the same product at the same price, in stock. In the Pro edition, check Allowed resolutions and Return methods in the Rules settings, and the product-level Allowed resolutions. When a customer selects several items, only the choices that every item allows are offered.

"These items cannot be returned together"​

The selected items have no resolution or return method in common, for example one is a warranty claim and another a normal return. Ask the customer to return them in separate requests.

Customers cannot choose store credit or exchange​

Store credit is a Pro feature. In the Pro edition, add Store credit to Allowed resolutions; it also needs a customer account, and an order in the store's base currency.

Exchange is in both editions once Exchange is in Allowed resolutions. In the Lite edition it is offered only for an item that has another variation of the same product at exactly the same price, in stock for the quantity the customer asks to return; simple products and items without such a variation are refunded. In the Pro edition, check the product-level Allowed resolutions and the Exchange price rule.

Both ReturnDesk Lite and ReturnDesk Pro are installed​

ReturnDesk Lite steps aside while ReturnDesk Pro is active, on the site or network-wide: it loads nothing, and the Plugins screen shows "ReturnDesk Lite is inactive because ReturnDesk Pro is active. You can deactivate ReturnDesk Lite." Your returns and settings are shared. Deactivate and delete ReturnDesk Lite when you like: while ReturnDesk Pro is installed, Lite's uninstall removes nothing (no capability, no scheduled job, and no data even when "Delete all data when the plugin is uninstalled" is ticked), and the same holds the other way round. Only the last edition you delete cleans up.

The label was not created​

  1. Open the return and read the Timeline. A "Label failed" entry holds the reason.
  2. Check the credentials under WooCommerce > Settings > Returns > Labels, and that Return label provider is the carrier you set up.
  3. Make sure the Return address is complete, with a two-letter country.
  4. A failure before purchase is retried three times in the background. Background jobs need WP-Cron or a real cron to run: check WooCommerce > Status > Scheduled Actions for the group tsre.
  5. If the screen says a purchase may have gone through, check your carrier account first, then follow the steps.

You can always upload a label you bought yourself.

The carrier webhook is refused with 403​

The signature or token does not match, or the secret is empty. Check the EasyPost webhook secret, and that the address uses your real domain over HTTPS. See Labels and carriers.

A refund failed​

The return stays Inspected and the message tells why. Press Resolve again once the cause is fixed. If the screen asks you to check the payment gateway first, do that before you accept, discard or repeat the refund. See Admin flow.

Reject and Inspect again are missing on an inspected return​

An earlier resolve already paid a refund, gave store credit or made the exchange order. Rejecting the return now would leave that standing, so ReturnDesk refuses it. Press Resolve to finish the return.

"Another return of this order is being submitted right now"​

Two requests tried to create a return for the same order at the same moment (two tabs, or a double post). One return is created; the other request is refused, and once it is retried it only offers what is still returnable.

The exchange order stays Pending​

An exchange order is Pending when the customer owes a price difference, or when Exchange shipping is Calculate at current rates and you still have to add the shipping. In the first case the customer pays from the Pay for your exchange link on the return page or in the "Return resolved" email. In the second, edit the order, add the shipping and send the payment link.

The store credit checkbox does not appear at checkout​

The customer must be signed in, have a balance above zero, and the cart must be in the store's base currency. It is not offered on subscription renewals. It needs the Pro edition.

The guest portal email does not arrive​

The portal always shows the same message, whether or not the details match, so the form cannot reveal which orders exist. If no email arrives, check the order number and the billing email of the order, and that your site can send email. After five attempts in fifteen minutes from one address, or five for one order number, the form stops answering. Wait fifteen minutes and try again. Behind a proxy or a CDN, set the real visitor address with the tsre_client_ip filter, otherwise all visitors share one limit.

Photos do not load on the return screen​

Photo links are signed and expire after 15 minutes. Reload the page to get fresh links. On nginx, the folder wp-content/uploads/tsre/ has to be blocked in the server configuration, see Labels and carriers.

A customer did not get an email​

The return emails are WooCommerce emails. Check that each one is enabled under WooCommerce > Settings > Emails, and that WordPress can send mail. An automatically approved return sends the approval email and no "requested" email to the customer. Use Resend email on the return screen to send the current one again.

Where are the logs?​

WooCommerce > Status > Logs, with the source returndesk. Secrets are masked and carrier webhook payloads are never logged.

Get help​

When you write to support, include your WordPress, WooCommerce and PHP versions, the edition (Lite or Pro), the RMA number, and the log lines from the time of the problem. Do not send API keys or customer data you do not need to share.