- Users - Individual user accounts. Users can manage their own purchases, billing, and invoices from the client SDK.
- Teams - Team or organization accounts. Team admins can create checkouts, switch plans, and cancel subscriptions for their team.
- Custom customers - External entities identified by an arbitrary string ID. Useful for integrations with external systems. They do not support billing, invoices, or plan switching; checkout and grants go through the server SDK or the dashboard.
Where each method lives
The full billing surface -createCheckoutUrl, useProducts, useItem, switchSubscription, useBilling and useInvoices - is available on both user and team objects.
For custom customers, use the top-level hexclaveServerApp methods with customCustomerId (for example createCheckoutUrl, grantProduct, getItem, and listProducts). Billing, invoices, payment methods, and subscription switching are not available for custom customers.
Every product declares a customer type when you define it, which determines who can purchase it.
From the dashboard, Payments -> Customers lists users, teams, and custom customers (custom IDs appear after they have transactions). You can adjust item balances and create a checkout URL for any of them. Granting a product without checkout is SDK/API only.