Feature #9757
openFeature #9602: New Tenant Onboarding Flow
Feature #9605: Company Onboarding Flow
SaaS Top-up Creation Flow Integration
100%
Description
Handles top-up plan options configuration inside the new unified dashboard creation form (form.planType === 'topup').
Ensures backend sync saves the resource type and units (topUpType, topUpUnits) while bypassing Stripe setup appropriately.
Subtasks
Related issues
Updated by Pavan Kumar Murala 25 days ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
We have analyzed the frontend and backend repositories and confirmed that the core foundation for this flow is already set up:
Frontend Creation Form (evergreen_pos_fe/src/pages/Onboarding/SaasPlansPage.tsx):
The UI form state dynamically handles form.planType === 'topup'.
When the plan type is set to 'topup', the UI switches fields to display the Top-up Resource Type selection (SMS, Emails, Users, Stores, Storage, API) and the input for Top-up Units, hiding the standard subscription checklists.
Unified list logic displays top-up resource units directly inside the corresponding table limits columns.
Backend Plan Model Schema (evergreen_pos_be/src/models/superadmin/saas-subscription-plan.model.js):
The model defines planType with the topup enum option.
It contains standard fields to support top-ups: topUpType (e.g. top_up_sms, top_up_email, etc.) and topUpUnits.
Bypassing Stripe Integration (evergreen_pos_be/src/services/superadmin/saasPlan.service.js):
Line 43 has a guard check that explicitly returns the plan immediately without setting up recurring prices in Stripe if the plan is a top-up:
javascript
if (!stripe || plan.planType === "free" || plan.planType === "enterprise" || plan.planType === "topup") return plan;