Automatic Checkout
Automatic Checkout is a feature that enables direct purchase links, automatically taking users to the payment process when they visit a product or subscription page.
How It Works
When a user accesses a URL with automatic checkout parameters:
- If they do NOT have access to the content: The system clears the cart, adds the product, and automatically opens the checkout modal
- If they ALREADY have access (issue/product): They are redirected directly to the reader, preserving the parameters
- If they ALREADY have an active subscription: They are redirected to the library with an informative message
- If they are NOT authenticated: They are redirected to login, preserving the purchase intent
Content Type Compatibility
Automatic checkout only activates for carts that contain digital content exclusively:
- EPUBs - Electronic publications
- PDFs - Portable document format files
- Audio - Audiobooks and audio content
Physical Products
When the cart contains physical products, automatic checkout does not activate. Physical products require shipping information that cannot be collected in an automated flow, so users must explicitly initiate checkout.
Mixed Cart Behavior
If a cart contains both digital and physical products, the system treats it as a physical cart and disables automatic checkout to ensure proper collection of shipping details.
For unauthenticated users, the automatically_open_checkout=true parameter is only preserved through the login redirect when the cart has no physical products.
Query Parameters
automatically_open_checkout (required)
Activates the automatic checkout flow.
Accepted values:
true- Activates automatic checkoutfalse- Deactivates automatic checkout (displays the normal product page)
If this parameter is not present or is false, the normal page displays without auto-checkout.
currency (optional)
Specifies the currency for checkout.
Format: 3-letter ISO code in uppercase (USD, EUR, ARS, etc.)
Behavior:
- If the specified currency is available for the product/plan, that currency is used
- If unavailable, the system uses the tenant's primary currency
- Validated against the tenant's configured currencies
coupon (optional)
Discount coupon code to apply at checkout.
Format: String (example: SAVE20, SUMMER2024)
Behavior:
- The coupon is passed to checkout
- Coupon validation occurs in the checkout component
- If the coupon is invalid, checkout continues without discount
interval (subscriptions only)
Specifies the billing interval for subscription plans.
Accepted values:
month- Monthly billingannual- Annual billing
Behavior:
- If the specified interval is available for the plan, that interval is used
- If unavailable, the plan's default interval is used
- Only applies to recurring plans (subscriptions)
URLs and Examples
For Issues/Products (One-time purchase)
Base path: https://your-domain.com/library/publication/{slug}
URL Format: Publications use a slug (e.g., summer-magazine-2024-123)
Example 1: Basic automatic checkout
https://your-domain.com/library/publication/summer-magazine-2024-123?automatically_open_checkout=true
Example 2: With specific currency
https://your-domain.com/library/publication/summer-magazine-2024-123?automatically_open_checkout=true¤cy=USD
Example 3: With currency and coupon
https://your-domain.com/library/publication/summer-magazine-2024-123?automatically_open_checkout=true¤cy=EUR&coupon=SAVE20
Example 4: Without auto-checkout (normal page)
https://your-domain.com/library/publication/summer-magazine-2024-123?automatically_open_checkout=false
For Subscriptions (Recurring plans)
Base path: https://your-domain.com/subscribe/{plan-id}
If the plan is private, the URL must be signed (signed URL). Public plans do not require signing.
Example 1: Basic automatic checkout
https://your-domain.com/subscribe/16267?automatically_open_checkout=true
Example 2: With interval and currency
https://your-domain.com/subscribe/16267?automatically_open_checkout=true&interval=annual¤cy=USD
Example 3: Monthly plan with coupon
https://your-domain.com/subscribe/16267?automatically_open_checkout=true&interval=month¤cy=EUR&coupon=WELCOME50
Example 4: Annual plan with all options
https://your-domain.com/subscribe/16267?automatically_open_checkout=true&interval=annual¤cy=USD&coupon=EARLYBIRD
User Flows
Flow 1: Authenticated user WITHOUT access
- User accesses:
/library/publication/summer-magazine-2024-123?automatically_open_checkout=true¤cy=USD - System clears current cart
- System adds issue to cart
- User is redirected to:
/cart/checkout?automatically_open_checkout=true¤cy=USD - Checkout modal opens automatically
- User completes payment
Flow 2: Authenticated user WITH access (issue)
- User accesses:
/library/publication/summer-magazine-2024-123?automatically_open_checkout=true¤cy=USD - System detects user already has access
- User is redirected to the reader
Flow 3: NON-authenticated user
- User accesses:
/library/publication/summer-magazine-2024-123?automatically_open_checkout=true¤cy=USD - System detects user is not authenticated
- User is redirected to:
/auth/login?intended_url=... - User authenticates
- User is redirected to checkout with product already in cart
Flow 4: User with active subscription
- User accesses:
/subscribe/16267?automatically_open_checkout=true - System detects active subscription
- User is redirected to:
/library - User sees message: "You already have an active subscription."
Validations and Behaviors
Currency Validation
User requests: currency=USD
Plan available in: USD, EUR, ARS
→ Result: Uses USD ✓
User requests: currency=MXN
Plan available in: USD, EUR, ARS
→ Result: Uses tenant's primary currency
Interval Validation (Subscriptions)
User requests: interval=annual
Plan has prices: monthly, annual
→ Result: Uses annual ✓
User requests: interval=annual
Plan only has: monthly
→ Result: Uses monthly (plan default)
User does not specify interval
Plan default_interval: annual
→ Result: Uses annual
Cart Clearing
Automatic checkout ALWAYS clears the cart before adding the product/plan.
This means:
- Any products previously in the cart are removed
- Only the product/plan from the URL will remain in the cart
- This is a "direct purchase" flow without product combination
Use Cases
1. Email Marketing Links
Scenario: Monthly newsletter promoting the latest edition
Buy the August edition now:
https://your-domain.com/library/publication/summer-magazine-2024-123?automatically_open_checkout=true&coupon=NEWS20
Benefits:
- One click to purchase
- Pre-applied coupon
- Simple source tracking
2. Social Media Campaigns
Scenario: Instagram post promoting annual subscription
Annual subscription with 30% OFF!
https://your-domain.com/subscribe/16267?automatically_open_checkout=true&interval=annual&coupon=INSTA30
Benefits:
- Pre-selected interval
- Automatic discount
- Fast conversion
3. Affiliates and Partners
Scenario: Affiliate link with specific currency
https://your-domain.com/library/publication/summer-magazine-2024-123?automatically_open_checkout=true¤cy=EUR&coupon=PARTNER15
Benefits:
- Affiliate's local currency
- Commission tracked by coupon
- Optimized experience
4. Landing Page
Scenario: Specific landing page with single CTA
<a
href="/subscribe/16267?automatically_open_checkout=true&interval=month¤cy=USD"
>
Start your trial now!
</a>
Benefits:
- Single action button
- No additional steps
- High conversion rate
5. Abandoned Cart Recovery
Scenario: Reminder email with specific product
Complete your purchase:
https://your-domain.com/library/publication/summer-magazine-2024-123?automatically_open_checkout=true¤cy=USD
Benefits:
- Returns directly to checkout
- No need to search for product
- Lower friction