Selling prescription medicine online comes down to three rules. The customer cannot check out without a prescription. Nothing ships before someone qualified has looked at it. And the prescription never ends up in a folder the public can open. Prescription for WooCommerce plugin handles all three for
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.5 and PHP 7.4.
SourceWordPress plugins · Oct 21, 2026
01 / Source details
Aboutthistool.
Selling prescription medicine online comes down to three rules. The customer cannot check out without a prescription. Nothing ships before someone qualified has looked at it. And the prescription never ends up in a folder the public can open.
Prescription for WooCommerce plugin handles all three for online pharmacies, chemists and medical stores. Pick the products that need a prescription. Customers upload their Rx on the cart or checkout page, and the order waits in a holding status until your pharmacist approves or rejects it from the WooCommerce order screen.
Think of it as a prescription upload field and a pharmacy order approval step built into WooCommerce. A person on your team verifies every prescription. Prescriptions are never sent to an outside service. There is no AI scanning, no API key and no fee per prescription. Every file stays on your own server, in a private folder that only the customer and your reviewers can open.
Quick links
View Demo
View Pro Plugin Demo
Documentation
Support
Upgrade to Pro
How it works
01You choose which products need a prescription: whole categories, the entire store, or single products.
02The customer adds a product and uploads a photo or scan of their prescription on the cart or checkout page.
03WooCommerce creates the order and moves it to a holding status, such as On hold, so it is not fulfilled yet.
04Your pharmacist opens the order, views the file and approves it, rejects it, or asks the customer for more information.
05The customer gets an email, and the order moves to the status you picked, for example Processing after an approval.
What the free plugin does
Require a prescription for selected products
Not every product in a pharmacy needs a prescription. You decide where the rule applies, and customers see it before they add anything to the cart.
Require a prescription for chosen product categories, or leave the list empty to require one for every product
Exclude single products from a category rule
Set any product to always require a prescription, never require one, or follow the category rule
A “Requires Prescription” label on shop, category and product pages, with your own text and colours
A short note for customers explaining what to upload
Works with simple and variable products
Prescription upload field on the cart and checkout page
Customers attach their prescription where they are already buying. The upload box supports drag and drop, and you choose where it appears on each page.
Upload box on the cart page, the checkout page and the order details page
Works with the classic checkout and the WooCommerce Cart and Checkout blocks
Accepts JPG, PNG, WEBP, HEIC, PDF, DOC and DOCX files
Several files per order, up to a limit you set
Guests and logged in customers can both upload at checkout
Checkout is blocked on the server until a prescription is attached, so it cannot be skipped by turning off JavaScript or calling the Store API directly
Attach Later lets logged in customers place the order now and upload the prescription from their order page afterwards
Pharmacy order approval: hold the order until a pharmacist approves
This is the part that keeps prescription medicine from shipping early. New prescription orders go to a holding status and stay there until someone makes a decision.
Choose the holding status, such as On hold
The hold stays in place even with Cash on Delivery, bank transfer and card gateways that would normally move a paid order straight to Processing
Approve, reject or request more information from the WooCommerce order screen, with a message the customer can read
Choose where the order goes on approval and on rejection
Require a reason before a prescription can be rejected, so no customer is refused without an explanation
Every decision written to the order notes
Prescription verification queue for your pharmacist
All orders with a prescription are in one place, so your pharmacist is not searching through every WooCommerce order.
Orders screen with a tab for each prescription status: awaiting upload, pending review, approved, rejected and information requested
Search by order number, billing email or customer name
Prescription status column on the WooCommerce orders list
Dashboard with orders awaiting review, approved, rejected and waiting on the customer, an activity chart, the status mix and the prescriptions that have waited longest
Setup wizard that switches the workflow on in a few short steps
Private, secure prescription file storage
A prescription is a health record, so the plugin never leaves it in the public uploads folder.
Files are saved to a private folder with a random name that is unique to your site
The folder includes deny rules for Apache and IIS servers
Files open only through a checked link, for the customer who uploaded them and for administrators and shop managers
Anyone else who opens the link, even with the full URL, sees an Access denied page
Prescription files are hidden from the Media Library for everyone except administrators
Prescription emails and customer re-upload
Customers know where their order stands without contacting you.
Customer emails when a prescription is approved, rejected or needs more information, sent with your WooCommerce email template and including the reviewer’s message
An email to the store when a new prescription is waiting for review
Recipients, format and footer managed under WooCommerce > Settings > Emails
Self Service shows a refused customer the reviewer’s message on their order page and lets them upload a new file there
There is no limit on orders, prescriptions, files or reviewers in the free version.
Who this is for
Online pharmacies and chemists selling prescription only medicine. Medical supply stores that need a doctor’s prescription for certain equipment. Optical stores that ask for a copy of the eye prescription before selling contact lenses. Any WooCommerce store where a qualified person has to check a document before an order is fulfilled.
The plugin collects and stores the prescription document and gives your team an approval workflow. It does not read the file automatically, and it does not replace the checks your local pharmacy rules require.
Free vs Pro
The free plugin covers the full workflow, from the upload at checkout to the approval email. Prescription for WooCommerce Pro is for pharmacies with more volume, a review team or stricter record keeping. It installs on top of the free plugin.
Faster prescription review (Pro)
Review workspace with the file, the details and the decision side by side, zoom and rotate, and a jump to the next prescription without a page reload
Approve or reject several orders at once from the Orders screen
Saved replies for the refusal messages you write every day
Pharmacist user role that can review prescriptions without shop manager access
Assign prescriptions to a named pharmacist, set a review target in hours and see overdue badges
Prescription details and prescriber checks (Pro)
Ask for the patient name and age, prescribing doctor, registration or licence number, date of issue and expiry date next to the upload box, and choose which are mandatory
Prescriber registry to mark doctors as verified, on watch or blocked, with a warning when one appears on an order
Prescriber verification link, a private expiring link the doctor can use to confirm the prescription without an account
Duplicate warning when the same file was already used on another order
Repeat customers and refills (Pro)
Prescriptions tab in My Account listing every prescription with its status and files
Returning customers reuse an approved prescription at checkout instead of uploading again, counted against a refill allowance
Approved prescriptions expire after a period you set, with a warning email before they lapse
Reminder emails for orders still waiting for a prescription
Maximum quantity of a controlled product per order
Records, emails and reports (Pro)
Audit trail of every decision and an access log of who opened each file, with time and IP address
Consent checkbox at checkout, with the wording, date and IP address stored on the order
Data retention that deletes old prescription files, or files and patient details, on a schedule
Email editor for the subject, heading and body of every customer email
Pharmacy analytics with approval rate, review time, revenue approved and on hold, top prescribers and products, reviewer activity and refusal reasons
CSV export of prescriptions
A note from the founder
Hi, I am Yash Kapoor, founder of DevDiggers. WooCommerce ships a box of antibiotics the same way it ships a phone case. I built this plugin so no prescription order moves until a pharmacist has checked the file. My team keeps it updated for every new WooCommerce release, and the developers who wrote it answer the support forum.
Have a question? Ask in the support forum or message me directly on LinkedIn .
External services
This plugin does not send prescriptions, customer data or order data to any outside service. The bundled DevDiggers framework, which draws the admin screens, connects to the services below. All of them run only inside the WordPress admin.
1. DevDiggers extensions directory
What it is: A read only API on devdiggers.com that returns the public list of DevDiggers extensions.
What it is used for: Showing available DevDiggers extensions on the Extensions admin page.
When data is sent: Only when a logged in administrator opens the Extensions admin page. The response is cached for 24 hours.
What data is sent: A standard outbound HTTP request only, meaning your server’s IP address and a plugin user agent string. No personal data and no store data are sent. The page also loads each listed extension’s image from devdiggers.com in the administrator’s browser.
What it is: A contact and newsletter endpoint on devdiggers.com.
What it is used for: Adding your email address to the DevDiggers newsletter, only if you choose to subscribe.
When
See it in action
Screenshots & previews.
Prescription dashboard with review counts, the activity chart, status mix and review queuePrescription upload box on the WooCommerce checkout page, with Attach Now and Attach Later"Requires Prescription" label on a product pageOrders with Prescriptions screen with status tabs, file previews and searchMedical Prescription Review box on the order screen, requesting more information from the customerGeneral settings: turn the workflow on and choose the categories that need a prescriptionDesign settings for the product label text, colours and customer noteCustomer Experience settings for Attach Later and Self Service re-upload
02 / Source details
Gettingstarted.
Automatic installation
01Go to Plugins > Add New in your WordPress admin.
02Search for “DevDiggers Prescription for WooCommerce” by DevDiggers.
03Click Install Now , then Activate .
04Follow the setup wizard, or go to Prescriptions > Configuration .
Manual installation
05Download the plugin ZIP file.
06Go to Plugins > Add New > Upload Plugin and choose the ZIP file.
07Click Install Now , then Activate .
After activating
08Run the setup wizard, or turn the plugin on under Prescriptions > Configuration > General .
09Choose the product categories that need a prescription.
10Pick the holding status and the approval status under Configuration > Review Workflow .
11Place a test order to see the upload box and the approval flow.
Requirements
12WordPress 6.5 or higher
13WooCommerce 9.0 or higher
14PHP 7.4 or higher
03 / Source details
Frequently asked questions.
How do I add a prescription upload field to WooCommerce checkout?
Install the plugin, turn 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, and they cannot place the order until a file is attached.
Can I require a prescription for some products only?
Yes. Choose categories under Configuration > General and exclude single products there. You can also open any product, go to its General tab and set it to always or never require a prescription.
Will the order ship before the prescription is approved?
Not if you set a holding status under Configuration > Review Workflow . New prescription orders move to that status and stay there even when the payment gateway would normally mark them Processing. Approving the prescription moves the order to the status you chose for approvals.
How does a pharmacist approve or reject a prescription?
Open the order from Prescriptions > Orders or the WooCommerce orders list. The Medical Prescription Review box shows the uploaded files. Choose a decision (approve, reject or request more information), add a message for the customer if needed, and update the order.
Does it work with the WooCommerce block checkout?
Yes. The upload box appears in the Cart and Checkout blocks, and the prescription requirement is also checked through the Store API.
Can guests upload a prescription?
Yes, guests can upload at checkout. Attach Later, which lets a customer place the order first and upload afterwards, is only for logged in customers, because they need their order page to come back to.
Which file types can customers upload?
JPG, PNG, WEBP, HEIC, PDF, DOC and DOCX. You set the maximum number of files per order under Configuration > Prescription Rules .
Where are prescription files stored, and who can see them?
On your own server, in a private folder inside wp-content/uploads with a random name unique to your site. Files open only through a checked link, for the customer who uploaded them, administrators and shop managers. Anyone else gets an Access denied page. The folder location is shown under Configuration > Compliance so you can include it in backups.
Does it work on nginx?
Yes. nginx ignores the Apache and IIS deny rules, but the random folder name keeps the files from being found, and every file is still served through the checked link.
Does the plugin verify prescriptions automatically or with AI?
No. A person on your team reviews each prescription. The plugin does not send files to any outside or AI service. Pro adds tools that help with the check, such as a prescriber registry, duplicate file warnings and a verification link sent to the prescribing doctor.
Can I use it as a general checkout file upload?
It is built for prescriptions, but the same flow works for any document a person must check before an order ships, such as a doctor’s note for medical equipment or an eye prescription for contact lenses. The upload is tied to the products you choose, and the order is held until someone approves it.
Can a customer replace a rejected prescription?
Yes, with Self Service turned on under Configuration > Customer Experience . The customer sees the reviewer’s message on their order page and can upload a new file there.
Can I change the wording of the prescription emails?
The free version sends complete messages for approved, rejected and more information requests, and includes the reviewer’s message. Recipients, email format and footer text are set in WooCommerce > Settings > Emails . Rewording the subject, heading and body of each email is a Pro feature.
Can I use it for contact lenses or glasses?
Yes, if you need the customer to upload a copy of their prescription before you sell to them. It does not add a form for lens values such as sphere, cylinder or pupillary distance.
Does this make my store HIPAA or GDPR compliant?
No plugin can do that on its own. This plugin keeps prescriptions on your server in a private folder and limits who can open them, which helps. Consent records, access logs and scheduled deletion of old prescriptions are Pro features. Check the rules that apply to your pharmacy with a qualified advisor.
Is there a limit on orders or prescriptions?
No. The free version has no cap on orders, prescriptions, files or reviewers.
Does it support HPOS?
Yes. The plugin declares compatibility with WooCommerce High Performance Order Storage and with the Cart and Checkout blocks.
Will my prescriptions be kept if I upgrade to Pro?
Yes. Pro installs on top of the free plugin and reads the same order data, so every existing prescription stays in place.
Can I translate the plugin?
Yes. It is translation ready and ships with a POT file in the i18n folder.
Where can I get help?
Use the WordPress.org support forum or contact DevDiggers .
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati