EquaShop Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
EquaShop turns WordPress into a clean subscription storefront. You define products, billing plans (monthly / every 6 months / yearly), and rich multilingual marketing content, then sell them through Stripe.
It ships a complete selling engine: a multilingual catalogue admin, a public storefront via shortcodes, a Stripe-powered checkout tunnel (subscriptions and one-off), a self-owned versioned consent referential, and native order management. The product catalogue is always unlimited and the ability to sell is never limited.
Two-layer internationalisation
- Admin strings — standard WordPress gettext (text domain
equashop), driven by the admin’s WordPress locale. The admin ships in English (source); a translation template (languages/equashop.pot) is included, and community translations are served through translate.wordpress.org. - Storefront content & strings — fully translatable by you in the five shipped languages (English, French, Spanish, German, Portuguese). Strings resolve in three steps: your admin override a built-in default for the shipped languages fall back to your default shop language.
Admin
- Products — multilingual catalogue: non-translatable fields (slug, logo, reference price), billing plans, and per-language label / description / features / benefits.
- Languages — configure your shop languages among the five shipped ones and pick exactly one default (fallback).
- Storefront translations — override every storefront string per language.
- Settings — Stripe keys, cart & storefront behaviour, demo data management.
Standalone, with optional companions
EquaShop requires no other plugin to run — it works as a generic shop for any vendor. It is part of the EquaSuite range: when the optional EquaFulfil companion plugin is installed, EquaShop delegates order fulfilment to it. It can also, entirely optionally and off by default, display content from the EquaMarket service — a remote HTTPS service, not an installed plugin (see External services). Neither is required; without them the shop stays fully functional.
Fonts
The storefront embeds the open-source fonts Plus Jakarta Sans and Inter (SIL Open Font License 1.1), so it never depends on a theme or a CDN.
External services
Stripe (payment processing — required to sell). EquaShop uses Stripe (api.stripe.com) for everything money-related. It contacts Stripe:
- at checkout, to create the Stripe customer and the subscription or one-off payment (sending the buyer’s name and e-mail, the cart contents and amount);
- to read prices, on demand and on a scheduled WP-Cron price sync you configure in Settings › Stripe sync (refreshing the cached amounts of your tariffs);
- during product import, to list your Stripe products and to download each product’s image into your Media Library;
- on the “Test connection” button in Settings › Stripe keys, to query your Stripe account.
Stripe also notifies your site by webhook (Stripe your site) to record paid orders and renewals. Stripe Terms: https://stripe.com/legal — Stripe Privacy: https://stripe.com/privacy
EquaMarket content service — marketing.equadev.fr (optional, opt-in — OFF by default). EquaShop can display EquaSuite news and offers as an admin banner and an “EquaSuite” page inside the WordPress admin. This feature is off by default and only makes a request if you explicitly authorise it in Settings › EquaSuite — a technical server-call authorisation, distinct from any marketing consent, revocable at any time. When enabled, and only while viewing an EquaShop admin screen, the plugin requests this content over HTTPS from https://marketing.equadev.fr. It sends the technical values needed to serve the right content: the plugin identifier (equashop), the content edition it runs (free), and the language of the plugin’s admin display. In addition, WordPress’s own HTTP user-agent carries your site’s URL and WordPress version, and — as with any request — your server’s IP address is visible to the server it contacts; none of these transport values is used. No personal data is collected for marketing or prospecting when querying the marketing.equadev.fr server. The content is display-only (admin-only, never on the storefront). Terms of use for this service are the EquaShop End-User Licence Agreement — https://equasuite.equadev.fr/contrat-de-licence/ .
For developers
EquaShop exposes a small, stable set of public extension points so other code can react to its lifecycle and integrate with it. None of them are required to run the shop; each is simply a documented moment (a hook or a method) you may use.
Payment signal
equashop_payment_processed(action) — fires once a paid order has been recorded, on both the subscription and the one-off checkout paths. Listeners receive one associative-array payload with a fixed, versioned key shape (the payment hook, contract v4). Use it to react to a completed sale — fulfilment, CRM, accounting, and so on.
PHP API façade
EquaShop_Api(class) — a read-mostly, static-method integration surface for in-process consumers; always call it under your ownclass_exists( 'EquaShop_Api' )guard. Catalogue identity:enumerate(),get_product(),count(). Availability verdict:set_availability()(a binary in-stock / out-of-stock verdict). Order read and sync:get_order(),get_orders_by_ids(),orders_cursor(),orders_delta(),set_order_status(),update_order_field(). Method names and return shapes are kept stable (contract version 3).
Lifecycle & data hooks
equashop_after_create_tables(action; args: table prefix, charset/collate) — fires after the base tables are created or upgraded, on both fresh install and upgrade. A moment to create your own related tables.equashop_after_seed(action) — fires after the base seed data is written. A moment to seed your own related data.equashop_before_product_delete(action; arg: product id) — fires just before a product (and its i18n and price rows) is deleted.equashop_before_price_delete(action; args: product id, months) — fires just before a single tariff row is deleted.equashop_product_save_columns(filter; args: columns map, submitted data) — filter the column/value map written when a product is saved. With no listener the map is unchanged.equashop_product_price_saved(action; args: tariff row id, tariff data) — fires after each tariff row is upserted during a product save.equashop_demo_installed(action; arg: array of product ids) — fires after the demo products are installed.equashop_demo_removed(action) — fires after the demo data is removed.equashop_fulfilment_active(filter; default false) — return true to take over the native Orders screen; used by a fulfilment companion plugin (returns false when none is present).equashop_checkout_finalize_error(action; args: stage, product slug, WP_Error or null) — fires when a checkout line cannot be finalised (coupon or subscription), for logging or alerting.equashop_content_slot(filter; defaultfree) — the opaque content-set key sent to the EquaMarket content service (see External services); it names which content set the server should return. Return a different key to request another content set.
Screenshots
No screenshots provided

