Portal sections
Opening the portal
Via the API
Create a session withPOST /customer-portal-sessions and redirect the customer to the url in the response. Identify the customer by Alguna ID or by one of the aliases you set on the customer, so you never need to store Alguna IDs.
Omit a settings object, or any field inside one, to use your organization’s default.
expires_at) and are single-use per token, so create one at the moment the customer clicks through rather than storing the link. Reference: Create a customer portal session.
Via the dashboard
- Open Customers and select the customer
- Click Send Portal Link
- The customer receives an email with a link that expires like an API-minted session
Configuring sections
Organization defaults live under Settings → Organization → Customer portal. A session can override any of them for one customer.Plan overview settings
Invoice list settings
Billing details settings
Common combinations:
Branding and domain
The portal uses the logo, colors and brand slug set under Settings → Organization → Customizations → Branding — see Branding. By default it is served from an Alguna-hosted URL, returned asurl on the session; to serve it from your own domain, see Custom domains.
Security
- Short-lived — every session carries
expires_at(1 hour); after that the customer needs a new one - Single-use — a token is bound to one session
- Customer-scoped — a session shows one customer’s data only
- Passwordless — possession of the link is the credential, so mint it on demand and never log or email it in bulk
Reacting to what customers do
Actions taken in the portal raise the same webhooks as any other change:Next steps
Customer portal integration guide
The “Manage billing” button, end to end.
Hosted checkout
Take the first payment before there is a subscription to manage.
Custom domains
Serve hosted pages from your own domain.
Collections
Dunning flows that send customers to the portal to pay.