Configurá consumo monetario prepago, ajustá el balance de una suscripción y permití que el cliente compre más.
El modelo de consumo Balance le da a la suscripción un allowance monetario. El uso cobrable descuenta ese balance según el precio configurado en cada feature.
En Plans, elegí Balance, definí el monto incluido en cada reset y agregá las features cobrables. Usá AI Token Billing cuando el costo del modelo y el margen determinan el cargo.
El balance del plan resetea mensualmente en planes mensuales, trimestrales, anuales, free y one-time. Los semanales resetean cada siete días. Los top-ups comprados no permanecen después del próximo reset.
Usá un adjustment para una corrección de soporte, una migración o un grant administrativo:
import { Commet } from "@commet/node";const commet = new Commet({ apiKey: "ck_xxx" });const balanceAdjustment = await commet.subscriptions.adjustBalance({ id: "sub_xxx", amount: 5000,});from commet import Commetcommet = Commet("ck_xxx")balance_adjustment = commet.subscriptions.adjust_balance( "sub_xxx", amount=5000,)client, err := commet.New("ck_xxx")if err != nil { log.Fatal(err)}ctx := context.Background()balanceAdjustment, err := client.Subscriptions.AdjustBalance(ctx, "sub_xxx", &commet.AdjustBalanceParams{ Amount: 5000,})if err != nil { log.Fatal(err)}import co.commet.Commet;import co.commet.params.AdjustBalanceParams;var commet = Commet.builder().apiKey("ck_xxx").build();var balanceAdjustment = commet.subscriptions().adjustBalance( "sub_xxx", AdjustBalanceParams.builder(5000L).build());use Commet\Commet;$commet = new Commet('ck_xxx');$balanceAdjustment = $commet->subscriptions->adjustBalance( id: 'sub_xxx', amount: 5000,);Un monto positivo agrega balance y uno negativo lo reduce. Los adjustments no cobran el método de pago, así que registrá un motivo específico.
import { Commet } from "@commet/node";const commet = new Commet({ apiKey: "ck_xxx" });const balanceTopup = await commet.subscriptions.topupBalance({ id: "sub_xxx", amount: 5000,});from commet import Commetcommet = Commet("ck_xxx")balance_topup = commet.subscriptions.topup_balance( "sub_xxx", amount=5000,)client, err := commet.New("ck_xxx")if err != nil { log.Fatal(err)}ctx := context.Background()balanceTopup, err := client.Subscriptions.TopupBalance(ctx, "sub_xxx", &commet.TopupBalanceParams{ Amount: 5000,})if err != nil { log.Fatal(err)}import co.commet.Commet;import co.commet.params.TopupBalanceParams;var commet = Commet.builder().apiKey("ck_xxx").build();var balanceTopup = commet.subscriptions().topupBalance( "sub_xxx", TopupBalanceParams.builder(5000L).build());use Commet\Commet;$commet = new Commet('ck_xxx');$balanceTopup = $commet->subscriptions->topupBalance( id: 'sub_xxx', amount: 5000,);El top-up cobra el método asociado a la suscripción. El customer también puede comprar balance desde el Customer Portal.
Consultá el allowance antes de ejecutar trabajo que no puede continuar sin balance y registrá solo el trabajo completado. Usá una clave de idempotencia estable para que un retry no descuente dos veces.
Usá Credits cuando el cliente deba comprar unidades propias de tu producto que permanecen entre resets.
¿Cómo está esta guía?