Quick Start: Your First Plugin
Build a complete checkout plugin from scratch in 15 minutes. Choose between React for rich UIs or vanilla JavaScript for lightweight implementations.What You’ll Build
A simple checkout page that:- Initializes automatically with funnel session
- Displays product information
- Processes payment
- Auto-redirects to thank you page
- Passes order data between steps
Prerequisites
Choose Your Framework
- React (Recommended)
- Vanilla JavaScript
Perfect for building rich, interactive checkout experiences with modern UI components.
Step 1: Create Project
Step 2: Create Plugin Manifest
Createplugin.manifest.json in your project root:Step 3: Wrap App with Provider
What TagadaProvider does:
- ✅ Initializes authentication and session
- ✅ Auto-initializes funnel (no manual
initializeSession()needed) - ✅ Handles automatic redirects
- ✅ Provides all hooks (
useFunnel,useCheckout, etc.)
Step 4: Build Checkout Page
Step 5: Build Thank You Page
Step 6: Setup Routing
Step 7: Test Locally
Build for Production
Deploy to TagadaPay
Using CLI (Recommended)
Manual Upload
- Go to TagadaPay Dashboard → Plugins
- Click “Upload Plugin”
- Upload your
dist/folder as a ZIP file - Fill in plugin details from manifest
- Click “Deploy”
Use Your Plugin in a Funnel
- Go to Funnels in your dashboard
- Create a new funnel or edit existing
- Add a “Checkout” step
- Select your plugin from the dropdown
- Select the
/checkoutpage - Add a “Thank You” step
- Select your plugin →
/thankyou/:orderIdpage - Save and test your funnel!
What Happens Automatically?
The SDK handles these tasks for you:Session Management
Session Management
- ✅ Creates anonymous session automatically
- ✅ Manages authentication tokens
- ✅ Persists session across page loads
Funnel Initialization
Funnel Initialization
- ✅ Auto-initializes when
TagadaProvidermounts - ✅ Loads funnel context from URL or cookie
- ✅ Creates new funnel session if needed
Navigation & Redirects
Navigation & Redirects
Debug Mode
Debug Mode
- ✅ Enabled automatically in local development
- ✅ Loads
config/resources.static.jsonfor testing - ✅ Disabled automatically in production
Common Issues
useFunnel() returns undefined
useFunnel() returns undefined
Solution: Make sure your app is wrapped with
<TagadaProvider>Resources are empty on next page
Resources are empty on next page
Solution: Check that you’re passing resources correctly:
Redirect not working
Redirect not working
Solution: The SDK auto-redirects by default. If it’s not working:
- Check that
funnel.next()returns successfully - Ensure the navigation response includes a
urlfield - Verify you’re not preventing navigation with custom handlers
TypeScript errors
TypeScript errors
Solution: Make sure you’re importing from the correct path:
Next Steps
Initialize Checkout
Create checkout sessions programmatically
Funnel Resources
Learn how to pass complex data between steps
API Reference
Explore all available hooks and methods
Tutorial
Build a complete multi-step funnel
Examples
See complete plugin examples
Manifest Guide
Master plugin configuration
Best Practices
Production-ready plugin development
