pjbank / pjbank-java-sdk Goto Github PK
View Code? Open in Web Editor NEWPJBank SDK para Java! :coffee: :coffee: :coffee:
License: MIT License
PJBank SDK para Java! :coffee: :coffee: :coffee:
License: MIT License
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
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
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?
Criar um arquivo CONTRIBUTING.md
dizendo tudo que o pessoal precisa fazer para instalar, rodar testes unitários e mandar pull requests pro SDK
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.
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.
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>
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é...
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?
Foi adicionado recentemente na API v3 do PJBank a opção de realizar o split de pagamentos de boletos bancários entre duas contas.
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
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?
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)
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();
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;
}`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.