• Precios
  • Blog
Iniciar sesiónAgendá una demo
Introducción

Inicio rápido

Integrar con Java

Aprender

Recursos

Referencia del SDKVersionado de APIManejo de erroresTestingCLI

Plugins

Better Auth
DocumentaciónRecursosConstruir con AIAPI ReferenceWebhooks

Integrar con Java

Instala y configura el SDK de Commet para Java.

Instala la Commet Skill para que tu agente integre el SDK actual y valide su trabajo contra el contrato vivo de la API.

npx skills add commet-labs/skills --skill commet

Instalar

pom.xml
<dependency>
    <groupId>co.commet</groupId>
    <artifactId>commet-java</artifactId>
    <version>8.0.0</version>
</dependency>
build.gradle.kts
implementation("co.commet:commet-java:9.0.0")

Configurar

.env
COMMET_API_KEY=ck_sandbox_xxx
CommetClient.java
import co.commet.Commet;

public class CommetClient {

    public static final Commet commet = Commet.builder()
            .apiKey(System.getenv("COMMET_API_KEY"))
            .build();
}

El cliente no tiene opción de environment: sandbox o live lo decide la organización a la que pertenece la API key.

Crear cliente y suscribir

customers().create es idempotente — si ya existe un cliente con el mismo id, devuelve el registro existente.

import co.commet.params.CreateCustomerParams;
import co.commet.params.CreateSubscriptionParams;

commet.customers().create(
    CreateCustomerParams.builder("user@example.com")
        .id("user_123")
        .build()
);

var subscription = commet.subscriptions().create(
    CreateSubscriptionParams.builder("user_123")
        .planCode("pro")
        .build()
);

String checkoutUrl = subscription.checkoutUrl();

El cliente es redirigido al checkout para completar el pago.

Verificar acceso

import co.commet.models.FeatureAccess;
import co.commet.models.Subscription;
import co.commet.models.SubscriptionStatus;
import co.commet.params.GetActiveSubscriptionParams;
import co.commet.params.GetFeatureAccessParams;

Subscription sub = commet.subscriptions().getActive(
    GetActiveSubscriptionParams.builder("user_123").build()
);
SubscriptionStatus status = sub != null ? sub.status() : null;

FeatureAccess access = commet.featureAccess()
        .get("custom_branding", GetFeatureAccessParams.builder("user_123").build());
boolean allowed = access.allowed();

Trackear uso

import co.commet.params.TrackUsageParams;

commet.usage().track(
    TrackUsageParams.builder("api_calls", "user_123")
        .value(1.0)
        .build()
);

El uso se agrega y se cobra al final del período.

Webhooks

import co.commet.resources.Webhooks;
import java.util.Map;

Webhooks webhooks = new Webhooks();

Map<String, Object> payload = webhooks.verifyAndParse(
        rawBody, signature, webhookSecret
);

if (payload == null) {
    // devolver 401
}

if ("subscription.activated".equals(payload.get("event"))) {
    // manejar activación
}

Relacionado

  • Referencia del SDK

¿Cómo está esta guía?

Integrar con Django

Agrega cobros y pagos a tu aplicación de Django.

Integrar con Go

Agrega cobros y pagos a tu aplicación de Go usando net/http.

On this page

Instalar
Configurar
Crear cliente y suscribir
Verificar acceso
Trackear uso
Webhooks
Relacionado