Java

Use the official Cobrofácil Java SDK to call the API from Java 8 or newer applications. The package is published as com.cortier:cobrofacil.

Installation

Add the SDK from Sonatype Central.

<dependency>
    <groupId>com.cortier</groupId>
    <artifactId>cobrofacil</artifactId>
    <version>1.0.8</version>
</dependency>

Create a client

Build a CobrofacilClient with an environment and bearer token. Before creating the client, generate a token for the environment you want to use.

import com.cortier.cobrofacil.CobrofacilClient;
import com.cortier.cobrofacil.CobrofacilEnvironment;

CobrofacilClient client = CobrofacilClient.builder()
    .environment(CobrofacilEnvironment.SANDBOX)
    .bearerToken("token")
    .build();

API clients

CobrofacilClient exposes typed clients for the available API resources.

client.clients();
client.transactions();
client.stp();

Clients

import com.cortier.cobrofacil.generated.model.CreateClientRequest;

CreateClientRequest request = new CreateClientRequest()
    .firstName("Juan")
    .lastName("Mejía")
    .phoneNumber("+526640000000")
    .middleName("Alberto")
    .mmName(null);

client.clients().createClient(request);
client.clients().getClient("client-200");

Transactions

client.transactions().getTransactions(
    "2026-01-01",
    "2026-01-31",
    "client-200",
    1
);

STP

client.stp().getStpBalance();
client.stp().createStpPayout();

Error handling

API errors are thrown as CobrofacilApiException. Validation errors return a ValidationErrorResponse with a message and field-level errors. Other documented API errors return an ErrorResponse with a message.

import com.cortier.cobrofacil.CobrofacilApiException;
import com.cortier.cobrofacil.generated.model.ErrorResponse;
import com.cortier.cobrofacil.generated.model.ValidationErrorResponse;

try {
    client.clients().getClient("client-200");
} catch (CobrofacilApiException exception) {
    if (exception.isValidationError()) {
        ValidationErrorResponse error = exception.getValidationErrorResponse();

        System.out.println(error.getMessage());
        System.out.println(error.getErrors());

        return;
    }

    if (exception.hasErrorResponse()) {
        ErrorResponse error = exception.getErrorResponse();

        System.out.println(error.getMessage());

        return;
    }

    System.out.println(exception.getResponseBody());
}

Timeouts

The client sets sensible default timeouts. Override them with Duration values when your runtime needs stricter limits.

import com.cortier.cobrofacil.CobrofacilClient;
import com.cortier.cobrofacil.CobrofacilEnvironment;

import java.time.Duration;

CobrofacilClient client = CobrofacilClient.builder()
    .environment(CobrofacilEnvironment.PRODUCTION)
    .bearerToken("token")
    .connectTimeout(Duration.ofSeconds(5))
    .readTimeout(Duration.ofSeconds(20))
    .writeTimeout(Duration.ofSeconds(20))
    .build();

Was this page helpful?