Code Monkey home page Code Monkey logo

pjbank-java-sdk's People

Contributors

foxpv avatar msfidelis avatar viniciusls avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pjbank-java-sdk's Issues

Documentação

Criar uma pasta docs contendo alguns Markdowns com a documentação de como utilizar o SDK.

Podemos utilizar de exemplo o do pjbank-js-sdk

Variável pjbank-env não é setada

Bem, Estou tentando usar a SDK Java, mas sempre que seto a variável de ambiente, a SDK insiste em usar a URL https://api.pjbank.com.br/.

Eu uso a IDE NetBeans e setei a variável no projeto. Na saída da execução diz que a variável está setada, mas quando imprimo a PJBankConfig.getApiBaseUrl(); eu vejo que está usando o ambiente de produção.

Aqui está a saída:

cd /home/lucas/NetBeansProjects/pegasus-web; JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 M2_HOME=/usr/local/apache-maven-3.6.0 /usr/local/apache-maven-3.6.0/bin/mvn -Dnetbeans.deploy=true -DskipTests=true -Dpjbank-env=dev package

Erro ao gerar boleto

Bom dia!

Quando o SDK dá um post no endpoint para gerar o boleto (BoletosManager, linha 80), a API está retornando o seguinte erro:
"msg": "Specified column "cobranca" is not in the row"

Seria alguma alteração que houve na API?

CONTRIBUTING.md

Criar um arquivo CONTRIBUTING.md dizendo tudo que o pessoal precisa fazer para instalar, rodar testes unitários e mandar pull requests pro SDK

Suporte a paginação - [Boleto bancário - Consultar boletos por recebimento]

E aí, pessoal. Beleza? Espero que sim.

Pessoal. Esses dias eu tive um problema por conta da paginação. Estava colocando um intervalo de datas muito grande e acabei que não tava conseguindo ver alguns boletos já pagos. Lendo a documentação do PJBank, eu vi que ele limita cada página a 50 registros.

Antes de eu tentar contribuir com esse ajuste eu queria saber se já existe (por isso abri a issue). Eu procurei no trecho de código que isso é feito (em BoletosManager.get()) e não encontrei.

Validar compatibilidade com Java 7

  • Executar testes em ambiente utilizando Java 7, visto que a SDK está sendo desenvolvida com base em Java 8 e muitos sistemas ainda utilizam a versão 7.

Adicionar parâmetro na URL para métrica de uso da SDK

  • Adicionar parâmetro (ex: utm_source ou qualquer outro nome descritivo) para que seja possível visualizar e medir a quantidade de usuários/requisições através da SDK Java. Assim é possível ter métricas de uso.

Suporte PIX

Suporte à nova modalidade de pagamento PIX

Consultar documentação, campo PIX

Segundo o pessoal do PJBank, essa modalidade está disponível apenas no ambiente de produção.

Link para documentação

Specified column "FL_SECURITIZACAO_COB" is not in the row

Estou tentando gerar um boleto (https://sandbox.pjbank.com.br/recebimentos/{{credencial}}/transacoes), mas estou recebendo a seguinte exception:

br.com.pjbank.sdk.exceptions.PJBankException: Specified column "FL_SECURITIZACAO_COB" is not in the row
at br.com.pjbank.sdk.exceptions.PJBankExceptionHandler.handleFromJSONResponse(PJBankExceptionHandler.java:24)
at br.com.pjbank.sdk.api.PJBankClient.doRequest(PJBankClient.java:132)
at br.com.pjbank.sdk.recebimento.BoletosManager.create(BoletosManager.java:80)

Até mês passado estava funcionando. Acredito que mudaram alguma coisa lá no PJBank e não testaram ou talvez são apenas "maus dias".

Esse é a versão do SDK que estou usando:

<dependency>
    <groupId>com.github.pjbank</groupId>
    <artifactId>pjbank-java-sdk</artifactId>
    <version>1b6b3e6433</version>
</dependency>

image

Fim do suporte ao TLS 1.0

Bom dia!

Com o fim do suporte ao TLS 1.0 em junho, será necessário algum update no SDK? Me parece que não né...

Instrução Bancária

Olá!

Boa tarde!

Parece que existe um parâmetro chamado instrucao_adicional na geração do boleto (para definir uma instrução bancária). O que acham de adicionar um parâmetro no construtor da classe BoletoRecebimento para receber esse parâmetro?
Ou no sdk existe alguma outra forma que eu não identifiquei?

Split de pagamentos

Split de boletos

Foi adicionado recentemente na API v3 do PJBank a opção de realizar o split de pagamentos de boletos bancários entre duas contas.

  • Durante a criação do boleto, poderá ser informado o parâmetro split, onde poderão ser informados a credencial da conta de recebimento secundária e a porcentagem do valor da cobrança que será repassada para a mesma.

As informações já serão liberadas no link da doc

https://docs.pjbank.com.br

Suporte para o ambiente de Sandbox

Seria interessante adicionar algum mecanismo de suporte para fazer requisições para o ambiente de sandbox https://sandbox.pjbank.com.br do PJBank. Alguma flag ou variável de ambiente que aponte para a urlbase. O que me diz @viniciusls?

SSLHandshakeException

Boa tarde, estou recebendo o seguinte erro ao utilizar a api para gerar uma credencial, alguma dica sobre como resolver?

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.Alerts.getSSLException(Alerts.java:154) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) at br.com.datajuri.financeiro.pjbank.PJBankClient.doRequest(PJBankClient.java:99) at br.com.datajuri.financeiro.pjbank.Credenciamento.create(Credenciamento.java:65) at br.com.datajuri.financeiro.pjbank.Credenciamento.create(Credenciamento.java:35)

PJBankException

Na situação abaixo, exemplo disponível aqui no git da api, tenta-se obter um JSONArray que seria o extrato de boletos, no entanto se uma exception ocorre o retorno é um JSONObject, gerando um erro de conversão, ou seja, o retorno da exception causa outra exception.

String response = EntityUtils.toString(client.doRequest(httpGet).getEntity()); JSONArray extratoObject = new JSONArray(response); int totalItensExtrato = extratoObject.length();

UTF-8 Encode Error

Bom dia,

enfrentei um problema hoje pela manhã que acredito ser um ponto de melhoria na api.

Quando eu disparo a requisição de client.doRequest(httpDelete).getEntity() eu faço a conversão do retorno no EntityUtils.toString passando o parâmetro de codificação
EntityUtils.toString(client.doRequest(httpDelete).getEntity(), StandardCharsets.UTF_8);, o problema está quando recebo uma exception, uma vez que a api não trata este encode a mensagem vem bugada e inviabiliza que eu mostre para o usuário. Para corrigir eu alterei na classe PJBankClient o método doRequest, segue minha alteração.

`public HttpResponse doRequest(HttpRequestBase httpRequestClient) throws IOException, PJBankException {

	HttpClient client = this.getHttpClient();

    HttpResponse response = client.execute(httpRequestClient);

    if (response.getStatusLine().getStatusCode() >= 400)
        throw PJBankExceptionHandler.handleFromJSONResponse(EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8));

    return response;
}`  

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.