Build Your Own Store with AI + TagadaPay
No Shopify. No WooCommerce. Use an AI coding tool to generate a beautiful storefront and wire TagadaPay as the headless backend for payments, emails, subscriptions, and pixel tracking.Time to first sale: ~15 minutes. Seriously.This tutorial takes you from zero to a live store with real payments. The AI generates the UI, you paste a few SDK calls, and TagadaPay handles the rest.
What You’ll Build
A complete e-commerce flow:- Product page — display products from your Tagada catalog
- Cart — add/remove items, see totals
- Checkout — customer info, shipping, promo codes, Google Address Autocomplete
- Payment — card payments with PCI-safe tokenization
- Post-purchase — upsells, order confirmation emails, pixel tracking
Prerequisites
- A TagadaPay account (free to create)
- An API key (Settings → Access Tokens)
- Node.js 18+
- An AI tool: Claude, Lovable, v0, or any code editor with AI
Step 1 — Create Your Store in TagadaPay
Use the Node SDK to set up your store, products, and payment flow in one script.setup.ts:
Return shapes:
processors.create()returns{ processor: { id, name, type, ... } }— destructure withconst { processor } = await ...paymentFlows.create()returns a flat flow object:{ id, name, strategy, ... }stores.create()returns a flat store object:{ id, name, baseCurrency, ... }products.create()returns{ id, variants: [{ id, name, prices: [{ id }] }] }— a summary, not the full product
Supported processor types
Supported processor types
TagadaPay is gateway-agnostic. Use the
All processors share optional fields:
type field when creating a processor:| Type | Provider | Key Options |
|---|---|---|
stripe | Stripe | secretKey, publicKey — or use Stripe Connect OAuth |
adyen | Adyen | apiKey, merchantAccount, hmacKey, liveEndpointPrefix |
checkout | Checkout.com | secretKey, publicKey |
nmi | NMI | apiKey or username + password |
authorizenet | Authorize.Net | apiLoginId, transactionKey, clientKey |
airwallex | Airwallex | clientId, clientSecret, clientApiKey |
ngenius | N-Genius (Network International) | apiKey, outlet, apiUrl |
ccavenue | CCAvenue | accessCode, workingKey |
finix | Finix | apiKey, username, password |
tap | Tap Payments | secretKey |
mastercard | Mastercard Gateway | merchantId, apiKey, gatewayUrl |
efipayments | EFI Payments | apiKey |
ovri | Ovri | websiteKey, secretKeyPos, apiKey |
sandbox | TagadaPay Sandbox | (none — use for testing) |
enable3DS, testMode, descriptor, merchantName, merchantUrl, merchantCountryCode.Payment flow fields reference
Payment flow fields reference
| Field | Type | Description |
|---|---|---|
name | string | Human-readable flow name |
strategy | 'simple' | 'cascade' | simple = single processor, cascade = try next on failure |
fallbackMode | boolean | Enable fallback when primary fails |
maxFallbackRetries | number | Max retry attempts (0 = no retries) |
threeDsEnabled | boolean | Enable 3D Secure authentication |
stickyProcessorEnabled | boolean | Route returning customers to same processor |
pickProcessorStrategy | 'weighted' | 'lowestCapacity' | 'automatic' | How to pick among multiple processors |
processorConfigs | array | Processors: { processorId, weight, disabled, nonStickable } |
fallbackProcessorConfigs | array | Fallback order: { processorId, orderIndex } |
Funnel node types reference
Funnel node types reference
Nodes in a checkout funnel support these
Node
type values:| Type | Description | Typical Config |
|---|---|---|
checkout | Checkout / payment page | config.stepConfig.payment.paymentFlowId |
thankyou | Order confirmation page | isConversion: true |
offer | Upsell or downsell page (use for both) | config.stepConfig.upsellOffers |
landing | Landing / product page | Entry point (isEntry: true) |
error | Error / fallback page | Shown on failures |
custom | Custom page (any content) | Flexible config |
external | Redirect to external URL | External link |
kind: 'step' (page), 'action' (server-side logic), 'condition' (branching).Example with upsell:Step 2 — Generate the Storefront with AI
Now for the fun part. Paste this prompt into Claude, Lovable, or your AI tool:Copy this prompt
Copy this prompt
Loading Products
Creating a Checkout Session
Checkout Flow
Payment
Post-Purchase Upsells
Step 3 — Deploy
Your store is a static site. Deploy it anywhere:- Vercel
- Netlify
- Cloudflare Pages
Step 4 — Set Up Email Flows
TagadaPay sends transactional emails automatically when events happen. Configure them in the CRM dashboard or via the Node SDK:| Event | Email Sent | Configurable? |
|---|---|---|
| Order paid | Order confirmation with receipt | Yes — template, sender domain |
| Subscription rebill | Recurring payment receipt | Yes |
| Subscription canceled | Cancellation confirmation | Yes |
| Payment refunded | Refund notification | Yes |
| Subscription past due | Failed payment alert | Yes |
Step 5 — Set Up Pixel Tracking
TagadaPay handles client-side pixel tracking for ad attribution and retargeting. Configure your pixels in the dashboard — TagadaPay injects the scripts and fires events automatically during checkout. Configure pixels in the TagadaPay dashboard:Step 6 — Webhooks (Optional)
Listen for payment events on your backend to trigger custom logic (e.g., fulfillment, Slack notifications):Architecture Summary
Why This Beats Shopify / WooCommerce
| Shopify | WooCommerce | AI + TagadaPay | |
|---|---|---|---|
| Monthly fee | $39–399/mo | Hosting + plugins | Free (pay per transaction) |
| Storefront | Liquid templates | PHP themes | Any framework, any AI tool |
| Customization | Limited by theme | Plugin conflicts | Unlimited — you own the code |
| Payment routing | Shopify Payments only | WooCommerce Payments | Multi-PSP, fallback, load balancing |
| Upsells | $50/mo app | Plugin | Built-in |
| Emails | Basic | Plugin | Built-in, customizable templates |
| Pixel tracking | Basic | Plugin | Auto-inject Meta, TikTok, GA4, GTM, Snap |
| Lock-in | High | Medium | Zero — it’s your code |
Hosting Your Store
Once your storefront is built, you need somewhere to host it.Option A: Deploy on TagadaPay (recommended for SPAs)
If your store is a client-side SPA (React, Vue, Svelte, vanilla HTML), you can deploy it directly on TagadaPay’s global edge CDN with a single script. No infrastructure to set up, no billing — it’s included with your account. What you get:- Global edge CDN (~10ms TTFB)
- Custom domain with automatic TLS
- Built-in A/B testing (weighted or geo-based) on the same URL
- Zero bandwidth bills
Deploy with the Node SDK
The@tagadapay/node-sdk has built-in support for the full deploy flow via tagada.plugins. Add this to your project as scripts/deploy.ts:
Run It
https://my-store--{storeId}.cdn.tagadapay.com/.
| SDK method | What it does |
|---|---|
tagada.plugins.deploy() | Uploads your build files (HTML, JS, CSS) |
tagada.plugins.instantiate() | Creates a live instance for your store |
tagada.plugins.mount() | Binds the instance to a hostname |
This is the exact flow we used to deploy the headless-react example. It works for any SPA — React, Vue, Svelte, or plain HTML.
zipUrl instead of inlineAssets. You can also add custom domains and A/B testing on top.
Full Deploy & A/B Test Guide
Custom domains, geo-based A/B testing, large file uploads, and more
Option B: Vercel, Netlify, or Cloudflare Pages
If your app uses server-side rendering (Next.js, Astro, Remix, SvelteKit), deploy to a platform that supports your framework:| Platform | Best for | Deploy command |
|---|---|---|
| Vercel | Next.js, SvelteKit | vercel --prod |
| Netlify | Astro, static sites | netlify deploy --prod |
| Cloudflare Pages | Any framework | wrangler pages deploy dist/ |
Option C: Fly.io, Railway, or Docker
For apps that need a Node.js backend (webhooks, database, background jobs):Resources
Live Example
Try the interactive demo — browse products, checkout, pay with test cards
Example Source Code
Full React + TypeScript example with inline code tutorials at every step
Node SDK
Server-side automation — create stores, products, webhooks, and more
API Reference
Full REST API documentation with request/response examples
FAQ
Can I use this with Next.js / Astro / Remix / SvelteKit?
Can I use this with Next.js / Astro / Remix / SvelteKit?
Yes. The Headless SDK is framework-agnostic. The React hooks (
useCheckout, usePayment, etc.) work in any React app. For non-React frameworks, use the vanilla createHeadlessClient() API.Do I need a server?
Do I need a server?
Not for the checkout flow. The Headless SDK handles everything client-side (including PCI-safe card tokenization). You only need a server if you want webhooks or custom automation — use the Node SDK for that.
Is card data safe?
Is card data safe?
Yes. Card numbers are tokenized by
@tagadapay/core-js before they reach your code. Your store never sees or stores raw card data. TagadaPay is PCI DSS Level 1 compliant.Can I use Lovable to generate the entire store?
Can I use Lovable to generate the entire store?
Yes. Give Lovable the prompt from Step 2 and it will generate a working storefront. You’ll just need to paste your Store ID and deploy.
How do subscriptions work?
How do subscriptions work?
Create a product with a recurring price (
interval: 'month'). The Headless SDK handles the initial charge. TagadaPay automatically rebills and sends email receipts on each cycle. Manage subscriptions from the CRM dashboard.Can I process test payments?
Can I process test payments?
Yes. Use a sandbox processor or Stripe test mode. Test card:
4242 4242 4242 4242, any future expiry, any CVC.