Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.waffo.ai/llms.txt

Use this file to discover all available pages before exploring further.

Checkout Overview

Waffo Pancake uses a two-step checkout flow optimized for conversion. This design collects customer details first, then payment information, reducing abandonment and supporting accurate tax calculation.

Two Ways to Check Out

Waffo Pancake supports two checkout methods — choose the one that fits your use case:

Product Purchase Link

Permanent link — never expires, stays valid even when you update the product.
  • Best for: sharing on websites, social media, email
  • No code required

Checkout Session (API)

Dynamic link — created via API with custom parameters.
  • Best for: custom checkout flows, dynamic pricing, metadata
  • 45-minute default TTL (configurable up to 7 days)
Every product gets a permanent purchase link:
https://checkout.waffo.ai/{store-slug}/{product-slug}
Test mode:
https://checkout.waffo.ai/{store-slug}/{product-slug}/test
A checkout session is created automatically when the customer opens the link. Just click “Copy Link” in the Dashboard.

Checkout Sessions (API)

For advanced use cases, create a checkout session via the API:
POST /v1/actions/checkout/create-session

Authenticated vs Anonymous Checkout

When creating sessions via the API, you can choose between two modes:
  • Authenticated: Provide buyerIdentity to bind orders to a stable identifier. Pre-fills the checkout form and enables post-purchase self-service.
  • Anonymous: No identity required. Buyer fills in details manually. Suitable for shared links and template stores.
Authenticated checkout is strongly recommended when you know the buyer. See SDK Checkout Modes for details.
The resulting checkout URL follows this structure:
https://checkout.waffo.ai/{store-slug}/checkout/{sessionId}
ComponentDescription
store-slugYour store’s unique URL slug
sessionIdCheckout session identifier (default 45-minute TTL, configurable up to 7 days)
Checkout sessions are generated server-side and lock the product version and price at creation time.

Two-Step Checkout Flow

Consumer Details

Collect email, country, and billing info for tax calculation and order processing.

Payment

Enter card details or use Apple Pay / Google Pay to complete payment.
Checkout page — Consumer details

Step 1: Consumer Details

The first step collects information needed for tax calculation and order processing.

Required Fields

FieldPurpose
Email addressReceipt, account creation, Customer Portal access
CountryTax jurisdiction determination

Conditional Fields (Based on Country)

FieldWhen Required
ZIP/Postal CodeUS, CA, UK, and most countries
State/ProvinceUS, CA, AU, IN
CityEU countries (for VAT)
Street AddressEU countries (full address for compliance)

Business Purchase Option

Customers can toggle “I’m purchasing as a business” to provide:
  • Business name
  • Full billing address
  • Tax ID (optional, for VAT exemption)
EU tax compliance requires full address for accurate VAT calculation and invoicing.

Step 2: Payment

Checkout — Payment
The second step collects payment information.

Payment Methods

Card Payment

  • Card number
  • Expiry date (MM/YY)
  • CVC/CVV
  • Cardholder name

Digital Wallets

  • Apple Pay (iOS, Safari)
  • Google Pay (Android, Chrome)
  • One-click with biometric auth

Order Summary

Displayed alongside payment form:
ElementDescription
Product nameWhat customer is buying
Product imageVisual confirmation
SubtotalProduct price
TaxCalculated from Step 1 location
TotalFinal amount to charge

Terms Agreement

Customer must agree to terms before completing purchase. Links to:
  • Terms of Service
  • Privacy Policy
  • Merchant of Record disclosure

Processing

After payment submission:
  1. Card validation - Luhn check, expiry, CVC
  2. 3D Secure - Bank verification (if required)
  3. Fraud check - Risk assessment
  4. Authorization - Charge to card
  5. Order creation - Record in system
Customer sees:
  • Animated loading indicator
  • “Processing your payment” message
  • Real-time status updates

Result Pages

Success Page

On successful payment:
  • Order confirmation number
  • “Receipt sent to your email” message
  • Next steps or access instructions
  • Customer Portal link

Failed Page

On payment failure:
  • Clear error explanation
  • Suggested action
  • Retry button
  • Support contact option

Subscription Checkout

For subscription products, additional information displays:

Billing Preview

ElementExample
Billing frequency”Billed monthly”
Recurring amount”$29.00/month”
Next billing dateCalculated from today

Trial Information (if enabled)

ElementExample
Trial duration”7-day free trial”
First charge dateDate after trial ends
Cancel anytimeReassurance message

Multi-Language Support

Checkout automatically displays in customer’s browser language:
LanguageCode
Englishen
Chinese (Simplified)zh
Japaneseja
Koreanko
Germande
Frenchfr
Spanishes

Test Checkout

Use Test Mode to try the checkout flow without real charges.

Test Card Numbers

CardNumberResult
Visa Credit4576 7500 0000 0110Success
Mastercard Credit2226 9000 0000 0110Success
Visa Debit4001 7000 0000 0110Success
Mastercard Debit2226 9300 0000 0110Success
Visa Credit4576 7500 0000 0220Declined
Mastercard Credit2226 9000 0000 0220Declined
Any future expiry date and any 3-digit CVC will work.
Test mode is indicated by a banner: “Test Mode - No real charges will be made”

Error Handling

Common Payment Errors

ErrorCauseCustomer Action
Card declinedInsufficient funds or bank blockTry different card
Invalid cardIncorrect card numberCheck and re-enter
Expired cardCard past expirationUse valid card
CVC mismatchWrong security codeRe-enter CVC
3DS failedBank verification failedContact bank

Error Display

Error messages are:
  • Clear and actionable
  • Non-technical language
  • Include helpful next steps
  • Do not expose sensitive data

Checkout Security

  • Link is permanent and public — no sensitive data is embedded
  • A fresh checkout session is created server-side each time a customer opens the link
  • Product version and pricing are resolved at the moment of access

Checkout Sessions (API)

  • Sessions lock the product version and price snapshot at creation time
  • Sessions include a cryptographic signature and cannot be tampered with
  • Sessions expire after 45 minutes by default (configurable up to 7 days via expiresInSeconds)
Checkout sessions expire after 45 minutes by default. Use expiresInSeconds to extend up to 7 days. Customers must start a new session after expiration.

Merchant of Record Notice

At checkout footer, customers see:
“This order is processed by our online reseller & Merchant of Record, Waffo Pancake, who also handles order-related inquiries and returns.”
This disclosure is required for MoR compliance and helps customers understand the payment relationship.

Next Steps

Payment Methods

Supported cards and wallets

Customization

Brand your checkout experience