PortalConfiguration
The PortalConfiguration resource lets you create and manage Stripe Customer Portal Configurations for customizing the customer portal experience.
Minimal Example
Section titled “Minimal Example”Create a basic portal configuration:
import { PortalConfiguration } from "alchemy/stripe";
const basicPortal = await PortalConfiguration("basic-portal", { businessProfile: { headline: "Manage your subscription", privacyPolicyUrl: "https://example.com/privacy", termsOfServiceUrl: "https://example.com/terms", }, features: { invoiceHistory: { enabled: true }, paymentMethodUpdate: { enabled: true }, },});
Subscription Management Portal
Section titled “Subscription Management Portal”Create a portal with subscription management features:
import { PortalConfiguration } from "alchemy/stripe";
const subscriptionPortal = await PortalConfiguration("subscription-portal", { defaultReturnUrl: "https://example.com/account", features: { subscriptionCancel: { enabled: true, mode: "at_period_end", prorationBehavior: "none", }, subscriptionUpdate: { enabled: true, defaultAllowedUpdates: ["price", "quantity"], prorationBehavior: "create_prorations", }, },});
Comprehensive Portal
Section titled “Comprehensive Portal”Create a full-featured portal configuration:
import { PortalConfiguration } from "alchemy/stripe";
const fullPortal = await PortalConfiguration("full-portal", { businessProfile: { headline: "Manage your Acme Corp subscription", privacyPolicyUrl: "https://acme.com/privacy", termsOfServiceUrl: "https://acme.com/terms", }, defaultReturnUrl: "https://acme.com/dashboard", features: { customerUpdate: { enabled: true, allowedUpdates: ["email", "address", "shipping", "phone", "tax_id"], }, invoiceHistory: { enabled: true }, paymentMethodUpdate: { enabled: true }, subscriptionCancel: { enabled: true, mode: "immediately", cancellationReason: { enabled: true, options: ["too_expensive", "missing_features", "switched_service"], }, }, },});