Para mais informações, visite nosso site: Intopays
Certifique-se de que o repositório JitPack está incluído no seu pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Adicione a dependência no seu arquivo pom.xml:
<dependency>
<groupId>com.github.intopays</groupId>
<artifactId>intopays-java-sdk</artifactId>
<version>v1.3.1</version>
</dependency>
Você pode inicializar a SDK da seguinte maneira:
import com.intopays.sdk.Intopays;
import com.intopays.sdk.IntopaysConstructor;
import com.intopays.sdk.infra.config.Environment;
public class Main {
public static void main(String[] args) {
// Inicialize o construtor da SDK com token
IntopaysConstructor config = new IntopaysConstructor("meu-intopays-token");
// Crie a instância principal da SDK
Intopays intopays = new Intopays(config);
// A partir daqui, você pode acessar os serviços:
// intopays.pix
// intopays.boleto
// intopays.webhook
}
}
token
: (string): Token de autenticação fornecido pela Intopays.
Intopays
: Objeto Intopays com acesso às funcionalidades do SDK, como pix, webhooks, etc.
Você pode criar cobranças Pix utilizando o SDK de forma simples. para bancos Sicredi
, Sicoob
, Santander
, Banco do Brasil
enter outros.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.enums.IntegrationEnum;
import com.intopays.sdk.core.models.Pix;
import com.intopays.sdk.core.models.PixInfo;
import java.util.Arrays;
public class PixExample {
public static void main(String[] args) {
// Inicialização do SDK (ver seção de inicialização)
Intopays intopays = ...;
// Criação do objeto Pix
Pix pix = new Pix();
pix.setCalendarExpiration(86400); // Tempo de expiração em segundos
pix.setDebtorName("Lucas Lopes");
pix.setDebtorDocument("12345678901"); // CPF ou CNPJ
pix.setAmountOriginal("10.99"); // Valor do Pix
pix.setAmountModificationType(0); // Tipo de modificação no valor
pix.setPayerRequest("Cobrança de serviço");
// Informações adicionais
PixInfo info = new PixInfo();
info.setName("Campo 1");
info.setValue("Informação Adicional do PSP-Recebedor");
pix.setAdditionalInfos(Arrays.asList(info));
// Tipo de integração (banco)
pix.setIntegrationType(IntegrationEnum.SICOOB);
try {
Pix response = intopays.pix.create(pix);
System.out.println("Pix gerado com sucesso:");
System.out.println("QR Code: " + response.getQrcode());
System.out.println("URL: " + response.getUrl());
} catch (Exception e) {
System.err.println("Erro ao gerar Pix: " + e.getMessage());
}
}
}
amountOriginal
: O valor do pix (em reais).debtorName
: Nome do pagador.debtorDocument
: CPF/CNPJ do pagador.payerRequest
: Descrição da cobrança.calendarExpiration
: Tempo em segundos para expiraramountModificationType
: Tipo de modificação no valor da cobrança.additionalInfos
: Informações adicionais da cobrança, contendo nome e valor.integrationType
: Tipo de integração (use o enum IntegrationEnum para escolher).
Pix
: Objeto com os dados da cobrançaPix
, incluindoqrcode
,location
,status
eurl
.
Você pode encontrar um Pix existente usando o ID de pagamento.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Pix;
public class PixFinder {
public static void main(String[] args) {
// Inicialize o SDK (ver seção de inicialização)
Intopays intopays = ...;
// ID do Pix previamente criado
String pixId = "123"; // Exemplo: String.valueOf(createdPix.getId());
try {
Pix foundPix = intopays.pix.find(pixId);
System.out.println("Pix encontrado:");
System.out.println("Status: " + foundPix.getStatus());
System.out.println("QR Code: " + foundPix.getQrcode());
System.out.println("URL: " + foundPix.getUrl());
} catch (Exception e) {
System.err.println("Erro ao encontrar o Pix: " + e.getMessage());
}
}
}
pixId
: ID do Pix gerado anteriormente.
Pix
: Objeto com os dados da cobrançaPix
, incluindoqrcode
,location
,status
eurl
.
Você pode pesquisar um Pix por CPF/CNPJ, status ou data.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Pix;
import com.intopays.sdk.core.enums.PixTransactionStatusEnum;
import java.util.List;
public class PixSearchExample {
public static void main(String[] args) {
// Inicialize o SDK (ver seção de inicialização)
Intopays intopays = ...;
// Criar objeto Pix com os critérios de pesquisa
Pix searchCriteria = new Pix();
searchCriteria.setDebtorDocument("12345678901"); // CPF ou CNPJ
searchCriteria.setStatus(PixTransactionStatusEnum.ACTIVE); // Ex: ACTIVE, COMPLETED
try {
List<Pix> resultList = intopays.pix.search(searchCriteria);
System.out.println("Resultados da pesquisa:");
for (Pix result : resultList) {
System.out.println("ID: " + result.getId());
System.out.println("Status: " + result.getStatus());
System.out.println("QR Code: " + result.getQrcode());
System.out.println("URL: " + result.getUrl());
System.out.println("--------------------------");
}
} catch (Exception e) {
System.err.println("Erro ao pesquisar Pix: " + e.getMessage());
}
}
}
debtorDocument
: (opcional): CPF ou CNPJ do pagador.status
: (opcional): Status da cobrança (ex: ACTIVE, COMPLETED).
Pix
: Lista de cobranças Pix que atendem aos critérios. Objeto com os dados da cobrançaPix
, incluindoqrcode
,location
,status
eurl
.
Você pode criar boletos utilizando o SDK, com opções de integração
com bancos como Banco do Brasil
, Bradesco
, Itaú
, entre outros.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Boleto;
import com.intopays.sdk.core.enums.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
public class BoletoExample {
public static void main(String[] args) {
// Inicialize o SDK (ver seção de inicialização)
Intopays intopays = ...;
// Configuração do boleto
Boleto boleto = new Boleto();
boleto.setAmount(new BigDecimal("10.01")); // Valor do boleto: R$10,01
boleto.setDueDate(Date.from(LocalDate.now().plusDays(3).atStartOfDay(ZoneId.systemDefault()).toInstant()));
boleto.setDaysAfterDueDateForCancellation(30);
boleto.setPayerName("Lucas Lopes");
boleto.setPayerDocument("12345678901");
boleto.setPayerEmail("lucas@example.com");
boleto.setPayerPhone("51999999999");
boleto.setPayerZipCode("12345678");
boleto.setPayerAddress("Rua Exemplo");
boleto.setPayerNumber("123");
boleto.setPayerComplement("Apto 101");
boleto.setPayerNeighborhood("Centro");
boleto.setPayerCity("Cidade");
boleto.setPayerState(StateEnum.SP);
boleto.setMessageLine1("Obrigado pela preferência!");
boleto.setMessageLine2("Vencimento em 3 dias úteis.");
boleto.setDiscount1Code(DiscountEnum.NO_DISCOUNT);
boleto.setFineCode(FineTypeEnum.NO_FINE);
boleto.setInterestCode(InterestEnum.EXEMPT);
boleto.setFinalBeneficiaryName("Empresa Beneficiária");
boleto.setFinalBeneficiaryDocument("11111111111");
boleto.setFinalBeneficiaryZipCode("87654321");
boleto.setFinalBeneficiaryAddress("Rua Final");
boleto.setFinalBeneficiaryNeighborhood("Bairro Final");
boleto.setFinalBeneficiaryCity("Cidade Final");
boleto.setFinalBeneficiaryState(StateEnum.RJ);
boleto.setIntegrationType(IntegrationEnum.SICOOB); // Banco integrador
try {
Boleto resultado = intopays.boleto.create(boleto);
System.out.println("Boleto criado com sucesso!");
System.out.println("Código de barras: " + resultado.getBarcode());
System.out.println("URL: " + resultado.getBoletoUrl());
System.out.println("Status: " + resultado.getStatus());
} catch (Exception e) {
System.err.println("Erro ao gerar boleto: " + e.getMessage());
}
}
}
amount
: O valor do boleto (em reais).dueDate
: A data de vencimento do boleto.daysAfterDueDateForCancellation
: Número de dias após o vencimento para cancelamento do boleto.payerDocument
: O CPF ou CNPJ do pagador.payerName
: Nome do pagador.payerEmail
: E-mail do pagador.payerPhone
: Telefone do pagador.payerZipCode
: CEP do pagador.payerNumber
: Número do endereço do pagador.payerComplement
: Complemento do endereço do pagador.payerNeighborhood
: Bairro do pagador.payerCity
: Cidade do pagador.payerState
: Estado do pagador (use o enum StateEnum para escolher).payerAddress
: Endereço do pagador.messageLine1
: Mensagem personalizada (linha 1).messageLine2
: Mensagem personalizada (linha 2).discount1Code
: Código do desconto 1 (use o enum DiscountEnum para escolher).discount1Rate
: Taxa de desconto 1.discount1Value
: Valor do desconto 1.discount1Date
: Data do desconto 1.discount2Code
: Código do desconto 2 (use o enum DiscountEnum para escolher).discount2Rate
: Taxa de desconto 2.discount2Value
: Valor do desconto 2.discount2Date
: Data do desconto 2.fineCode
: Código de multa (use o enum FineTypeEnum para escolher).fineDate
: Data da multa.fineValue
: Valor da multa.fineRate
: Taxa da multa.interestCode
: Código de juros (use o enum InterestEnum para escolher).interestDate
: Data dos juros.interestRate
: Taxa de juros.interestValue
: Valor dos juros.finalBeneficiaryName
: Nome do beneficiário final.finalBeneficiaryDocument
: CPF ou CNPJ do beneficiário final.finalBeneficiaryZipCode
: CEP do beneficiário final.finalBeneficiaryAddress
: Endereço do beneficiário final.finalBeneficiaryNeighborhood
: Bairro do beneficiário final.finalBeneficiaryCity
: Cidade do beneficiário final.finalBeneficiaryState
: Estado do beneficiário final (use o enum StateEnum para escolher).integrationType
: Tipo de integração (use o enum IntegrationEnum para escolher).
Boleto
: Objeto contendo os dados da cobrança do boleto, incluindo barcode
, boletoUrl
, dueDate
, amount
, status
, entre outros.
Você pode encontrar um boleto específico utilizando seu ID com o SDK de forma simples.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Boleto;
public class BuscarBoletoExample {
public static void main(String[] args) {
// Inicialize o SDK (ver seção de inicialização)
Intopays intopays = ...;
try {
Long boletoId = 123L; // ID do boleto que você deseja buscar
Boleto boleto = intopays.boleto.find(boletoId);
System.out.println("Boleto encontrado:");
System.out.println("ID: " + boleto.getId());
System.out.println("Valor: " + boleto.getAmount());
System.out.println("Vencimento: " + boleto.getDueDate());
System.out.println("Status: " + boleto.getStatus());
System.out.println("Código de barras: " + boleto.getBarcode());
System.out.println("URL: " + boleto.getBoletoUrl());
} catch (Exception e) {
System.err.println("Erro ao buscar boleto: " + e.getMessage());
}
}
}
id
: ID do boleto que será encontrado. Este ID é retornado ao criar o boleto.
Boleto
: Objeto contendo os dados do boleto, como id, amount, dueDate, status e outros detalhes relacionados.
Você pode cancelar uma cobrança de boleto utilizando o SDK de forma simples.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Boleto;
public class CancelarBoletoExample {
public static void main(String[] args) {
// Inicialize o SDK (ver seção de autenticação e configuração)
Intopays intopays = ...;
try {
Long boletoId = 123L; // ID do boleto que será cancelado
Boleto boletoCancelado = intopays.boleto.cancel(boletoId);
System.out.println("Boleto cancelado com sucesso!");
System.out.println("ID: " + boletoCancelado.getId());
System.out.println("Status: " + boletoCancelado.getStatus());
} catch (Exception e) {
System.err.println("Erro ao cancelar boleto: " + e.getMessage());
}
}
}
id
: ID do boleto que será cancelado. Este ID é retornado ao criar o boleto.
Boleto
: Objeto com a confirmação do cancelamento do boleto, incluindo o status da operação e a mensagem de sucesso ou erro.
Você pode pesquisar boletos com base em diferentes critérios usando o SDK de forma simples.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Boleto;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;
public class PesquisarBoletoExample {
public static void main(String[] args) {
// Inicialize o SDK (ver seção de autenticação e configuração)
Intopays intopays = ...;
try {
Boleto filtro = new Boleto();
filtro.setPayerName("Luffrs");
filtro.setDueDate(Date.from(LocalDate.of(2025, 5, 1).atStartOfDay(ZoneId.systemDefault()).toInstant()));
List<Boleto> boletos = intopays.boleto.search(filtro);
for (Boleto boleto : boletos) {
System.out.println("ID: " + boleto.getId());
System.out.println("Nome do Pagador: " + boleto.getPayerName());
System.out.println("Valor: R$" + boleto.getAmount());
System.out.println("Status: " + boleto.getStatus());
System.out.println("------------------------------");
}
} catch (Exception e) {
System.err.println("Erro ao pesquisar boletos: " + e.getMessage());
}
}
}
payerName
: Nome do pagador (opcional).dueDate
: Data de vencimento do boleto (opcional).status
: Status do boleto, como "PENDENTE", "PAGO", etc. (opcional).
List<Boleto>
: Lista de objetos que representam os boletos encontrados com os critérios de pesquisa. Cada objeto de boleto pode incluir informações comoid
,amount
,dueDate
,payerName
,status
, entre outros detalhes.
Você pode registrar um novo webhook utilizando o método create do SDK Java. O webhook será utilizado para receber notificações de eventos, como a confirmação de pagamento de boletos e pix.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Webhook;
import java.util.UUID;
public class CriarWebhookExample {
public static void main(String[] args) {
// Inicialize o SDK (ver seção de autenticação e configuração)
Intopays intopays = ...;
try {
String endpoint = "https://intopays.com/" + UUID.randomUUID();
Webhook novoWebhook = new Webhook();
novoWebhook.setEndpoint(endpoint);
Webhook recebido = intopays.webhook.create(novoWebhook);
System.out.println("Webhook criado com sucesso!");
System.out.println("ID: " + recebido.getId());
System.out.println("Endpoint: " + recebido.getEndpoint());
} catch (Exception e) {
System.err.println("Erro ao criar webhook: " + e.getMessage());
}
}
}
payload.endpoint
: Endpoint responsável por receber eventos via webhook.
Webhook
: Objeto que representa um webhook.
Você pode listar todos os webhooks registrados usando a função find
do objeto intopays.webhooks
.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Webhook;
import java.util.List;
public class PesquisarWebhookExample {
public static void main(String[] args) {
Intopays intopays = ...;
try {
Webhook filtro = new Webhook();
filtro.setEndpoint("https://exemple.intopays.com/webhooks");
List<Webhook> encontrados = intopays.webhook.find(filtro);
for (Webhook w : encontrados) {
System.out.println("Encontrado: " + w.getId() + " -> " + w.getEndpoint());
}
} catch (Exception e) {
System.err.println("Erro ao pesquisar webhooks: " + e.getMessage());
}
}
}
Array<Webhook>
: Lista de objetos que representam webhooks.
Você também pode pesquisar webhooks por endpoint usando a função find
do objeto intopays.webhooks
.
import com.intopays.sdk.Intopays;
import com.intopays.sdk.core.models.Webhook;
import java.util.List;
public class PesquisarWebhookExample {
public static void main(String[] args) {
Intopays intopays = ...;
try {
Webhook filtro = new Webhook();
filtro.setEndpoint("https://exemple.intopays.com/webhooks");
List<Webhook> encontrados = intopays.webhook.find(filtro);
for (Webhook w : encontrados) {
System.out.println("Encontrado: " + w.getId() + " -> " + w.getEndpoint());
}
} catch (Exception e) {
System.err.println("Erro ao pesquisar webhooks: " + e.getMessage());
}
}
}
endpoint
: Endpoint a ser especificado durante a consulta..
List<Webhook>
: Lista de objetos que representam webhooks.
Você pode excluir um webhook usando a função delete
do objeto intopays.webhooks
.
import com.intopays.sdk.Intopays;
public class DeletarWebhookExample {
public static void main(String[] args) {
Intopays intopays = ...;
try {
int webhookId = 123;
intopays.webhook.delete(webhookId);
System.out.println("Webhook excluído com sucesso!");
} catch (Exception e) {
System.err.println("Erro ao excluir webhook: " + e.getMessage());
}
}
}
webhookId
: ID do webhook a ser deletado.
void
: Sem retorno após a exclusão do webhook