@quantabit/subscription-sdk
v1.0.3
Published
QuantaBit Subscription SDK - Paid subscriptions, plan management, and usage tracking
Maintainers
Readme
@quantabit/subscription-sdk
QuantaBit Subscription SDK - Paid subscriptions, plan management, and usage tracking
✨ Features
- 📋 Plan Management - Free, Starter, Professional, Enterprise tiers
- 💰 Billing Cycles - Monthly, quarterly, and yearly billing support
- 📊 Usage Tracking - Real-time usage monitoring with quota limits
- 🧾 Invoice Management - Invoice history and billing details
- 🔐 Feature Gating - Check feature access based on subscription tier
- 🌍 Multi-Language - Built-in Chinese/English translations
📦 Installation
npm install @quantabit/subscription-sdk
# or
yarn add @quantabit/subscription-sdk🚀 Quick Start
1. Setup Provider
import { SubscriptionProvider } from "@quantabit/subscription-sdk";
function App() {
return (
<SubscriptionProvider
apiUrl="https://api.example.com/v1"
token="your-auth-token"
>
<YourComponent />
</SubscriptionProvider>
);
}2. Using Components
import { PlanCard, PlanList, SubscriptionStatusCard, UsageBar, UsageOverview, InvoiceList } from '@quantabit/subscription-sdk';
// Plan list
<PlanList
onSelect={(plan) => handleSubscribe(plan)}
currentPlan="starter"
/>
// Single plan card
<PlanCard
plan={planData}
isCurrent={true}
onSelect={(plan) => handleUpgrade(plan)}
/>
// Subscription status
<SubscriptionStatusCard showRenewButton showUsage />
// Usage bar
<UsageBar feature="api_calls" max={10000} current={7500} />
// Usage overview
<UsageOverview showAllFeatures />
// Invoice list
<InvoiceList pageSize={10} showDownload />3. Using Hooks
import {
useSubscription,
useSubscriptionPlans,
useUsage,
useInvoices,
useFeatureCheck,
useSubscriptionActions,
} from "@quantabit/subscription-sdk";
function MyComponent() {
// Current subscription
const { subscription, loading } = useSubscription();
// Available plans
const { plans, loadPlans } = useSubscriptionPlans();
// Usage tracking
const { usage, checkQuota, getUsagePercent } = useUsage();
// Invoice history
const { invoices, loadInvoices } = useInvoices();
// Feature access check
const { hasFeature, getRemainingQuota } = useFeatureCheck();
// Subscription actions
const { subscribe, upgrade, cancel, pause, resume } =
useSubscriptionActions();
return <div>...</div>;
}📖 Type Definitions
import {
SubscriptionStatus,
BillingCycle,
SubscriptionTier,
} from "@quantabit/subscription-sdk";
// Subscription status
SubscriptionStatus.ACTIVE; // Active
SubscriptionStatus.PAUSED; // Paused
SubscriptionStatus.CANCELLED; // Cancelled
SubscriptionStatus.EXPIRED; // Expired
SubscriptionStatus.TRIAL; // Trial
SubscriptionStatus.PENDING; // Pending
// Billing cycles
BillingCycle.MONTHLY; // Monthly
BillingCycle.QUARTERLY; // Quarterly
BillingCycle.YEARLY; // Yearly
// Subscription tiers
SubscriptionTier.FREE; // Free
SubscriptionTier.STARTER; // Starter
SubscriptionTier.PROFESSIONAL; // Professional
SubscriptionTier.ENTERPRISE; // Enterprise📄 License
MIT License
🌐 Brand & Links
- Official Mainnet: QuantaBit Chain
- Developer Platform: Developer Platform
- Open Platform: Open Platform
- Payment Platform: Pay Platform
- Feedback: Feedback
