Portal de autoservicio para que tus clientes gestionen sus suscripciones.
Página de autoservicio donde los clientes gestionan su suscripción, ven su uso, cambian de plan y compran créditos. Se crea automáticamente con cada suscripción.
Las compras están disponibles en suscripciones activas, en trial y en planes gratuitos. A los clientes en planes gratuitos se les pide agregar un método de pago en su primera compra.
Tus clientes pueden guardar varias tarjetas y elegir su método de pago predeterminado. Una tarjeta nueva queda como predeterminada, salvo que el cliente la guarde como alternativa. La primera tarjeta guardada siempre queda como predeterminada.
Mientras haya una suscripción vigente:
Sin una suscripción vigente, el cliente puede eliminar cualquier método guardado. No puede cambiar el predeterminado ni eliminar métodos mientras haya un pago o reintento automático en curso.
Commet también puede usar los métodos guardados en los reintentos automáticos de pago.
Las URLs del portal no son de un solo uso — el cliente puede volver a abrir el link mientras la sesión siga viva. Una sesión expira a los 30 minutos de inactividad, se renueva automáticamente mientras el cliente está activo y tiene un tope de 2 horas desde su creación. Genera una URL nueva en cada visita.
const portal = await commet.portal.getUrl({ customerId: 'user_123' })
redirect(portal.portalUrl)portal = commet.portal.get_url(customer_id='user_123')
redirect(portal.portal_url)portal, err := client.Portal.GetURL(ctx, &commet.GetPortalURLParams{
CustomerID: "user_123",
})
// redirect(portal.PortalURL)var portal = commet.portal().getUrl(RequestPortalAccessParams.builder().customerId("user_123").build());
// redirect(portal.portalUrl())$portal = $commet->portal->getUrl(customerId: 'user_123');
redirect($portal->portalUrl);curl -X POST https://commet.co/api/v1/portal/request-access \
-H "x-api-key: $COMMET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"customerId": "user_123"}'Puedes identificar a los clientes con customerId (ID de Commet o tu ID externo) o email.
@commet/next (solo Node.js) provee un route handler de una línea que genera URLs del portal y redirige automáticamente.
import { CustomerPortal } from '@commet/next'
export const GET = CustomerPortal({
apiKey: process.env.COMMET_API_KEY!,
getCustomerId: async (req) => {
return 'user_123'
},
})<a href="/api/commet/portal">Gestionar cobros</a>Sirve el portal desde tu propio dominio (ej. billing.acme.com) en lugar de commet.co. Ve a Settings → Custom Domains, agrega el dominio y configura los registros DNS que se muestran — los links del portal usan tu dominio una vez verificado.
Cada dominio personalizado sirve una superficie: portal o checkout. Las páginas de checkout soportan dominios personalizados de la misma forma.
¿Cómo está esta guía?