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"],      },    },  },});