PHP Warning

Message

Undefined array key "ab__video_gallery"

Error at

app/Tygh/BlockManager/ProductTabs.php, line: 79

Backtrace

File:app/Tygh/BlockManager/ProductTabs.php
Line:79
Function:{closure}
File:app/functions/fn.products.php
Line:3857
Function:getList
File:app/controllers/frontend/products.php
Line:191
Function:fn_init_product_tabs
File:app/functions/fn.control.php
Line:727
Function:include
File:app/functions/fn.control.php
Line:458
Function:fn_run_controller
File:index.php
Line:19
Function:fn_dispatch

PHP Warning

Message

Trying to access array offset on value of type null

Error at

app/Tygh/BlockManager/ProductTabs.php, line: 79

Backtrace

File:app/Tygh/BlockManager/ProductTabs.php
Line:79
Function:{closure}
File:app/functions/fn.products.php
Line:3857
Function:getList
File:app/controllers/frontend/products.php
Line:191
Function:fn_init_product_tabs
File:app/functions/fn.control.php
Line:727
Function:include
File:app/functions/fn.control.php
Line:458
Function:fn_run_controller
File:index.php
Line:19
Function:fn_dispatch
Cs-cart Addons :: Vendor care :: Cs-cart Seller Subscription - Zclues Tech
Boston
Cs-cart Seller Subscription
$25000

Cs-cart Seller Subscription

+16175556985
Ask a question

This product is electronically distributed.

10 days
Price in points: 250 points

Minimum quantity for "Cs-cart Seller Subscription" is 1.

Description
CS-Cart Multi-Vendor Addon · Stripe-Powered
Vendor Subscription
Automate vendor plan payments with Stripe recurring billing. Free trials, promotional pricing, grace periods, auto-suspension, and a self-service billing portal — all wired directly into CS-Cart's vendor plan system.
Version 1.0 Multi-Vendor & Ultimate Stripe Recurring Billing Webhooks + Auto-Suspend By Zclues Technologies
Marketplace Admin
Enter the Stripe secret key in addon settings
Register the Stripe webhook in one click
Enable subscription requirement per vendor plan
Configure grace period, max retry attempts
Set global trial cut-off date across all plans
View all vendor subscriptions and payment history
Receive notifications on vendor suspensions
Vendor / Seller
Subscribe to a vendor plan via Stripe
Enjoy free trial days before first charge
Benefit from promotional introductory pricing
Payments auto-renew without manual action
Access Stripe Billing Portal for self-service
Update payment method to avoid suspension
Reactivate automatically after successful retry
Stripe + CS-Cart
Stripe customer created per vendor automatically
Subscription products mapped to vendor plans
Webhooks sync payment events in real time
Successful invoice → payout recorded in CS-Cart
Failed payment → grace period → auto-suspension
Cancellation → vendor status set to Suspended
All events logged in CS-Cart event log
Stripe Recurring Billing Engine
Full lifecycle management — subscription creation, renewal, failure, cancellation, and reactivation
Stripe Customer Creation
When a vendor subscribes for the first time, a Stripe Customer object is created using the vendor's email and company ID metadata. The Stripe customer ID is stored in ec_vendor_stripe_details and reused for all future billing.
Subscription Creation
Vendor plan is mapped to a Stripe subscription. The interval (monthly/yearly/one-time) and price are derived from the vendor plan data, with optional integration with cp_vendor_plan_periods for period-based pricing overrides.
Auto-Renewal
Stripe automatically charges the vendor's saved payment method at the end of each billing cycle. No manual action required from vendor or admin. Successful payments are received via webhook and logged as CS-Cart payout records.
Billing Portal
Vendors access Stripe's hosted Billing Portal to update payment methods, download invoices, and manage their subscription — all without leaving CS-Cart's vendor panel. Admin redirects vendor to Stripe's secure portal URL.
Webhook Registration
Admin creates Stripe webhooks directly from the addon settings panel in one click. Webhook URL points to the CS-Cart front-end endpoint. List of existing webhooks and their status is displayed inline. Duplicate-prevention logic checks existing endpoints before creating.
Restricted API Keys
Supports Stripe restricted API keys (no broad account access needed). Validation uses safe API calls that don't require elevated permissions. API key is masked in Smarty template assignments to prevent accidental exposure in frontend.
3 Stripe Webhook Events Handled
Every critical billing event updates CS-Cart vendor status and sends email notifications automatically
invoice.paid
Subscription ID and invoice URL extracted from payload
Vendor identified via Stripe customer ID lookup
Payment record inserted into ec_vendor_orders_of_subscription
Vendor status set to Active (reactivation if suspended)
Subscription marked is_cancel = N
Reactivation email sent to vendor if they were suspended
Payout record created in CS-Cart vendor payouts
invoice.payment_failed
Payment attempt count tracked from Stripe payload
If below max attempts → warning email sent to vendor
Remaining attempts count included in notification
Grace period countdown shown in vendor dashboard
On final failure → subscription marked cancelled
Vendor status set to Suspended (if auto-suspend = Y)
Admin notified of suspension (if notify admin = Y)
customer.subscription.deleted
Fired when subscription is cancelled or expires
Subscription record set to is_cancel = Y
Vendor status set to Suspended in CS-Cart
Cancellation notification email dispatched to vendor
Vendor must re-subscribe to regain marketplace access
Event logged in CS-Cart general event log
Vendor Plans
Per-Plan Subscription Settings
Five new fields added to every vendor plan in CS-Cart. Each plan can have its own trial, promo offer, and subscription requirement independently configured.
Activate Subscription Option
Column ec_require_subscription (char 0/1) on the vendor plan. When enabled, vendors on this plan must maintain an active Stripe subscription to continue selling on the marketplace. The admin sees a clear checkbox on the plan edit page.
Free Trial Days
Column ec_trial_days (int). Number of free trial days before the first Stripe charge. Only granted to first-time subscribers. Set to 0 to disable. Respects the global trial cut-off date — if the global date is earlier, trial ends at the global date.
Promotional Offer
Charge a special introductory fee before regular recurring billing begins. Configurable via three sub-fields: promo price, promo duration (months), and promo type. Overrides free trial when both are set for the same plan.
Promotional & Trial Pricing
Flexible introductory pricing with two distinct modes and a global trial expiry gate
One-Time Promo (onetime)
Vendor pays a single upfront fee that covers the entire promotional period. After the promo duration (N months) expires, regular recurring billing starts automatically. Ideal for flat registration or setup fees.
Recurring Promo (recurring)
Vendor pays a reduced monthly rate during the promotional period before switching to the full regular price. Used for introductory discounts like "first 3 months at half price" marketing offers.
Free Trial Period
Plan-level trial days set the Stripe trial_end timestamp. Trial is only granted to first-time subscribers (no existing active subscription). Trial ends at midnight of the last trial day to ensure the full day count.
Global Trial End Date
A date picker in the addon settings defines a global cut-off: no free trial is granted to any vendor after this date, regardless of plan settings. When both plan-trial and global-date apply, whichever ends first is used.
Promo vs. Trial Priority:  If a plan has both trial days and promotional offer enabled, the promotional offer takes priority and the trial is skipped. This allows plans to transition cleanly from trial-based acquisition to promo-fee-based acquisition campaigns without touching the trial field.
Failure Handling
Grace Period & Auto-Suspension
Configurable retry logic prevents abrupt suspensions. Vendors get warnings and multiple chances to update their payment method before anything drastic happens.
Grace Period (Days)
Number of days Stripe waits (and retries) before the addon considers the subscription failed. Default: 3 days. During this window, vendor's marketplace access remains active and Stripe handles payment retries automatically.
Max Payment Attempts
Choose 1 to 5 automatic retry attempts before triggering suspension. Default: 3 attempts. Each failure decrements the count visible in vendor warning emails. Stripe retries automatically on the schedule it calculates based on the invoice age.
Auto-Suspend on Failure
Toggle (default: Y). When enabled, after all retry attempts are exhausted the vendor's CS-Cart company status is automatically changed to Suspended. When disabled, vendor stays active but receives warning notifications.
Admin Suspension Notice
Toggle (default: Y). When a vendor is suspended, the marketplace admin receives a CS-Cart notification including the vendor name and email address. Helps admins track financially delinquent sellers and follow up manually if needed.
Vendor Payment Failure Email
Toggle (default: Y). Vendor receives an email warning on each failed payment attempt showing remaining attempts, a link to the invoice, and instructions to update their payment method via the Stripe Billing Portal.
Automatic Reactivation
When a vendor updates their payment method and Stripe successfully charges the next invoice, the invoice.paid webhook fires and automatically reactivates the vendor account. A reactivation confirmation email is sent to the vendor.
Configuration
Addon Settings Reference
All settings in one section — from Stripe credentials to notification preferences and trial expiry control.
Stripe Credentials
client_secret_key — Stripe API secret key (sk_live_... or sk_test_...). Stored in CS-Cart settings. Used for all Stripe API calls. Restricted keys are supported. The key is never passed to Smarty templates.
Trial End Date (Global)
trial_end_date — An optional global date after which no new vendors receive a free trial. Rendered with a JS date picker in the settings page (trial_end_date.tpl). Stored as a Unix timestamp.
Grace Period (Days)
grace_period_days — Default 3. How long to wait after payment fails before actioning a suspension. Stripe retries automatically during this window.
Max Payment Attempts
max_payment_attempts — Selectbox 1–5. Default 3 (Recommended). After this many failures, suspension (or review flag) is triggered. Value shown to vendor in warning emails.
Auto-Suspend on Failure
auto_suspend_on_failure — Y/N. Default Y. Toggle whether failed payment → automatic company status change to Suspended. Disabling lets admin review before taking action.
Notification Toggles
notify_admin_on_suspension — Y/N (default Y)
notify_vendor_on_payment_failure — Y/N (default Y)
Independent toggles giving admins full control over which parties receive automated emails on payment events.
Database Structure
3 new tables + 6 columns added to vendor_plans — clean install and uninstall with full SQL rollback
ec_vendor_stripe_details
Maps Stripe customer IDs to CS-Cart vendors:
id int PK AUTO_INCREMENT
vendor_stripe_id varchar(100) — Stripe cus_XXX
email varchar(255) — vendor email
company_id int(11) — CS-Cart company
ec_vendor_subscription_details
Active subscription tracking per vendor:
subscription_id varchar(255) — Stripe sub_XXX
company_id int(11) — CS-Cart vendor
interval / interval_count — billing cycle
plan_name — vendor plan name
is_cancel char(1) N/Y + status
current_period_end int timestamp
ec_vendor_orders_of_subscription
Full payment history per subscription:
subscription_id — Stripe subscription ID
invoice varchar(500) — hosted invoice URL
status varchar(25) — paid / failed
total decimal(12,2) — amount charged
company_id + email + timestamp
6 Columns Added to cscart_vendor_plans
ec_require_subscription
char(1) DEFAULT '0'
ec_trial_days
int(11) NOT NULL DEFAULT 0
ec_enable_promo
char(1) DEFAULT '0'
ec_promo_price
decimal(12,2) DEFAULT 0.00
ec_promo_duration
int(11) DEFAULT 1
ec_promo_type
varchar(20) DEFAULT 'onetime'
Admin Subscription Dashboard
Two dedicated pages in the CS-Cart backend and vendor panel for full visibility into subscriptions and payment history.
Subscription List (manage)
Paginated list of all vendor subscriptions with search and filter. Vendor admins see only their own subscription. Marketplace admin sees all. Columns: subscription ID, vendor, plan, interval, status, is_cancel, timestamp. Actions: cancel, delete, view payment history.
Payment History (orders)
Per-subscription view of all Stripe invoice payments. Sortable by timestamp, filterable by date period and status. Shows invoice URL (clickable link to Stripe-hosted invoice PDF), payment status, amount, and timestamp.
Webhook Manager
In-settings webhook management panel: shows list of all Stripe webhooks registered for the account (up to 100). Admin can create the webhook endpoint or delete existing ones. Duplicate prevention checks if the store URL is already registered.
Subscription Tab on Vendor Profile
A subscription tab injected into the vendor company edit page (via hooks). Shows current subscription status, subscription ID, plan, started date, next billing date, and quick actions: view history, open Stripe Billing Portal, cancel.
Subscription Required Banner
A front-end banner (body_content.pre.tpl) is injected on the vendor admin dashboard when the vendor's plan requires subscription but they are not subscribed or have been suspended. Includes a "Reactivate Subscription" CTA.
Vendor Payout Integration
Every successful Stripe invoice creates a CS-Cart vendor payout record via VendorPayouts::instance()->update(). The payout amount equals the invoice total. This ensures the marketplace financial ledger stays in sync with Stripe billing automatically.
Integrations
vendor_plans (Required)
Core dependency. Adds 6 new fields to the vendor plan edit form. Reads plan price, periodicity, and plan name to create corresponding Stripe subscription products and prices. The subscription requirement flag gates access for plan subscribers.
vendor_categories_fee (Required)
Listed as a required dependency. Used when processing vendor plan payments and ensuring category-based fee structures are properly reflected in subscription pricing. Must be installed and active alongside this addon.
cp_vendor_plan_periods (Optional)
When the cp_vendor_plan_periods addon is active, pricing is resolved from the period-based price table (cp_vendor_plan_period_price), mapping period type (Y=yearly, M=monthly, O=onetime) to the matching Stripe interval. Vendors can also change plans — normally blocked when this addon is not present.
Compatibility & Technical Specifications
Version
1.0
Editions
Multi-Vendor & Ultimate
Addon ID
ec_vendor_subscription
DB Tables
3 new tables
Plan Columns
+6 on vendor_plans
Developer
Zclues Technologies
Stripe Recurring Billing Stripe Billing Portal Webhook Manager Auto Webhook Registration Free Trial Periods Global Trial Expiry Date One-Time Promo Fee Recurring Promo Pricing Grace Period Days Max Retry Attempts Auto-Suspend on Failure Auto-Reactivation invoice.paid Webhook invoice.payment_failed subscription.deleted Webhook Subscription Dashboard Payment History Per Vendor Vendor Payout Sync cp_vendor_plan_periods Support Restricted API Key Support Email Notifications CS-Cart Event Log
Supplement Facts
Amount Per Serving %Daily Value
Compatible Youpitheme 10%
Comptabile versions 4.15.x 10%

* Daily Value not established.

Features
Compatible
  • Unitheme
  • Youpitheme
Comptabile versions
  • 4.18.x ,
  • 4.17.x ,
  • 4.16.x ,
  • 4.15.x
Cs-cart Core
  • Multi-vendor
Improvement For
  • Vendor
Reviews

No reviews found

Customer questions & answers.

Sort by
Please sign in to submit an answer.

No customer questions. Be the first to ask a question.

Be the first to ask a question!

You may be interested
  • Most Popular
  • On Sale
  • Recently Viewed
 
Fast and high quality delivery

Our company makes delivery all over the country

Quality assurance and service

We offer only those goods, in which quality we are sure

Returns within 30 days

You have 30 days to test your purchase