- Define global billing periods (value + type + label)
- Assign multiple periods with individual prices to each vendor plan
- Set default period per plan
- Add custom feature text to any plan
- Monitor vendor payment compliance via CRON
- Customize all UI colors from addon settings
- Browse all available plans with period options side-by-side
- Choose preferred billing cycle (monthly / yearly / one-time)
- See automatic savings badges for longer-term plans
- Panel access restricted when subscription payment is overdue
- Redirected to plan renewal page on overdue payment
- Automated periodic payment compliance check
- Password-protected CRON endpoint
- Integrates with ec_vendor_subscription for Stripe-based check
- Falls back to vendor_payouts table when subscription addon is inactive
- Restores pay-period data on addon uninstall
The addon introduces a global pool of reusable billing periods. Each period defines a value (numeric quantity) and a type (time unit). Periods are then linked to vendor plans with plan-specific prices.
MYWDODefault install creates three global periods automatically: 1 Month (M), 1 Year (Y), 1 One-time (O) — with descriptions pulled from the active CS-Cart language. All existing vendor plans are automatically migrated to their matching default period on install.
Dedicated page at Add-ons → Vendor Plan Periods → Periods. Add, edit, or delete any period. Each row shows the numeric value, type selector, and a multilingual description field. Periods in use by plans show a direct link to those plans instead of a delete button.
Inside each vendor plan's detail page, the admin assigns one or more period tiers. Each tier links an existing period (e.g., 1 Month) with a specific price for that plan. The first tier at position 0 becomes the plan's base price shown in the system.
A new Custom Features textarea is added to every vendor plan. Admins write any extra feature bullets here. The content is stored in the cp_custom_features column of the vendor_plans table.
When a vendor's billing period expires, the addon detects the overdue state and redirects every vendor panel page to the plan renewal screen. Only vendor_plans, profiles, auth and payments controllers remain accessible until payment is resolved.
Six hex-color inputs in the addon settings let the admin brand the storefront plan UI: Primary, Secondary, Success, Danger, Warning, and Info. A live color-preview template shows how selections look before saving.
A password-protected CRON endpoint at cp_vendor_plan_periods.async triggers the vendor debt / overdue-payment check. The CRON password is configurable in addon settings and defaults to cron_vendor_plan. A "Run Manually" button is available in the settings panel.
Plans displayed in a responsive card grid. Each card shows the plan name, all available period tiers as radio selectors, feature list, and a "Choose Plan" CTA button.
Automatically calculates and shows a "Save $X" badge when a multi-month or yearly tier is cheaper per month than the base monthly rate. No configuration needed — fully automatic.
Each plan card shows period choices as styled radio buttons. Selecting a period updates the plan price display and CTA link in real time via JS. Single-period plans hide the selector automatically.
When a vendor's subscription is overdue, a prominent error notification is shown and the vendor is immediately redirected to the plan renewal page. The danger color from settings is used for the warning banner.
cscart_cp_vendor_plan_periods
— Period definitions
cscart_cp_vendor_plan_periods_description
— Multilingual labels
cscart_cp_vendor_plan_period_price
— Plan × Period pricing
cp_vendor_plan_period_period_id
cp_vendor_plan_period_period_id
cp_custom_features
When the Stripe-based subscription addon is active, overdue detection checks ec_vendor_subscription_details first. If the subscription is active with a valid current_period_end, the vendor is not blocked. Falls back to vendor_payouts when the table does not exist.
Required core dependency. The addon hooks into fn_vendor_debt_payout_check_debts() for the CRON endpoint and extends vendor_payouts with the period column so every payment record knows which billing period it covered.
Hooks into plan save, delete and plan list retrieval. On plan save it writes period-price rows; on plan delete it removes orphan price rows; on list it appends periods_data to each plan object for the storefront to consume.
cron_vendor_plan. Call as: …async?cron_pass=YOUR_PASS- CS-Cart Multi-Vendor (any recent version)
- Core addon
vendor_plansenabled - Core addon
vendor_debt_payoutenabled - PHP 7.4+ (uses typed properties)
- InnoDB MySQL engine
All period descriptions are stored per language code. Supplied translations include English (en), Arabic (ar), and Russian (ru). On install, period labels are automatically populated in every active store language.
On uninstall, the addon restores plain month / year / onetime periodicity values back to the core vendor_plans table using the first-position (base) period. A warning notification is triggered asking the admin to review plan settings.
| Compatible | Youpitheme | — |
* Daily Value not established.
- Unitheme
- Youpitheme
- 4.18.x ,
- 4.17.x ,
- 4.16.x
- Multi-vendor
- Admin
- Vendor
No reviews found