Documentation Index
Fetch the complete documentation index at: https://test-docs.upayments.io/llms.txt
Use this file to discover all available pages before exploring further.
Changelog
March 26, 2026
Inngest Migration — Parallel Sync Infrastructure
- Migrated from Railway worker to Inngest — all NMI sync now runs on Vercel via Inngest functions
- Parallel processing — all merchants sync simultaneously (was sequential on Railway)
- 5 Inngest functions: health check, NMI sync cycle (15m cron), NMI sync merchant, CRM enrichment cycle (30m cron), CRM enrich merchant
- Each sync step has automatic retry, concurrency limits, and 5-minute timeouts
- Demo accounts with invalid credentials automatically excluded from sync
GoHighLevel CRM Enrichment
- CRM-agnostic provider framework — shared interfaces for future HubSpot, Close, Pipedrive support
- GHL provider with rate-limited API client (80 req/10s) covering:
- Contacts (search by email, get by ID)
- Opportunities/Pipelines (deals, stages, monetary values)
- Subscriptions (native recurring billing data)
- Transactions (GHL payment records)
- Calendar/Appointments
- Automatic enrichment every 30 minutes — matches customers by email, merges CRM data into
metadata.crm - CRM subscriptions created from GHL data (source:
crm_ghl) — more accurate than pattern detection - CRM Insights card on customer detail page showing company, tags, lead source, opportunities, appointments
- Real connection test via GHL
/locations/{id}API - 7-day re-enrichment cooldown to avoid unnecessary API calls
- Enabled in Integrations marketplace — connect with API Key + Location ID
Timezone & Accessibility
- All dates display in the user’s configured timezone (profile setting)
- Text size toggle in header: Small / Medium / Large — scales text only, not spacing
- Sidebar width scales with text size to prevent label truncation
Sync Improvements
- Fixed NMI date format (was MMDDYYYY, now YYYYMMDD)
- Incremental syncs use
result_order=reverse(newest first) — new transactions on page 0 - 7-day lookback catches APPROVED→SETTLED status updates
- Sync history shows actual DB totals instead of processed count
- Disabled Vercel cron sync (Inngest handles everything)
March 24, 2026
Functional Upsells — Order Bumps, Post-Purchase, Downsells
- Order bumps render as checkbox cards on the checkout form — checking adds the amount to the total in a single charge
- Post-purchase upsells use NMI Customer Vault for one-click charging after payment — no re-entering card details
- Downsells automatically shown if customer declines the post-purchase offer — lower-priced alternative
- Live preview panel shows all enabled upsells grouped by when they appear
- Delete confirmation dialogs and inline feedback toasts on all operations
- Upsell charge API at
/api/payments/upsell
Product Catalog Integration
- Product selector in payment page builder — auto-fills title, description, amount, type, frequency from product
- Product picker in invoice creation — adds pre-filled line items from product catalog
- Quick-create inline product form available in both contexts
- Subscription products — billing frequency, free trial days, billing cycles, setup fee
- Product selector shows recurring badges, trial days, and SKU
Customer Creation on Internal Payments
- All payment page payments automatically create/update Customer records
- All invoice card payments automatically create/update Customer records
- Customers linked to transactions, tracking totalSpent and lastPurchaseAt
Payment Page Editing
- Full builder at
/payment-pages/{id}/editwith all fields pre-filled - Works for ACTIVE, DRAFT, and PAUSED pages
- Status actions clarified: “Publish & Go Live”, “Pause Page”, “Reactivate”
Google Address Autocomplete
- Google Places API integrated on billing address fields
- Auto-fills city, state, ZIP, country from selected address
- 80+ countries supported, alphabetically sorted
- Browser autofill hints on name, email, phone fields
Performance & Security
- Forecasting data cached for 10 minutes (in-memory TTL cache)
- Tier blur gate renders placeholder skeletons instead of blurred real data (DevTools-proof)
- Connection pool optimized: limit=3, timeout=15s
- Session reporter frequency reduced to prevent connection exhaustion
March 23, 2026
Mercury-Inspired UI Overhaul
- New design system: neutral color tokens, 14px base font, tighter spacing
- Standardized tabs across all pages (consistent pill-style)
- Compact sidebar with left-border active indicator
- Reduced chart heights and simplified tooltips
- Updated table styling: normal-case headers, denser rows
Settings Redesign
- Profile editor with country-code phone input, timezone selector, job title
- Email and password change via secure dialogs
- Active sessions tracking (device, IP, location via ipinfo.io)
- Split notifications into real-time (payment pages/invoices) and digests (synced NMI data)
- Split webhooks into internal events and synced data events
- Removed NMI Integration tab (now on Merchants page)
- Removed Payment Methods page (capabilities shown on merchant detail)
Pricing Update
- 4-tier structure: Lite 149 / Growth 799
- Data retention: 6mo / 12mo / 24mo / 36mo
- Users: 1 / 3 / 5 / 10
- Added DisputeProof add-on ($99/mo)
- Blurred tier gates with upgrade CTA on locked features
March 22, 2026
Subscription Detection
- Auto-detect recurring patterns from transaction history
- Configurable sensitivity (2+, 3+, 4+ payments)
- Description keyword matching (built-in + custom terms)
- Include/exclude term filters
- Per-merchant detection settings saved for auto-detection
- Remove (dismiss) individual detected subscriptions
Card BIN Enrichment
- 374K+ BIN database for debit/credit identification
- Card issuer, category, and country from BIN lookup
- Enriched data displayed on transaction detail pages
- Card brand breakdown on dashboard with debit/credit split
NMI Response Code Mapping
- 200+ NMI response codes mapped to human-readable decline reasons
- Categories: Soft (retry), Hard (permanent), Fraud, Error
- Applied across Recovery, Fraud, and transaction detail pages
March 21, 2026
Railway Background Worker
- Dedicated worker for NMI sync (no more Vercel timeout issues)
- Chunked processing with self-continuation
- Duplicate job prevention
- Stale job cleanup (10-minute timeout)
- Customer extraction from transaction emails
- Materialized view refresh after each sync cycle
Merchant Onboarding Redesign
- 3-step wizard: Connect Gateway → Business Details → Initial Sync
- NMI profile query auto-fills business information
- Gateway URL validation and credential testing
- Tabbed merchant detail (Overview / Gateway & Sync / Settings)
Transaction Enrichment
order_descriptioncaptured as transaction descriptionsourcefield (api, virtual_terminal, recurring, internal)- Entry mode, processor ID, response code
- BIN data for card type identification
March 20, 2026
Payment Page Builder Enhancements
- Comprehensive color audit: field background, border, text colors affect all elements
- Preview vs live link distinction with preview banner
- Icon selector for trust badges (12 icons)
- Editable footer text
- Image upload via Supabase Storage
- Conditional webhook payload based on form settings
- Auto-success preview on Post-Payment step
Data Accuracy Fixes
- Customer health scores: fixed negative values from incorrect totalTransactions
- Forecasting: MRR trend uses subscription startDate, not createdAt
- Cohort retention uses first transaction date, not customer extraction date
- Revenue calculations exclude internal/settlement transactions
March 19, 2026
Initial Platform Launch
- Multi-tenant architecture (ISO → Merchants → NMI Accounts)
- Transaction sync from NMI Query API
- Customer and subscription management
- Payment page builder with 8 templates
- Invoicing with 5 PDF templates
- Recovery and fraud analytics
- Forecasting with MRR trends and cohort retention
- 14 report types with PDF generation
- PostHog analytics integration
- 5 role-based access levels with 40+ permissions