Integrar con Java
Instala y configura el SDK de Commet para Java.
Instalar
<dependency>
<groupId>co.commet</groupId>
<artifactId>commet-java</artifactId>
<version>0.1.0</version>
</dependency>implementation("co.commet:commet-java:0.1.0")Configurar
COMMET_API_KEY=ck_sandbox_xxximport co.commet.Commet;
import co.commet.Environment;
public class CommetClient {
public static final Commet commet = Commet.builder()
.apiKey(System.getenv("COMMET_API_KEY"))
.environment(Environment.SANDBOX)
.build();
}Crear cliente y suscribir
customers().create es idempotente — si ya existe un cliente con el mismo id, devuelve el registro existente.
import co.commet.ApiResponse;
import java.util.Map;
commet.customers().create("user@example.com", "user_123");
ApiResponse subscription = commet.subscriptions().create(
"user_123", "pro",
null, null, null, null, null, null, null
);
Map<String, Object> data = (Map<String, Object>) subscription.getData();
String checkoutUrl = (String) data.get("checkout_url");El cliente es redirigido al checkout para completar el pago.
Verificar acceso
ApiResponse sub = commet.subscriptions().get("user_123");
Map<String, Object> subData = (Map<String, Object>) sub.getData();
String status = (String) subData.get("status");
ApiResponse access = commet.features().check("custom_branding", "user_123");
Map<String, Object> accessData = (Map<String, Object>) access.getData();
boolean allowed = (boolean) accessData.get("allowed");Trackear uso
commet.usage().track(
TrackParams.builder("api_calls")
.customerId("user_123")
.value(1)
.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
¿Cómo está esta guía?