Product = Billing Object
In Waffo Pancake, a product is the object used for checkout, taxation, and reporting. It is the commercial offer you charge for, not just a storefront card.For professional use, think of products as billing entities:
- a fixed-price offer
- a subscription plan
- or a base product used with dynamic pricing at checkout
Core Models
One-Time
Customer pays once for a predefined offer.
- Digital downloads
- Lifetime licenses
- Templates, courses, assets
Subscription
Customer is billed on a recurring schedule.
- SaaS plans
- Memberships
- Service retainers
Dynamic Pricing
Amount is calculated at checkout time.
- Usage overage
- Credit top-ups
- Negotiated quotes
Create a Product
Dashboard —> Products —> Create ProductProduct Fields
Required
Optional
Price Limits
Each currency has a minimum and maximum price you can set on a product. Values outside this range are rejected when you save the product.CNY is available for display in your dashboard analytics, but cannot currently be used as a product pricing currency.
Dynamic Pricing
Dynamic pricing is the right model when the final amount is not known until runtime. Examples:- usage-based overage billing
- prepaid credit packs with variable size
- contract-specific quotes
- temporary discounts calculated on your server
How It Works
- Create a base one-time product in Waffo Pancake
- Calculate the final amount on your server
- Pass
priceSnapshotwhen creating the checkout session
Free Trials
Let customers try subscription products before they buy.Trial Abuse Protection
Waffo Pancake automatically tracks consumer trial history at the platform level. When a consumer starts a new subscription, the platform calculates the maximum available trial days based on their history — preventing repeated trial abuse without any effort from the merchant. Merchants can also passrequested_trial_days via the API to shorten or skip the trial for specific customers.
Billing Intervals
Product Purchase Links
Every product gets a permanent purchase link that never expires:- Website button
- Twitter bio
- Email signature
- Discord server
- Link is permanent — it stays the same even when you update product details
- No session or token management needed
- A checkout session is created automatically when the customer opens the link
- Dashboard: Click “Copy Link” on any product
- API: For advanced use cases, create a Checkout Session via API with custom parameters (dynamic link, 7-day TTL)
- Toggle Test Mode in Dashboard header to preview with test links
- Test links use the
/testsuffix
Product Status
Active
Live. Customers can buy.
Inactive
Hidden. Existing subscriptions continue.
Updating Products
Products use immutable versioning:Environment Sync
Publish product versions from test to production:Publishing is one-way (test → prod) and only needed for the first publish.
Best Practices
Naming
Naming
Include billing period:
- “Pro Plan - Monthly”
- “Pro Plan - Annual (Save 20%)”
Pricing
Pricing
- Round numbers (28.73)
- Annual discount (15-20%)
- Research competitors
Images
Images
- 400x400px minimum
- PNG or JPG
- Under 2MB