Shop Add-on for Larapen
Latest: v1.0.48 6 November 2026 19 releases
Back to product
    • Added a Refunds tab to the shop settings to specify a shop-wide refund policy: refund period (no refunds, 7-day, 14-day, 30-day or 6-month money back guarantee) and an optional translatable fine print (shop_refund_policy_enabled, shop_refund_period, shop_refund_fine_print settings)
    • Any product (physical, digital or external) can now specify its own refund policy from its create/edit form, overriding the shop-wide one (shop_products.refund_policy_enabled, refund_period, refund_fine_print)
    • The effective refund policy is displayed in the purchase box of the product page (digital and physical layouts, all themes), with the fine print in a collapsible block
    • Product JSON-LD now declares the refund policy as a schema.org MerchantReturnPolicy on each offer
    • Service plans now support the same checkout types as products: internal (cart & checkout) or external (affiliate link) with a configurable URL and link target (shop_service_plans.checkout_type, external_url, external_url_target)
    • External service plans are displayed on the product page with a Buy Now link to the affiliate URL instead of the add-to-cart button, and can no longer be added to the cart
    • Added a Checkout filter to the admin service plans list to filter plans by internal/external checkout
    • Service plans can now have a custom icon picked with the admin icon selector; when unset, the plan keeps the default icon of its kind (shop_service_plans.icon)
    • The shop landing page at /shop is now a dedicated, customizable home page; product browsing, search and sorting moved to /shop/products
    • Added a configurable hero banner to the shop home page with a translatable heading, subheading and call-to-action button, plus the same styling controls as the page header: header height, content alignment, background color/gradient/image with overlay, and title, subtitle and breadcrumb colors
    • Added admin-managed product sections to build the shop home page (Featured, Latest, Best sellers, On sale, By category and Hand-picked), each reorderable, individually enabled, with an optional per-language title/subtitle and a max-products limit; empty sections are hidden automatically
    • Added a curated 'Featured product' flag on products, surfaced by the Featured section of the home page (shop_products.is_featured)
    • Added a Hand-picked section that displays specific products chosen by the admin, in the chosen order
    • Service plans can now be marked 'customers only' so they are shown (as a recommended service) and can be purchased only by users who already own a linked product, ideal for version-upgrade and managed-hosting plans (shop_service_plans.customers_only)
    • Added a Shop setting to enable or disable service plan visibility for non-customers; when off, only buyers of the product see its recommended service plans (shop_service_plans_show_to_non_customers)
    • Recommended service plans on the product details page are now filtered by the visitor: customers see every plan for products they own, while non-customers only see the non-customer plans (and only when the setting above is on)
    • Digital products can now connect to a git repository (GitHub, GitLab, Bitbucket or a custom private git) and turn each annotated tag into a downloadable release, with a Test Connection and a Create Archive button on the product form
    • Added a 'New release' action on the products list that builds a fresh archive from the latest annotated tag and replaces the previous file
    • Buyers whose update access has lapsed can now request a private, time-limited link to the exact version their license covers, and are emailed when it is ready
    • Buyers of updatable products are subscribed by default to update notifications and are emailed when a new version is released (unsubscribe from the order page); admins can skip notifying for a given release
    • A license key's Expires At is now driven by the product's update-access window, and extending update access advances the linked license key's expiry
    • Added shop_products git columns, shop_product_releases and shop_version_downloads tables, and the shop_order_items.update_notifications_opt_in flag
    • Products can now be assigned a FAQ category (from the FAQ add-on) whose questions are shown on the product details page (shop_products.faq_category_id)
    • Products can now require one or more other products, shown as an informational notice on the product details page. Requirements can be split into groups that combine with AND, each group requiring all of its products (AND) or any one of them (OR), e.g. "App AND (one of Shop, Booking)" (shop_products.requirements_logic and the shop_product_requirements table, including its group_index and group_logic columns)
    • Digital products can now list CodeCanyon-style technical details (stacks & compatibilities): pick a digital file type (code, graphic, image, video, audio, document) that tailors which fields show, then fill grouped tag lists such as Languages, Frameworks, Compatible Browsers, Software Version and Files Included: shown on the product details page (shop_products.digital_file_type and shop_products.tech_specs)
    • Products can now belong to more than one category: on top of the primary category, pick additional categories on the product form and the product is listed on every one of them (shop_category_product pivot table)
    • External (affiliate) products can now choose whether their Buy Now link opens in a new tab or the same tab (shop_products.external_url_target)
    • Added shop settings to enable or disable the 'Buy Now' and 'Add to Cart' buttons independently, plus a default-button selector used when both are enabled
    • Product detail pages now show every enabled button (default first); product listing pages show only the default button
    • Added a per-product override so individual products can force both buttons, a single button, or hide them, falling back to the shop-wide settings when set to inherit
    • When update access lapses, downloads are now update-aware: buyers keep downloading as long as the digital file has not been updated past their access end. A newer update published after their window (or an undeterminable file age) falls back to blocking until the buyer renews
    • Added a configurable update-access grace period (Digital Products settings) during which downloads still work after the access end
    • Added an admin action on the order page to manually extend a digital item's update-access window (support override)
    • The order page now distinguishes 'updates ended but current version still available' from 'access expired' states
    • Added translation keys (en, fr, ar): settings.update_access_grace_days(_help), update_access_renewal.updates_ended_open/admin_extend/admin_extended
    • Added an 'Updatable product' option to digital products: when enabled, the per-order download limit is waived so buyers can always re-download the latest file to get free updates
    • The admin product form now shows the digital file's last-modified date, read from storage
    • The digital product details page now uses the digital file's last-modified date as the 'Last Updated' value, falling back to the product's updated_at date when the file date is unavailable
    • Added the optional list_image column to shop_products for a dedicated collection/listing image, used on product cards when set and falling back to the featured image otherwise
    • Added an 'Update Access' setting to the shop Digital Products settings tab: sets the default number of months buyers of an updatable digital product can keep downloading new versions after purchase
    • Added a per-product override so individual products can define their own update access window, falling back to the shop-wide default when left empty
    • Updatable digital products now grant download access for the update access window instead of the standard download-expiry days
    • Buyers can now pay to extend (renew) their update access once it nears or passes expiry; the renewal price is a percentage of the product price (shop-wide default, overridable per product)
    • Buyers receive an email reminder before their update access lapses, reusing the services renewal reminder schedule
    • Added a distinct marketplace-style (CodeCanyon-like) product details page for digital/downloadable products, while physical products keep the classic e-commerce layout
    • Added the optional live_preview_url column to shop_products for a public demo/preview link, editable from the product form when 'Digital Product' is enabled
    • Buy Now on digital products now adds the item to the cart and proceeds straight to checkout
    • Product details tabs reflect the active tab in the URL hash and restore it on reload
    • The Support tab links to the helpdesk ticket page and only shows when the helpdesk add-on is active
    • Hidden shipping summary row, Track Order tab and the 'Same as billing address' checkbox for digital-only carts
    • Hidden physical-only Feed Data fields (condition, GTIN, MPN, weight, weight unit) for digital products in the admin, and reset them on save so merchant feeds never emit stale shipping data
    • Added a 'Catalog Type' (physical/digital) setting that switches the shop, category and search listing pages to a marketplace-style, digital-friendly card layout
    • Added Service Plans: attachable one-time (e.g. installation) and recurring (e.g. management & updates) services sold alongside products, suggested on the product page and added to the cart at purchase time
    • Added a customer 'My Services' account page and an admin 'Purchased Services' screen, with renewal reminders and expiry driven by the shop:process-service-renewals scheduled command
    • Added a customer address book (My Addresses) so logged-in customers can save billing and shipping addresses with separate defaults and reuse them at checkout