Skip to content
Pedro Lima, DevDiggers customer Kareem Al Samman, DevDiggers customer Valentina Dancheva, DevDiggers customer Loved by store owners in 158+ countries

WooCommerce Prescription Plugin: Approve Every Order Before It Ships

Pharmacies sell online and approve every prescription before a single order ships. Customers upload it at checkout, and the order waits on hold until your pharmacist approves it. Files stay private on your own server with no fee per prescription.

5 star reviews Rated 4.9/5 across Trustpilot, Google and Envato
  • No fee per prescription
  • 14-day money-back guarantee
  • 24ร—7 human support
Version
v2.0.0
Last updated
September 4, 2026
WordPress
Tested to 7.1.3
WooCommerce
Tested to 11.2.1
0+ Reviews for Prescription for WooCommerce
5.0/5 Average buyer rating
0+ Countries served
Elite Author on Envato

Featured across the WordPress community

What is a WooCommerce prescription plugin

Can WooCommerce ask for a prescription before an order ships?

Not on its own. WooCommerce has no prescription upload, and a paid order goes straight to Processing. A WooCommerce prescription plugin adds both halves: the customer uploads a prescription at checkout, and the order is held until someone qualified approves it.

This one is built for online pharmacies, chemists and medical supply stores that sell prescription only products. It collects documents and runs the approval, and it is not an eyeglass form for lens values. It is part of the DevDiggers WooCommerce extensions range.

The problem

A paid order for prescription medicine should not ship on its own

WooCommerce treats a box of antibiotics like a phone case. The customer pays, the order turns Processing, and your packing team sees nothing that says stop.

So pharmacies patch it together. A note at checkout asks people to email a photo. Someone matches inboxes to order numbers by hand, and the scans end up in a shared mailbox nobody should be storing health records in.

See how the approval works
  • Orders reach Processing before anyone has seen a prescription
  • Prescriptions arrive by email and get matched to orders by hand
  • A generic upload field puts health records in the public uploads folder
  • Refused customers get no reason and open a support ticket
  • Nothing records who checked what, or when
How it works

How prescription upload and approval works in WooCommerce

Your checkout keeps working the way customers expect. The plugin adds one upload step for the products that need it and one decision for your pharmacist.

  1. You mark what needs a prescription

    Pick whole categories, the entire store, or single products. Those items show a Requires Prescription label on the shop and product pages.

  2. The customer uploads it at checkout

    A photo or scan goes into the upload box on the cart or checkout page. The order cannot be placed without it, even through the Store API.

  3. The order waits on hold

    WooCommerce creates the order and parks it in the holding status you picked. Cash on delivery, bank transfer and card payments all stay held.

  4. Your pharmacist decides

    Approve and the order moves on to fulfilment. Reject with a reason, or ask for a clearer scan. The customer gets an email either way.

Features

Everything a WooCommerce prescription plugin should do

From the upload box to the audit trail, each part is built around how a pharmacy checks an order.

Ask for a prescription only where the law does

Most pharmacies sell vitamins and bandages next to prescription only medicine. Choose the categories that need a prescription and leave the rest of the store alone.

Any single product can override its category: always require one, never require one, or follow the rule. You can also cap how much of a controlled product fits in one order.

  • Require it by category, or across the whole store
  • Per-product override, simple and variable products
  • Requires Prescription label with your own text and colors
  • Maximum quantity per order for controlled items
Prescription category settings with a per-product Always require override and a Requires Prescription label on a product page

Prescription upload at checkout that cannot be skipped

The upload box sits on the cart, the checkout or the order page, wherever you place it. Customers drag in a photo from their phone or a PDF from their doctor.

The rule is checked on the server as well as in the browser. Turning off JavaScript or calling the Store API directly still gets the order refused until a file is attached.

  • Classic checkout and the Cart and Checkout blocks
  • JPG, PNG, WEBP, HEIC, PDF, DOC and DOCX files
  • Several files per order with a limit you set
  • Guests upload at checkout with no account needed
Prescription upload box on a mobile WooCommerce checkout and the notice that stops the order until a file is attached

Orders stay on hold until a pharmacist approves

This is the part a file upload field never does. A new prescription order goes into the holding status you choose, and it stays there.

Payment gateways usually push a paid order straight to Processing. The plugin keeps the hold in place for cash on delivery, bank transfer and card payments. Nothing reaches the packing bench early.

  • Your own holding status like On hold
  • Approve, reject, or request more information
  • A different next status for approvals and rejections
  • Every decision written to the order notes
WooCommerce orders held On hold while the prescription is pending and the order status automation settings

A review screen built for the person checking

Every prescription order gets a review box on the order screen. It also lands in its own list with a tab per status and a search box.

The reviewer workspace puts the file, the patient details and the decision on one screen. Zoom in, rotate the scan and jump to the next prescription. Approve or reject a batch, and reuse saved replies for the messages you type every day.

  • Prescription orders screen with status tabs and search
  • Reviewer workspace with zoom, rotate and next
  • Bulk approve and reject with a reason
  • Pharmacist role without shop manager access
Prescription reviewer workspace with the uploaded file and patient details, the approve or reject buttons and bulk approval

Prescription files kept private on your server

A prescription is a health record. Most upload fields drop it into the public uploads folder, where anyone holding the link can open it.

Here every file goes to a private folder with a random name unique to your site. It opens only through a checked link, for the customer who uploaded it and for your staff. Everyone else sees Access denied.

  • Private folder with Apache and IIS deny rules
  • Files served only through a permission check
  • Hidden from the Media Library for non-admins
  • Nothing sent to any outside or AI service
Private prescription folder setting and the Access denied page shown for a copied prescription link

Ask for a clearer scan instead of refusing

Plenty of prescriptions that come back are not wrong, just blurry. Information Requested tells the customer what is missing without putting a rejection on their order.

The customer reads your message on their order page and uploads a new file right there. You can also require a reason before any rejection. Nobody is refused without an explanation.

  • Information Requested status with your message
  • Customer replaces the file from their order page
  • Required reason before a prescription can be rejected
  • Attach Later for logged-in customers
Customer order page with the pharmacist request for more information and the matching Information Requested email

Prescription verification before you dispense

The upload box also collects the patient name and age, the prescribing doctor, their registration number, the issue date and the expiry date beside the upload. You choose which are mandatory.

A prescriber registry marks doctors as verified, on watch or blocked, and flags them on the order. Unsure about one? Send the doctor a private link that lasts 7 days, and they confirm or deny in one click.

  • Patient and prescriber detail fields
  • Prescriber registry with three states: verified, on watch and blocked
  • Private verification link sent to the prescriber
  • Duplicate file warning across orders and customers
Prescriber registry with verified, watched and blocked doctors and the page where a doctor confirms the prescription

Refills without a new upload every month

A patient on long-term medication should not photograph the same prescription every month. Returning customers pick an approved prescription at checkout instead of uploading again.

Each reuse draws down a refill allowance you set. Approved prescriptions expire after your chosen period, and the customer gets a warning email before one lapses.

  • Prescriptions tab in My Account
  • Reuse an approved prescription at checkout
  • Refill allowance and automatic expiry
  • Reminder emails for orders still missing a file
Checkout picker to reuse an approved prescription, My Account cards with refills left and an expiry reminder

Records you can show an inspector

Sooner or later someone asks who checked an order and who opened a file. The plugin keeps an audit trail of every decision and a log of every file view with its time and IP address.

A consent checkbox stores its exact wording, date and IP on the order. Data retention clears old files on a schedule, while the decision record survives. The dashboard shows approval rate, review time and revenue on hold.

  • Audit trail and file access log
  • Recorded consent at checkout
  • Scheduled deletion of old prescription files
  • Pharmacy analytics and CSV export
Prescription dashboard stats, an audit trail with the file access log and a consent record on an order
What you need

What it takes to sell prescription medicine on WooCommerce

The plugin handles the workflow. The rest is what your pharmacy already has.

A WooCommerce store

Your existing catalog sorted into categories. The categories you already have become the prescription rules. Nothing needs restructuring.

Someone qualified to review

A pharmacist or a trained member of staff. The plugin records their decision. It never makes one for them.

HTTPS and backups

A secure checkout for the upload, and backups that include the private prescription folder. Its location is shown under Compliance.

Your local pharmacy rules

The plugin gives you the controls. Which products need a prescription, and how long records are kept, comes from the rules where you trade.

Compatibility

Works with the WooCommerce setup you already run

This prescription upload plugin sits on top of your current checkout, theme and payment gateways. Nothing needs replacing.

Classic checkout and block checkoutThe upload box appears in the Cart and Checkout blocks and in the classic shortcode checkout. The requirement is enforced through the Store API as well.
HPOS order storageHigh-Performance Order Storage is declared compatible in both builds. The prescription orders screen and its search run on the new order tables.
Every payment gatewayCard gateways, cash on delivery and bank transfer all try to move an order on. The prescription hold overrides each of them until the decision is made.
Any WooCommerce themeYou choose where the upload box and the label appear on each page. They inherit your theme. You set the label colors from the admin.
WooCommerce emailsPrescription emails use your WooCommerce email template. Recipients, format and footer live under WooCommerce, Settings, Emails, like every other store email.
Any languageBoth builds are translation ready and ship a POT file. The upload box, labels and emails read in the language your customers use.
Why this plugin

Why a pharmacy needs more than a file upload field

Plenty of plugins can put a file on an order. Collecting the file is the easy part. What protects your license is the hold, the decision and the record behind it.

  1. The order cannot ship early

    A file field lets a paid order carry on to Processing. Here the order stays held until someone approves it, whatever the payment method.

  2. The rule holds on the server

    Browser-only checks fall over when JavaScript is off or an app calls the Store API. This plugin refuses the order on the server.

  3. Health records are not public files

    Prescriptions go to a private folder and open only after a permission check. A copied link shows Access denied to anyone else.

  4. Nothing leaves your server

    No outside service, no AI reading patient documents, no API key and no fee per prescription. The files and the decisions stay in your own store.

  5. More than a yes or no

    A blurry scan gets Information Requested and a message. The customer fixes it themselves instead of placing a second order.

  6. Checks a generic uploader cannot run

    A prescriber registry, a verification link to the doctor and a warning when the same file shows up on another customer order.

  7. Refills and expiry built in

    Approved prescriptions carry a refill count and an end date. An out-of-date prescription is never quietly reused.

  8. A free build that runs the real workflow

    Upload, hold, approve, reject and the customer emails all come free. There is no cap on orders or files. Pro is for volume and record keeping.

  9. Guests can upload too

    A first-time patient uploads the prescription at checkout with no account needed. Nobody is turned away for not signing up first.

  10. Built by WooCommerce specialists

    This plugin is made by a team that builds WooCommerce plugins full time, follows WordPress coding standards, and usually answers support within hours.

Free and Pro

What the free prescription plugin does, and what Pro adds

The free build runs the full workflow with no time limit. It takes the upload, holds the order and lets you approve or reject with an email. Pro adds faster review, prescriber checks, refills and the records a regulator asks for.

What you get Free Pro
Require a prescription by category or across the store Yes Yes
Exclude single products from a category rule Yes Yes
Per-product always, never or follow the rule Yes Yes
Requires Prescription label with your text and colors Yes Yes
Label on the product, shop, cart, checkout and thank you pages Yes Yes
Maximum quantity of a controlled product per order No Yes
Upload box on the cart, checkout and order pages Yes Yes
Your own upload instructions above the box Yes Yes
Classic checkout and Cart and Checkout blocks Yes Yes
JPG, PNG, WEBP, HEIC, PDF, DOC and DOCX Yes Yes
Several files per order with a limit you set Yes Yes
Guest upload at checkout Yes Yes
Checkout refused on the server until a file is attached Yes Yes
Attach Later for logged-in customers Yes Yes
Patient and prescriber detail fields No Yes
Recorded consent checkbox at checkout No Yes
Order held until the prescription is approved Yes Yes
Hold kept for card, cash on delivery and bank transfer Yes Yes
Pick the order status for review, approval and rejection Yes Yes
Approve, reject or request more information Yes Yes
Required reason before a rejection Yes Yes
Prescription orders screen with status tabs and search Yes Yes
Reviewer workspace with zoom, rotate and next No Yes
Bulk approve and reject No Yes
Saved replies for common messages No Yes
Pharmacist user role No Yes
Assign a reviewer, review target and overdue badge No Yes
Prescriber registry with three states: verified, on watch and blocked No Yes
Verification link sent to the prescriber No Yes
Duplicate file warning No Yes
Private folder with permission-checked links Yes Yes
Prescription files hidden from the Media Library Yes Yes
Decisions written to the order notes Yes Yes
Audit trail of every decision No Yes
Log of who opened each file with time and IP No Yes
Scheduled deletion of old prescription files No Yes
Emails on approval, rejection and information requests Yes Yes
Store email when a prescription is waiting Yes Yes
Customer replaces a refused file from the order page Yes Yes
Your own subject, heading and body for each email No Yes
Prescriptions tab in My Account No Yes
Reuse an approved prescription with a refill allowance No Yes
Prescription expiry with a warning email No Yes
Reminders for orders still missing a prescription No Yes
Dashboard with the review queue and status mix Yes Yes
Approval rate, review time and revenue on hold No Yes
Top prescribers, reviewer activity and refusal reasons No Yes
CSV export of prescriptions No Yes
HPOS and block checkout compatible Yes Yes
Guided setup wizard Yes Yes
Cap on orders, files or reviewers None None
Updates From WordPress.org One click with an active plan
Support WordPress.org forum Priority replies within hours
Upgrading from free Pro installs next to it Every prescription and setting kept
Price Free From $49 a year
Why DevDiggers

Why WooCommerce store owners buy from us

Official WooCommerce contributor

More than 20 accepted contributions to WooCommerce core. The same standards go into how this plugin holds and moves your orders.

Envato Elite Author

More than $125,000 in sales and 500+ five-star reviews across Trustpilot, Google and Envato.

Ready on the day you install it

A setup wizard switches the workflow on in a few short steps. Every setting ships with a working default. Your first test order runs before you change anything.

Support that answers in hours

Real WooCommerce developers answer your tickets. Every plan includes priority support and a 14-day refund.

Patient files stay yours

Prescriptions live on your own server in a private folder. We never receive them, and the plugin sends nothing about your patients anywhere.

Sold in 158+ countries

Pharmacy rules differ by country. Every rule in the plugin is a setting you control.

Recognition

Earned on the Envato marketplace

Elite Author Elite Author Sold more than $125,000 on Envato Market. Featured Author Featured Author Made it to the Authors' Hall of Fame. Community Health Community Health Took part in community research initiatives. WP Compliant WP Compliant Keeps items to current WordPress standards. Copyright Ninja Copyright Ninja Helped protect against copyright violations. Feedback Guru Feedback Guru Joined a group to improve the experience. Trendsetter Trendsetter Had an item that was trending. Featured Item Featured Item Had an item featured on Envato Market.

See every badge on our CodeCanyon profile

Who it is for

Stores where someone has to check before it ships

Online pharmacies and chemists

Sell prescription only medicine next to over-the-counter stock. Only the regulated items ask for a prescription, and they wait for your pharmacist.

Pharmacy chains with a review team

Several pharmacists, one queue. Assign prescriptions, set a review target in hours and see which ones are overdue.

Medical and mobility supply stores

Some equipment needs a doctor note before you sell it. Put those products behind the upload and leave the rest of the catalog open.

Optical stores selling contact lenses

Ask for a copy of the eye prescription before lenses ship. The plugin stores the document; it does not add a lens value form.

Veterinary pharmacies

Pet medicine often needs a vet prescription. Customers upload it at checkout, and repeat orders reuse the approved one with Pro.

Agencies building pharmacy sites

The 10-site plan covers a portfolio of pharmacy clients. Need a custom workflow on top? Our team builds those too through our WooCommerce development services.

Setup

How to add prescription upload to WooCommerce in four steps

Install and activate

Add the plugin to your WooCommerce store and activate it. Pro also installs the free plugin it runs on. A setup wizard opens and switches the workflow on in a few short steps.

Choose what needs a prescription

Pick the categories under General, exclude any single products, and set the label text and colors your customers will see.

Set the review workflow

Under Review Workflow, choose the holding status and where orders go after an approval or a rejection. Decide if a reason is required.

Place a test order

Buy a prescription product, upload a file and approve it from the order screen. Watch the status move and the email arrive.

What store owners say about this prescription plugin

Reviews from verified buyers of our WooCommerce prescription plugin. Most of them talk about the support first.

5.0/ 5

2 reviews

  • 5 2
  • 4 0
  • 3 0
  • 2 0
  • 1 0

Simple, Stable, and Works Perfectly

Excellent plugin! I previously tried another one that caused multiple errors on my site and never worked properly. With this plugin, everything worked smoothly from the start, and itโ€™s very simple to use. Really…
ghmujica Verified buyer April 18, 2024

Quick Issue Resolution

Excellent customer support! The team was attentive, knowledgeable, and resolved my issue quickly. The plugin works as expected and makes it easy for customers to upload prescriptions during checkout, which is very useful for…
aprofar Verified buyer November 27, 2023
Yash Kapoor, founder of DevDiggers
Yash Kapoor Founder, DevDiggers
From the founder

Why I built Prescription for WooCommerce

WooCommerce ships a box of antibiotics the same way it ships a phone case. A pharmacy needs a checked prescription first. It also needs that file kept away from public view.

I built Prescription for WooCommerce so no prescription order moves until a pharmacist has checked the file. Files sit in a locked folder and open only through a permission checked link. Every upload is fingerprinted. If the same scan turns up on another order the reviewer is told.

Envato Elite Author ยท 20+ WooCommerce core contributions Read our story →

Add a WooCommerce prescription plugin from $49 a year

One yearly price with every Pro feature in it. No fee per prescription, and no cap on orders, files or reviewers.

Every plan works as long as your subscription stays active. It renews yearly until you cancel, and you can cancel anytime from your account. Every plan is backed by our 14-day refund policy.

1 Site License

Normally $79

$49/year

Just $4.08/mo when billed annually

  • Use on 1 pharmacy store
  • Unlimited prescriptions and reviewers
  • Reviewer workspace, refills and audit trail
  • Updates with an active plan
  • Priority support
Buy Now

10 Sites License

Normally $449

$299/year

Just $24.92/mo when billed annually

  • Use on 10 pharmacy stores
  • Unlimited prescriptions and reviewers
  • Reviewer workspace, refills and audit trail
  • Updates with an active plan
  • Priority support
Buy Now

Secured by a 14-day refund policy

If the plugin does not work as promised on your store, you have the backup of our 14-day refund policy to ask for your money back.

Version 2.0.0
Last updated September 4, 2026
Changelog
WordPress 6.5+ (tested to 7.1.3)
WooCommerce 9.0+ (tested to 11.2.1)
PHP 7.4+

See Prescription for WooCommerce in action

Every screen below comes from the plugin running a real WooCommerce store. The live demo is the same build and needs no account.

Prescription analytics dashboard in WooCommerce with awaiting review, approval rate, review time and revenue cards and a daily activity chart
Prescriptions awaiting review, approval rate and revenue on hold, on one screen.
FAQ

WooCommerce prescription plugin FAQ

Answers to what pharmacy owners ask us most about prescription upload and approval in WooCommerce.

Ask a Question

Install the plugin, switch it on under Prescriptions, Configuration, General, and choose the categories that need a prescription. Customers buying those products see an upload box on the cart and checkout pages. They cannot place the order until a file is attached.

No. New prescription orders move to the holding status you choose, such as On hold, and stay there until approved. That holds even when a card gateway, cash on delivery or bank transfer would normally mark the order Processing.

Open the order from the Prescriptions orders screen or the WooCommerce orders list. The review box shows the uploaded files. Choose approve, reject or request more information, add a message and update the order.

For a busy queue there is the reviewer workspace. It has zoom, rotate and a jump to the next prescription. It also has bulk decisions and saved replies.

Yes. Choose categories under General and exclude single products there. You can also open any product and set it to always require a prescription, never require one, or follow its category rule.

It is a document workflow. The customer uploads a copy of any prescription and a person approves it, which suits medicine, medical supplies and contact lenses.

It does not add a form for lens values such as sphere, cylinder, axis or pupillary distance. Optical stores that need those fields want a lens configurator instead.

Yes. The upload box appears in the Cart and Checkout blocks and in the classic checkout. The prescription requirement is also checked through the Store API. It cannot be skipped from outside the page.

Yes, guests upload at checkout. Attach Later lets a customer order first and upload afterwards. It is for logged-in customers only, because they need an order page to come back to.

JPG, PNG, WEBP, HEIC, PDF, DOC and DOCX. HEIC matters more than it sounds, because it is the default photo format on iPhone. You set the maximum number of files per order under Prescription Rules.

On your own server, in a private folder with a random name unique to your site. Files open only through a checked link, for the customer who uploaded them and for administrators and shop managers.

Anyone else gets an Access denied page, even with the full URL. On nginx the Apache deny rules do not apply, but the random folder name and the checked link still protect every file.

No. A person on your team reviews every prescription, and no file is sent to any outside or AI service. The plugin gives your team tools for the check: a prescriber registry, a duplicate file warning and a verification link sent to the prescribing doctor.

Yes. With Self Service switched on, the customer sees your message on their order page and uploads a new file there. Using Information Requested instead of a rejection keeps the order open while they do it.

Yes. A returning customer picks an approved prescription at checkout instead of uploading again. Each reuse counts against the refill allowance you set, and the prescription expires after the period you choose.

No plugin can do that on its own, and you should be wary of one that says it does. This plugin keeps prescriptions private on your server and limits who can open them, which helps.

It also keeps the records auditors ask for: consent with wording, date and IP, a file access log and scheduled deletion. Check the rules for your pharmacy with a qualified advisor.

Yes. Prescription for WooCommerce on WordPress.org runs the whole workflow: upload at checkout, the order hold, approve, reject or request more, and the customer emails. There is no cap on orders, files or reviewers.

Pro adds the reviewer workspace, the Pharmacist role, prescriber checks, refills and expiry, the audit and access logs, and pharmacy analytics.

No. Pro runs on top of the free plugin and reads the same settings and order data. Every prescription, decision and setting stays in place. Keep the free plugin active. Pro installs it for you if it is missing.

Yes. Both builds declare compatibility with WooCommerce High-Performance Order Storage and with the Cart and Checkout blocks. The prescription orders screen, search and paging run on the new order tables.

Every pharmacy weighs this differently. We put the options side by side instead of only making our own case.

Read our comparison of the best WooCommerce prescription plugins to see where this plugin fits before you buy.

Every setting is explained in the prescription plugin documentation with screenshots of each configuration tab. Our support team answers setup questions too.

This plugin comes with a 14-day refund policy. If it does not work as described on your store, contact us within 14 days for a full refund. You can read the full terms on our refund policy page.

Stop prescription orders from shipping unchecked

Add a WooCommerce prescription plugin that takes the upload at checkout, holds the order and records your pharmacist decision. Try the live demo or the free version before you pick a plan.

Support within hours A real person replies
14-day money back Fair terms
Always compatible Latest WP and Woo
Custom builds Made for your store

Why pharmacies pick this plugin

What you get the day you turn it on.

  • Prescription upload that cannot be skipped
  • Orders held until a pharmacist approves
  • Private files on your own server
  • No fee per prescription, no outside service
  • 500+ five-star reviews and Elite Author status
Pedro Lima, DevDiggers customer Kareem Al Samman, DevDiggers customer Valentina Dancheva, DevDiggers customer Diego Lopes, DevDiggers customer 5 star rating from 500+ reviews

Trusted worldwide

Store owners in 158+ countries run on DevDiggers.

Alan, DevDiggers customer Shiyanthan M, DevDiggers customer Pawel Pytasz, DevDiggers customer Marius, DevDiggers customer

Proven on Envato

Elite Author with $125,000+ in sales.