Skip to main content
2025-11-13
PCI/DSS Compliance & Security

Added

  • Secure replay system for failed API requests with encrypted storage
  • PCI/DSS compliance features and free raffle handling
  • Tamper checking and mismatch calculation fixes
  • Quantity mismatch validation

Fixed

  • Spruce API call issues
  • Redirect URL handling
  • Calculation mismatch errors
2025-11-07
TriplePixel Analytics Integration

Added

  • TriplePixel contact event tracking
  • TriplePixel bootstrap integration
  • Contact event alongside contactSubmitted
  • Preconnect link attributes for TriplePixel

Fixed

  • TriplePixel bootstrap quoting issues
  • TriplePixel account linking in layout
2025-11-06
UI Guidelines & Accessibility

Added

  • UI guidelines AGENTS instructions
  • UI guideline compliance review documentation
  • Improved checkout accessibility and interactions
2025-11-05
Upsell Widget Improvements

Changed

  • Simplified upsell widget copy
2025-11-04
Merchandise Checkout Support

Added

  • Merchandise checkout support (/merch route)
  • Suspense loading component for merch page
  • Redirect URL handling for merch checkout

Fixed

  • Subscription flow issues

Removed

  • Sentry integration
2025-10-28
Subscription System

Added

  • Subscription checkout support (/subscription route)
  • Three membership tiers: Bronze, Silver, Gold
  • URL parameter-based tier selection (?tier=bronze|silver|gold)
  • Billing schedule and next payment date display
  • Auto-renewal information
  • Expandable benefits section for each tier
  • Profile lookup for subscription management
  • Image placeholder for tier layout

Fixed

  • Tier handling logic
  • Checkout flow for subscriptions
2025-10-16
Multi-Brand Support & Upsell

Added

  • Multi-brand checkout support with dynamic branding
  • Upsell widget for additional entries
  • Multi-site upsell support
  • Dynamic favicon for Athera brand
  • Athera brand theming and font loading
  • Brand-specific background colors and CTA styling
  • Brand logos and legal links for Athera and PetKind

Fixed

  • Missing site_id handling with webflow_site_id fallback
  • Brand background in empty state
  • Selected upsell button contrast
  • Brand CTA styling in empty checkout state
2025-10-10
Discount & API Integration

Added

  • API call for discount data (removed mock data)
  • Prize closing countdown to order summary
  • Countdown styling improvements
  • Minutes display in long countdown displays

Changed

  • Removed hardcoded discount data
2025-10-08
Google Tag Manager

Added

  • Google Tag Manager snippet to layout
2025-10-03
Analytics & Countdown

Added

  • AddPaymentInfo event tracking for Triple Whale
  • Prize closing countdown to order summary
  • Countdown styling with branded burst design
2025-10-02
Google Pay Activation

Added

  • Google Pay support in unified payment widget
  • Google Pay SVG icon
  • Google Pay button rendering fixes

Fixed

  • Google Pay redirect logic
  • Google Pay amount passing to Nomupay
  • Google Pay config fields alignment with Apple Pay
  • Zero amount issue for Google Pay

Changed

  • Activated Google Pay in production
  • Gated Google Pay to debug mode initially
2025-09-26
Price Validation

Fixed

  • Rounding of checkout totals to minor units
  • Checkout price validation errors
2025-09-20
Google Pay Integration

Added

  • Google Pay to unified payment widget
  • Google Pay configuration aligned with Apple Pay
  • Google Pay button grouping with Apple Pay
  • Google Pay SVG icon assets

Fixed

  • OR_BIBED_11 Google Pay error
  • Google Pay PaymentDataRequest error
  • Google Pay amount processing
  • Google Pay redirect logic
  • Zero amount issue for Google Pay

Changed

  • Grouped digital wallet buttons (Google Pay and Apple Pay) together at top level
  • Standardized payment button styles
  • Stripped custom styles from payment buttons
2025-09-05
Test Mode & Error Handling

Added

  • Test mode to bypass URL parameter requirement
  • API retry logic and improved error handling
  • Sentry logging for missing/invalid checkout params
  • Debugging for checkout entry point without URL params
  • Debugging for “Item Not found” state
  • Item ID validation logic

Fixed

  • Timing issue in total calculation useEffect
  • NomuPay script error in Next.js
  • Missing checkout form fields
  • Payment widget safety check issues
  • Card form timing issues
  • Email field auto-submit trigger
2025-09-02
Safeguards & Analytics

Added

  • Safeguard system for test transactions in production
  • Google Tag Manager integration
  • Google Analytics tracking with GTM dataLayer
  • Google Analytics event tracking

Fixed

  • Safeguard error clarification for test transactions
  • Bypass safeguard for intentional test transactions

Removed

  • Triple Whale tracking code
2025-08-29
Branding & Confirmation

Added

  • Confirmation_only parameter to Spruce API payload
  • Debug logging for confirmation_only parameter
  • Brand logos and background colors
  • Legal links for Athera and PetKind brands

Fixed

  • Preserve confirmation_only in session storage
  • Add confirmationOnly to payment flow
  • Item description in payment result page
  • Missing brand functions in config
  • Visible comment removal from checkout page
2025-08-28
Analytics & Payment Methods

Added

  • InitiateCheckout event tracking in TriplePixel

Fixed

  • AMEX removal from unified payment widget
2025-08-27
Analytics & Loading States

Added

  • TriplePixel analytics helpers
  • Enhanced unified payment widget loading state

Changed

  • Reverted to v11 for stability
2025-08-26
Sentry Integration

Added

  • Sentry monitoring in Next.js checkout app
  • Sentry configuration and instrumentation

Fixed

  • Duplicate Sentry Session Replay instances
  • Redirect URL decoding before template replacement

Removed

  • Sentry example page and associated API route
2025-08-21
Unified Payment Widget

Added

  • Unified payment widget with toggleable sections
  • Phone number capture to card payment widget
  • Apple Pay direct trigger and availability detection
  • Phone field injection in payment widget

Fixed

  • Payment widget loading issues
  • Script loading conflicts in payment widgets
  • Card payment widget to use onReady for phone field
  • Phone field injection timing
  • Payment widget conditional display
  • Apple Pay availability detection
  • Card form visibility and button padding
  • DOM conflicts in payment widgets
  • Form duplication in payment widget
  • Duplicate “Pay with Card” buttons with Apple Pay
  • Empty space from hidden form groups
  • Excessive spacing in payment form
  • Apple Pay container whitespace
  • Payment button UX and Apple Pay design

Changed

  • Separated Apple Pay and card payment widgets
  • Moved phone field to last form position
  • Updated CSS for payment form field ordering and layout
  • Removed email field from payment form
  • Pass email to NomuPay payment form directly
2025-08-20
Checkout Form Simplification

Added

  • Simplified checkout form (email only required)
  • “Or Pay With Card” divider under Apple Pay button
  • Email field autofocus
  • Spruce Collective branding and logo
  • Nomupay API environment variables
  • Fast checkout Apple Pay button (experimental, later removed)
  • CSP meta tag to layout header

Fixed

  • Hide name and phone fields in checkout form
  • Hide payment options when NomuPay form loads
  • Apple Pay button height (42px)
  • Payment section disabled state
  • API error handling for Spruce API

Changed

  • Replaced checkout form logo with new grey Spruce logo
  • Separated card and Apple Pay forms
  • Updated Checkout V2.2 with new API and UI changes
  • Switched API calls from staging to production URLs

Removed

  • Apple Pay Fast Checkout integration (experimental feature)
2025-08-19
Analytics & Production Switch

Added

  • Triple Whale tracking for customer and checkout events
  • AddToCart event tracking
  • Session persistence on page refresh

Fixed

  • Apple Pay parameter issues
  • Apple Pay configuration issues
  • Auto-submit loads checkout on first prefilled load
  • Restore mandatory quantity field in create-order-spruce route

Changed

  • Disabled Google Pay in NomuPay widget
  • Switched API calls from staging to production URLs
2025-08-18
Styling & VAT Removal

Added

  • Modernized NomuPay payment form styling
  • Full width and contrast updates for NomuPay styling

Fixed

  • CSS issues for payment form styling
  • Session persistence on page refresh

Removed

  • All VAT-related elements and logic from checkout
2025-08-17
Security & Test Key

Added

  • Server-side test key validation
  • Test key functionality for Nomupay checkout
  • Debug logging to OrderSummary component
  • URL parameter state storage before clearing

Fixed

  • URL parameter clearing for security
  • Conditional URL parameter clearing on checkout page
  • URL param issues in payment pages
  • URL parameter capture for checkout flow
  • Item_id and amount issues in payment flow

Changed

  • Moved test key validation to server-side
  • Removed URL parameters for security (stored in state first)
2025-08-17
Spruce API Integration

Added

  • Spruce API integration for dynamic item details
  • Spruce API payload format matching revolut sample
  • Item_id and redirect_url to payload structure
  • Create-order endpoint updates
  • Payment result page updates

Fixed

  • Spruce API payload with correct item_id and required fields
  • Customer data flow in payment result page
  • Empty customer info in NomuPayWidget
  • Excessive validation on field blur
  • Excessive re-renders on form input
2025-08-13
Error Handling & Widget Improvements

Added

  • Error handling for NomuPay widget initialization
  • Enhanced debugging for create-order API call

Fixed

  • Infinite re-render loop in form sync
  • NomuPay widget client-side issues
  • PaymentBrand overwriting in NomuPay integration
  • Form validation and nodeRequire error
  • Required fields validation for spruce-api call
  • Customer data in payment result page
  • Customer info sync for create-order API
2025-08-11
Apple Pay Integration

Added

  • Apple Pay integration with NomuPay widget
  • Apple Pay file assets
  • Apple Pay payment handling

Fixed

  • Apple Pay parameter error
  • Amount handling in Apple Pay flow
  • NomuPay implementation alignment with sample code
2025-08-07
Webflow Integration

Added

  • Navbar and footer import
  • Webflow styles
  • Devlink integration
  • Component adjustments

Fixed

  • Prefix nomupay API calls with base path
  • Update webflow base path
  • Remove edge runtime from NomuPay APIs
2025-08-06
Payment Flow & Spruce API

Added

  • Complete NomuPay payment result handling
  • Payment status API with proper auth and entityId
  • Spruce API integration in order creation and status update
  • Spruce API payload format and test route
  • URL parameter for dynamic payment amount
  • Custom NomuPay widget styling
  • NomuPay widget with wpwlOptions customization
  • Google Pay integration (later disabled due to errors)

Fixed

  • Payment flow integration
  • Payment result API calls and flow
  • Payment result page parameter mapping
  • toFixed error in payment flow
  • Export and content issues in payment flow
  • NomuPay API call and payment flow
  • Spruce order endpoint and logging
  • NomuPay widget initialization
  • DOM removal safety and error handling
  • NomuPay widget DOM management
  • Customer data and DOM manipulation issues
  • Form field watching and state updates
  • Syntax error in NomuPayWidget component
  • Checkout session component lifecycle management
  • NomuPay widget script loading issues
  • NomuPay redirect issue
  • PaymentBrand format for NomuPay API
  • Null entityId from environment variable
  • NomuPay form CSS for brand integration

Changed

  • Updated payment form to plain style
  • Updated NomuPay form to match light theme
  • Implemented simplified NomuPay widget setup
  • Disabled Google Pay to resolve OR_BIBED_11 error
2025-08-05
Payment Result Handling

Added

  • NomuPay payment result handling
  • Payment status API enhancement
  • Debugging for payment result API calls

Fixed

  • Payment result page parameter mapping
  • toFixed error in payment flow
  • Export and content issues in payment flow
  • NomuPay API call and payment flow
  • Order status update in payment flow
2025-08-03
Form Editing & Auto-Submit

Added

  • Allow editing checkout details
  • Persist payment widget during editing
  • Auto-submit form when valid
  • Auto-submit form on blur

Fixed

  • Nomupay cleanup
  • Allow editing details without removing payment widget
  • Allow auto-submit after editing
  • Form field events update form state
2025-07-31
Initial Checkout Features

Added

  • Auto-submit form when valid
  • Allow editing checkout details
  • Allow editing contact details

Fixed

  • Nomupay cleanup

Removed

  • Quickpay and extra options
2025-07-29
NomuPay Integration & Dependencies

Added

  • NomuPay payment gateway integration
  • NomuPayWidget component
  • Custom container instructions for NomuPay

Fixed

  • @hookform/resolvers version conflicts
  • Zod module import errors
  • wpwlOptions definition before NomuPay script loads
  • Integrity check for NomuPay script
  • Package.json and pnpm-lock.yaml sync
  • Backend integrity hash in payment form
  • NomuPayWidget production URL
  • Checkout-form.tsx and SpinnerIcon import

Changed

  • Updated @hookform/resolvers to compatible version
  • Updated zod package
  • Restored v30 from v28 and updated font files
  • Disabled debug mode
2025-07-28
Initial Setup

Added

  • Initialized repository for Next.js checkout spec
  • Project structure and configuration
  • Basic checkout form components