Opens in a new tab
Three graphite server towers with turquoise indicator lights, ventilation details and a silver network cable in the foreground.
Web design

WooCommerce downloads not working: restore paid access

Customers have paid but cannot download their files? Check order access, permissions, file locations and delivery, including WooCommerce’s October link-validation change.

A customer has paid for a PDF, design pack or audio file, but the download is missing or fails when they click it. Your team needs to restore the purchase without making the file public, changing the wrong order or asking the customer to buy again.

Start by separating three questions: has the order earned access, does the customer have permission for the right file, and can the server deliver it? An email arriving successfully answers none of those on its own.

This guide covers ordinary downloadable products in WooCommerce core. Memberships, subscriptions and specialist download extensions can add their own access rules, so identify those before changing anything.

Start with one failed purchase

Record the order number, product and variation, purchase date, exact error and whether the problem affects other buyers. Ask whether the link is absent, rejected immediately, or starts downloading and then stops. These are different investigations.

Use the customer’s experience as your starting point. Opening a product file while signed in as an administrator is not a useful substitute for testing their purchase route. Keep full customer download links out of public support posts.

  • No order email: investigate the notification route first. Our guide to WooCommerce order emails not sending covers that separate problem.
  • Email received, no download: check product setup, order status and permissions.
  • Link present, access refused: check the current link, order details, remaining allowance and expiry.
  • Download starts but fails: investigate the actual file and delivery method with your host.

Compare the failed purchase with a working order for the same product, if you have one. That helps establish whether the fault follows the buyer, the product or the delivery route.

Check that the purchased item has a download

In the product editor, check Downloadable and the attached file. For a variable product, inspect the variation the customer actually bought. WooCommerce distinguishes Virtual, which removes shipping requirements, from Downloadable, which adds files and download limits. A virtual service is not automatically a downloadable product. The official virtual and downloadable product guide explains these settings.

Check the download limit and expiry against what you intended to sell. Leave limits unlimited only where that matches your offer; a support incident does not justify changing every customer’s allowance.

Write down the expected file name and version. Restoring access to an obsolete archive or the wrong variation can turn a technical repair into another customer complaint.

Check payment, order status and the customer’s permission

Match the payment confirmation to the affected order before granting access. Under WooCommerce > Settings > Products > Downloadable products, review Grant access to downloadable products after payment. With it enabled, Processing or Completed orders can permit downloads; with it disabled, the order must be Completed. WooCommerce’s missing download links guide documents this distinction and the permission checks.

A mixed basket deserves particular attention: decide whether a buyer should receive the digital item while you prepare the physical goods. Do not mark an entire order fulfilled just to reveal a file.

Inspect the individual permission

Open the order’s Downloadable product permissions panel and check the file, downloads remaining and access expiry. If the panel is hidden, use Screen Options at the top of the order screen to show it, as described in the downloadable product guide.

For a verified purchase with a missing permission, use the supported Grant access control for the correct product. Once access is correct, Send order details to customer can send the available downloads. If account downloads work but the email omits them, investigate the email customisation rather than repeatedly rebuilding permissions.

There is a specific current check worth making. The WooCommerce 11.2.0 release notes, dated 7 October 2026, confirm stronger validation of download credentials. Standard links are unchanged, but rare custom or imported links, or permission records containing malformed order or email data, may stop working.

Start with a current WooCommerce-generated link and compare the order’s billing email and permission record. Ask your developer to inspect any integration that constructs links itself. The timing of an update is a clue, not proof that every failed download has this cause.

The later 11.2.1 release notes, dated 9 October, describe checkout and postcode fixes, not a reversal of this download validation. Repair malformed data or custom link generation rather than treating weaker validation as the solution.

Regenerate permissions only when rebuilding them is necessary. The 11.2 notes warn that regeneration resets download counts and logs. Preserve the evidence and existing allowances first, then review the rebuilt access before contacting the customer.

Check the file location and approved directory

Ask your developer to confirm that the exact file saved against the product still exists and can be read through the intended delivery route. A migration or storage change should prompt a comparison between the saved address and the current file location.

Also inspect WooCommerce > Settings > Products > Approved Download Directories. A disabled or removed directory rule can disable associated product downloads, including access for previous buyers. A red asterisk beside the product’s file URL identifies a disabled download. The approved directories documentation explains this behaviour.

Approve the specific location you intend to trust. A directory rule is not proof that the file exists, nor does approving a location make its contents private. Avoid turning off all directory checks to solve one incorrect address.

Keep an incident note stating which products used the affected location. Fixing the first reported order should lead to checking other purchases exposed to the same fault.

Check how the server delivers the file

The selected method matters. WooCommerce’s current download delivery guidance distinguishes:

  • Force downloads: PHP delivers the file. Large downloads or limited server capacity can cause timeouts.
  • X-Accel-Redirect/X-Sendfile: the web server handles delivery and needs the appropriate support and configuration.
  • Redirect only: the buyer is sent to the file URL, which anyone holding it can access.

Ask your host to test the configured method against a representative file, including remote storage if you use it. Give them the failure time and file size so they can inspect the relevant request and server error.

Avoid switching to Redirect only, or its insecure fallback, merely because a download then opens. That can exchange a delivery fault for exposed paid content. WooCommerce’s directory guidance also warns that WordPress media files can be public. Opening a raw file URL does not test protected customer delivery.

If smaller files work and a large archive fails, test that contrast explicitly. The repair should address the failing delivery step while preserving the access model you promised.

Check what changed for previous buyers

A replacement file and an additional file behave differently. Editing an existing download row’s name or URL updates past purchases while retaining their expiry and remaining count. Adding a new row does not automatically give earlier buyers that new file. WooCommerce documents this in its guidance on editing files after purchase.

Before replacing a row, decide which customers should receive the new content. Keep the old asset available through your recovery process until you have tested the intended upgrade path. Check an older eligible order as well as a new purchase; the new checkout alone cannot prove existing buyers have access.

Prove the repair from purchase to usable file

Use staging and a supported test payment method, with test recipients you control. Agree the expected outcome before testing:

  1. Complete a purchase for the affected product or variation and confirm the expected order status.
  2. Open the customer email and use its actual download link. For an account purchase, test My Account > Downloads as well.
  3. Download the whole file and open it in an appropriate application. For an archive, check that its contents extract.
  4. Test a representative large file and each delivery route you offer. Include guest checkout if the shop allows it.
  5. Check an older eligible order and verify that expired or exhausted access still follows your intended rules.

Use Analytics > Downloads as supporting evidence. The official Downloads report guide explains order-number filtering and notes that repeated downloads from the same IP address count. Treat the figures as activity, not unique customers or proof that a file opened successfully.

Recover affected buyers in a controlled group, record what you changed and confirm that they can use the purchase. Give ongoing download checks an owner, especially after product-file replacements, hosting moves or integration updates.

If paid downloads are failing, talk to BuzzBoost. Share the product type, exact error and a redacted order example. Our web development and integration work covers investigating the delivery route and verifying the complete customer journey.

Featured image: AI-generated editorial artwork, not a photograph of a real BuzzBoost office, client or result.

Bolt AI — BuzzBoost Digital author avatar
Written by Bolt AI