Stop Customers from Buying Things They Already Own
One badge on the product page. Purchase count, last purchase date, link to their order. The thing your store already knows — finally shown where it matters.
Everything Your Customer Needs to Know — Right on the Product Page
Your order history already has all the answers. Already Purchased Badge just puts them where people can see them.
Already-Purchased Badge
Logged-in customers see "You've purchased this before" the moment they land on a product they own. Calm, clear, right there on the page.
Purchase Count
"Purchased 3 times" means three separate orders — not three line items on one cart. The count a human would give. Configurable by order status.
Last Purchased Date
"Last purchased March 5, 2026" — shown in your store's configured date format. No guessing, no hunting through order history.
One-Click View Order Link
A direct link to their most recent order for this product. One click and they're reviewing their invoice. No login required — they're already in.
5 Display Positions
Before the product detail, before or after the title, before or after the Add to Cart button. It fits your layout. Not the other way around.
Re-Purchase Guard
For products that should only sell once — downloads, software, courses — replace the cart button with an ownership notice. "You already own this item." Done.
Active Subscription Detection
Subscription products automatically surface the customer's subscription status. Active? "No need to purchase again." Expired? "Your subscription ended [date]. You can renew below."
Qualifying Status Filter
Choose which order statuses count as a "purchase." Only Confirmed and Shipped? Fine. Include Pending? Your call. Cancelled orders never count by default.
Bootstrap 5 + UIkit 3 Templates
Works with both major J2Commerce frontend themes, automatically detecting the right one for the current page. Styled. Responsive. No extra config.
Real-World Use Cases
Your Store Already Has the Answer. Time to Show It.
Every double-purchase refund, every "did I already buy this?" support email, every confused subscriber — preventable. One plugin. Five minutes. Done.
Translated In The Following Languages
Arabic Unitag (ar-AA), Chinese, Traditional (zh-TW), Danish (da-DK), Dutch (nl-NL), English (en-GB), English, USA (en-US), Finnish (fi-FI), French (fr-FR), German (de-DE), Greek (el-GR), Hebrew (he-IL), Italian (it-IT), Japanese (ja-JP), Norwegian Bokmål (nb-NO), Persian Farsi (fa-IR), Polish (pl-PL), Portuguese, Brazil (pt-BR), Portuguese, Portugal (pt-PT), Russian (ru-RU), Spanish (es-ES), Swedish (sv-SE), Turkish (tr-TR)
License Information
An active license entitles you to updates, downloads, and support for the duration of the license period. You may continue using this plugin indefinitely without an active license; however, support, updates, and downloads will not be available while your license is inactive.
- Developer J2Commerce
- Extension Type Apps
- J2Commerce Version 6.x
- Joomla Version 6.x
Arabic Unitag
Chinese, Traditional
Danish
Dutch
English
English, USA
Finnish
French
German
Greek
Hebrew
Italian
Japanese
Norwegian Bokmål
Persian Farsi
Polish
Portuguese, Brazil
Portuguese, Portugal
Russian
Spanish
Swedish
TurkishFix Casing fixed for type attribute of fields
New Feature Amazon-style "already purchased" badge on product detail for repeat buyers
New Feature Show purchase count, last-purchased date, and View Order link
New Feature Optional re-purchase restriction by product type with shopper notice
New Feature Subscription-aware notice for active or expired subscription products
New Feature Configurable badge position (before/after title, before/after cart, detail)
New Feature Full localization in 20 languages
New Feature Bootstrap 5 and UIkit subtemplate variants
New Feature Order-status filter to define which orders count as a purchase
Improvement Native Joomla 6 MVC plugin with namespaced extension class and DI services
Update Requires Joomla 6.x + J2Commerce 6.x
The Re-Purchase Guard — Because "Add to Cart" Isn't Always the Right Button
For downloadable products, software licenses, digital courses, and certificates — anything where a second sale creates a refund request instead of revenue — one switch in the admin changes everything. Returning buyers who already own the product see an ownership notice instead of a cart button.
- Applies to the product types you choose — downloadables by default
- Works with custom product types added by other J2Commerce extensions
- Friendly message: "You already own this item — find it in your orders"
- No impact on new customers or guest browsers — only shown to verified owners
Subscription-Aware Out of the Box
Subscription products are handled automatically — no extra configuration needed. The plugin detects whether the logged-in customer's subscription is currently active or has lapsed, and shows the right message for each state.
- Active subscriber: "You have an active subscription — no need to purchase again"
- Lapsed subscriber: exact end date shown + cart button remains for renewal
- No accidental double-subscriptions for active members
- Expired members see a clear, nudging re-engagement prompt — not a confusing wall
You may also be interested in these products
Stay Updated
Subscribe for free and be the first to know about the latest features, updates, and new additions.