Total Libraries
--
All registered study centers
Active Subscriptions
--
₹0 MRR
Total Students
--
Enrolled students
WA Messages Sent
--
Total notifications logged
📈 Revenue & Collections Recent months
📨 WhatsApp Usage This month
🆕 Recent Libraries
Credit balance across all libraries
No pending credit requests
Sent This Month
0
Across all libraries
Delivery Rate
100%
0 delivered
My Meta Cost
₹0
~₹0.50 per message
Credits Consumed
0
Billed to libraries
📊 Daily Volume Last 14 days
🏛️ Usage By Library
💸 Meta Billing Breakdown What you owe Meta this month
Utility Messages
₹0.35/msg
Fee reminders, book returns
942 sent
≈ ₹330
Service Messages
₹0.60/msg
Seat confirmations, OTPs
342 sent
≈ ₹205
Total Due to Meta
₹535
Pay before billing cycle end
Message Templates
These templates are pre-approved by Meta. Variables in {{double braces}} are filled dynamically per message.
Meta / WhatsApp Business API
Connect your Meta Business account. All messages to library students go through this single WhatsApp number.
Not Connected
🔑 API Credentials
Get these from Meta for Developers → Your App → WhatsApp → API Setup. Store these securely — they control your business messaging account.
Found in Meta App Dashboard → WhatsApp → API Setup → Phone number ID
Generate a System User token with permanent access from Meta Business Manager
Used to verify webhook HMAC signatures from Meta
You create this. Must match what you configure in Meta webhook settings.
🔗 Webhook Setup
Configure this in your Meta App → WhatsApp → Configuration → Webhook. MLM will receive delivery receipts and incoming messages here.
Webhook URL
https://mylibrarymate.com/api/webhook/whatsapp
Required Webhook Fields
✅ messages
✅ message_deliveries
✅ message_reads
✅ messaging_postbacks
✅ message_deliveries
✅ message_reads
✅ messaging_postbacks
PhonePe Webhook (Credit Auto-top-up)
https://mylibrarymate.com/api/webhook/phonepe
⚠️ Stub only — manual approval is the fallback
📋 Saved Credentials
No credentials saved yet
API Versionv21.0
Message PricingIndia — Utility ₹0.35 · Service ₹0.60
Free Tier1,000 conversations/month (service)
OTP Authentication — Library Owners
Required on first login after signup, and whenever an owner changes their password. Owner picks WhatsApp or Email to receive the code.
⚙️ OTP Rules
Owner can request a new code this many times before being locked out for 15 minutes
"Let owner choose" shows both WhatsApp and Email buttons on the OTP screen
📱 WhatsApp OTP Template
Uses the otp_verification template from your Templates page (Authentication category).
Your My Library Mate verification code is {{1}}. This code expires in 5 minutes. Do not share this code with anyone.
📧 Email OTP Settings
Same EmailJS integration already used for seat booking confirmations
👁️ Preview — Owner's Screen
Verify Your Account
Choose how you'd like to receive your verification code
•
•
•
•
Code expires in 5:00
📊 OTP Activity (This Month)
OTPs Sent0
Verified Successfully0
Expired / Failed0
Via WhatsApp0
Via Email0
🎫 Generate Coupon
📋 Active Coupons
🧑💼 Executive Coupon Performance
Field executives who onboard library owners
📢 Send Announcement
This message appears in every library owner's update feed inside the dashboard.
📜 Sent Announcements
📰 Articles, Exam Alerts & Study Feed
Publish news, current affairs, exam alerts & study tips directly to student mobile apps
Published Live
0
Live on Student App feed
Drafts
0
In progress
Scheduled
0
Upcoming releases
Total Student Views
0
Article impressions
Total Series
0
Published
0
Total Questions
0
Attempts
0
Total Courses
0
Pending Review
0
Published
0
Total Sales (All Courses)
₹0
Total Videos
0
Ready
0
Processing
0
Total Storage (approx)
0 GB
Total Teachers
0
Pending Approval
0
Total Courses
0
Total Earnings Paid
₹0
Total Course Sales
₹0
Platform Commission
₹0
Teacher Payouts Due
₹0
Already Paid Out
₹0
Video Hosting — Bunny Stream
All course videos are uploaded, processed, and streamed through Bunny Stream. Configure your library credentials here.
Not Connected
🔑 Bunny Stream Credentials
Get these from Bunny.net Dashboard → Stream → Your Library → API.
👁
Never expose this in frontend code — server-side / environment variable only.
Enabled — signed playback URLs only
Prevents direct hotlinking; playback URLs are signed and expire after a short window.
🔗 Upload Pipeline
How a teacher's video upload flows through the system:
1️⃣ Teacher uploads in Course Studio
2️⃣ Sent to your backend → Bunny Stream API
3️⃣ Bunny returns a Video ID
4️⃣ Video ID saved to Firebase (not the file itself)
5️⃣ Student requests lesson → backend checks enrollment → signed playback URL issued
💰 Default Commission Split
Applies to all teachers unless overridden individually on their profile.
Teacher automatically receives (100 − this)% of every sale. Currently: 75% to teacher.
📋 Saved Configuration
No credentials saved yet
💳
Payment Gateway — Razorpay
All subscription payments, credit purchases, and upgrades across MLM go through this single Razorpay account.
Not Configured
🔑 API Credentials
Get these from Razorpay Dashboard → Settings → API Keys. Generate separate keys for Test and Live modes.
👁
Never share this. Used only on server-side — never expose in frontend JS.
👁
Set this in Razorpay Dashboard → Webhooks → Secret. Used to verify webhook POST signatures.
Quick Test:
🔗 Webhook Configuration
Add this URL in Razorpay Dashboard → Settings → Webhooks → Add New Webhook.
Webhook Endpoint URL
https://mylibrarymate.com/api/webhook/razorpay
Required Webhook Events
✅ payment.captured
✅ payment.failed
✅ subscription.activated
✅ subscription.charged
✅ subscription.cancelled
✅ refund.created
✅ order.paid
✅ invoice.paid
⚠️ Webhook Secret Required
Every incoming webhook must have its X-Razorpay-Signature header verified using HMAC-SHA256 with your Webhook Secret. Reject any request that fails verification.
🗺️ Payment Sources in MLM
All these payment flows will use this single Razorpay integration:
🏛️
Library Owner Subscriptions
Monthly ₹249/mo plans, multi-branch upgrades, proration payments
Source: library-app (Owner Dashboard)
💬
WhatsApp Credit Purchases
Library owners buying additional WA credits from their dashboard
Source: library-app → WA Credits section
🎓
Student Paid Test Series
MLM premium test series purchased by students via student app
Source: student-app → Test tab
🌐
Landing Page Signups
New library onboarding with first subscription payment
Source: index.html → signup flow
🔐 Saved Configuration
No credentials saved yet
Razorpay Fee2% + GST per transaction
SettlementT+2 business days
SupportedUPI · Cards · Netbanking · Wallets
SubscriptionsRazorpay Subscriptions API
📋 Payment History
All payments received via Razorpay — net of their 2% fee
Total Received
₹0
This month (gross)
Razorpay Fee
₹0
2% + GST
Net Settled
₹0
After fee deduction
Transactions
0
Captured transactions
| Date & Time | Razorpay Order ID | Description | Type | Gross | RZP Fee | Net | Status |
|---|
Monthly Run-Rate (MRR)
₹0
Active monthly plan income
1-Year Projected (ARR)
₹0
Monthly ₹299 × 12 months
Total Razorpay Collected
₹0
All-time captured payments
Active vs Trial Centers
0
Paid active vs Free demo
📈 Monthly Revenue & Collections
Real Razorpay captured payments and active monthly plan run-rate
Collected Payments (₹)
Active Plan MRR (₹)
💾 Export Financial Data
Total Queries
0
All received inquiries
Open / Pending
0
Requires admin action
In Progress
0
Being processed
Resolved
0
Successfully closed
📹 Setup Video Guide (Library App)
Manage the YouTube tutorial video that plays for library owners in their Help/Guide page and first-time welcome popup.
Paste any YouTube link (e.g.
https://youtu.be/... or https://youtube.com/watch?v=...). The app embeds and plays it automatically.
🎬
YouTube Video Preview
Click "Preview Video" or Save to load player
📩 Library Help Queries & Complaints
Review issues, questions, and feedback submitted by library owners. Reply directly or update ticket status.
Loading queries...
🌐
Landing Page CMS & Live Controllers
Update app screenshots, onboard counter, walkthrough video, client testimonials, and universal pricing directly from this panel.
📸 Hero Phone App Preview Slides
Upload real screenshots of the app. The landing page auto-adjusts size & aspect ratio inside the phone mockup and continues smooth 5-second sliding.
💡
Auto-Fitting: You can upload screenshots from any phone or browser. Our viewer uses
object-fit: cover; object-position: top; inside the mobile chassis frame, so images never look squished or broken.
Loading slides...