Comunidade

Ask a Question

Erro 500 ao gerar boleto

Estou tendo retorno 500 ao tentar gera um boleto em produção, já havia testado o aplicativo em sandbox do qual gera normal, quando vou para produção erro, tive dificuldades com pdf do boleto já que sandbox não tem, aí para mim ajustar tive que ir para produção fazer testes, isso mesmo ir para ambiente de produção fazer teste pq no sandbox não gera PDF, essa API de sandbox serve para quer mesmo ? qual sentido ? não tem as funcionalidade de produção e ainda dar erro nas requisição de gerar boleto que em sandbox funciona normal, como um banco desse tamanho torna as coisas tão difícil que outros fazem com pés nas costas, parece que contrataram pessoal do governo para desenvolver essa API só pode, muita burocracia, nada funciona e sempre está indisponível.

Dúvida na autenticação para criar boleto

Bom dia. Estamos implementando a integração com o BTG para criação de boletos. Estou usando o processo do Authorization Code. Eu consegui obter o code e consegui obter o token, porem não consegui criar um boleto. Deu mensagem de não autorizado. (Utilizando o access-token). Obs. No retorno da api, veio o access-token mas não vieram o refresh-token e o id-token {"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6ImF… ","scope":null,"token_type":"Bearer","expires_in":86400} Eu vi numa outra postagem aqui na comunidade que poderia ser usado o refresh-token para esse processo de autenticação para criação de boletos, porem não consegui entender o por que de não ter retornado o refresh-token. Estou fazendo a chamada da sseguinte forma: using (var client1 = new HttpClient()) { client1.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes(credentials))); List\<KeyValuePair\<string, string>> requestData1 = new List\<KeyValuePair\<string, string>>(); requestData.Add(new KeyValuePair\<string, string>("grant_type", "client_credentials")); requestData.Add(new KeyValuePair\<string, string>("code", authorizationCode)); requestData.Add(new KeyValuePair\<string, string>("redirect_uri", redirectUri)); requestData.Add(new KeyValuePair\<string, string>("content-type", "application/x-www-form-urlencoded")); FormUrlEncodedContent requestBody1 = new FormUrlEncodedContent(requestData1); ```csharp HttpResponseMessage response1 = await client.PostAsync($"{parametroUrlToken}", requestBody1); string jsonstring1 = response.Content.ReadAsStringAsync().Result; AuthenticateApiBtgResponse resp1 = JsonConvert.DeserializeObject<AuthenticateApiBtgResponse>(jsonstring1); return resp.access_token; } ```

Erro ao gerar cobrança PIX

Fiquei com duvida o que passo no taxId ali do payer. Inicialmente imaginei que o taxId seria o CPF, porém, tem me retornado invalido para todo CPF que já tentei mandar. Como ele pede numero inteiro tbm perguntei se seria CPF visto que tem CPF que começa com 0 e não tem numero que começa com zero. Gostaria de saber o que seria esse taxId. BODY: { "expiresIn": 86400, "amount": { "original": 20, "allowCustomerChangeValue": false }, "payer": { "name": "Raphael Isaac Bandeira", "taxId": 10698085710 }, "pixKey": "23869433000183", "locationId": "b226b648-9410-42d3-88f3-497c23608a3d", "displayText": "Pix de Teste" } RESPONSE: { "errors": [ { "fieldName": "taxId", "message": "the taxId 10698085710 is Invalid the format must be a string with only numbers and a valid taxId", "codeError": "invalidTaxId" } ] }

TRANSFERENCIAS

Bom dia, estou iniciando uma transferência e ambiente de produção, com a aplicação autorizada, usei os scopes abaixo: empresas.btgpactual.com/accounts empresas.btgpactual.com/bank-slips empresas.btgpactual.com/payments empresas.btgpactual.com/pix-cash-in empresas.btgpactual.com/transfers openid { "debitParty":{ "branchCode":"50", "number":"CONTA DE ORIGEM" }, "creditParty":{ "pixKey":"CHAVE PIX DE DESTINO", "keyType":"EMAIL" }, "tags":{ "externalId":"rrt-12345678912458" }, "amount":1.0, "scheduledDate":"2023-04-28T10:33:00.000Z", "reason":"mensagem do comprovante" } Porém em retorna o erro 500 sem nenhum tipo de mensagem, como procedo nesse caso? Obrigado

Geração de boletos via api BTG

Estamos tentando implementar em nosso sistema a geração de boletos através da api do BTG, mas estamos tendo dificuldade para implementar a parte de autenticação/geração de token no BTG Id. Inicialmente implementamos o método de autenticação Client Credentials, mas ao tentar utilizar o token gerado por esse método de autenticação para gerar o boleto em: <https://api.sandbox.empresas.btgpactual.com/v1/bank-slips>, recebíamos o retorno de token inválido, ao verificar a documentação: <https://developers.empresas.btgpactual.com/reference/post_bank-slips> percebemos que o método de autenticação exigido por essa rota é o Authorization Code. A dúvidaé a seguinte, percebi que o método de autenticação Authorization Code utiliza a interação com o browser para informar as credenciais do cliente, mas nossa aplicação não utiliza interação com o cliente e a geração do boleto é feita por nossa api. Como devemos proceder nesse caso? Já que o método de autenticação Client Credentials que pela descrição na documentação seria o mais adequado para nosso tipo de aplicação, não funciona para a geração de boletos do BTG.

Duvidas, tenho um app cad. no sandbox: id da app: 67755519-95a4-4a69-b2f3-cc9d79e09ae6

Minha App vai rodar localmente em ambiente seguro: Consegui recuperar o token na url: <https://id.sandbox.btgpactual.com/oauth2/token> passando o cliendid e cliente_secret ``` { "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6Im05TDBhUGZkdGdkVUNCMHkyaTJKTi1vWWNFVGFJNG1ROTNqMER3Wi1LOFEifQ.eyJzdWIiOm51bGwsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJzY29wZSI6ImVtcHJlc2FzLmJ0Z3BhY3R1YWwuY29tL2FjY291bnRzIiwiaXNzIjoiaHR0cHM6Ly9pZC5zYW5kYm94LmJ0Z3BhY3R1YWwuY29tIiwiZXhwIjoxNjc4MzAwMzgxLCJpYXQiOjE2NzgyMTM5ODEsImNsaWVudF9pZCI6IjY3NzU1NTE5LTk1YTQtNGE2OS1iMmYzLWNjOWQ3OWUwOWFlNiIsImp0aSI6InFlbURUWHRzaFhLVENZOXVMY1BGZlBCUHNUNHlOVmZ1cXF3OGpQWEFMclEifQ.CQCshN210pwVx-ZPaf34-ny4zo32hdJT3w-NY-3Db8mWBE1vNSb3uwX101EBHziKE4R4hYIj_5dQOIjtMhnqR8HUw5xj0KYc8d1btiQy1da0Bp8ulTtCkPEwi7PD475Vpt9EeKg6tkMb2d_9TE6y08LBTRkn-vtaSGIxe6PnVLfA9r4d3FEcNq6nAd9TKOKE_d-v4T3F5yoFrADYoGzVmBvw-Yh25FvYnyhcLkhLLPa1Zcqtxls6C-79vKvR9ToKXurII8J79_4vy3CH-xe9djo_evXv0fXHhe0EEuSjsS8Eb2guVo-Jgwql2hoErcCrPudD2_bAMOn06dtbnMAGGQ", "scope": "empresas.btgpactual.com/accounts", "token_type": "Bearer", "expires_in": 86400 } ``` Tentei executar o codigo abaixo copiado de "[ https://developers.empresas.btgpactual.com/reference/post_companies-companyid-pix-cash-in-locations](https://developers.empresas.btgpactual.com/reference/post_companies-companyid-pix-cash-in-locations)" ``` curl --request POST \ --url https://api.sandbox.empresas.btgpactual.com/v1/companies/30306294000145/pix-cash-in/locations \ --header 'accept: application/json' \ --header 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6Im05TDBhUGZkdGdkVUNCMHkyaTJKTi1vWWNFVGFJNG1ROTNqMER3Wi1LOFEifQ.eyJzdWIiOm51bGwsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJzY29wZSI6ImVtcHJlc2FzLmJ0Z3BhY3R1YWwuY29tL2FjY291bnRzIiwiaXNzIjoiaHR0cHM6Ly9pZC5zYW5kYm94LmJ0Z3BhY3R1YWwuY29tIiwiZXhwIjoxNjc4MzAwMzgxLCJpYXQiOjE2NzgyMTM5ODEsImNsaWVudF9pZCI6IjY3NzU1NTE5LTk1YTQtNGE2OS1iMmYzLWNjOWQ3OWUwOWFlNiIsImp0aSI6InFlbURUWHRzaFhLVENZOXVMY1BGZlBCUHNUNHlOVmZ1cXF3OGpQWEFMclEifQ.CQCshN210pwVx-ZPaf34-ny4zo32hdJT3w-NY-3Db8mWBE1vNSb3uwX101EBHziKE4R4hYIj_5dQOIjtMhnqR8HUw5xj0KYc8d1btiQy1da0Bp8ulTtCkPEwi7PD475Vpt9EeKg6tkMb2d_9TE6y08LBTRkn-vtaSGIxe6PnVLfA9r4d3FEcNq6nAd9TKOKE_d-v4T3F5yoFrADYoGzVmBvw-Yh25FvYnyhcLkhLLPa1Zcqtxls6C-79vKvR9ToKXurII8J79_4vy3CH-xe9djo_evXv0fXHhe0EEuSjsS8Eb2guVo-Jgwql2hoErcCrPudD2_bAMOn06dtbnMAGGQ' \ --header 'content-type: application/json' \ --data ' { "type": "cob", "description": "descrição de exemplo" }' ``` Retornou a msg e no ambiente do api reference a mesma mensagem, o que está errado ? obs. com o cnpj da empresa inicial 09.296 ..... acontece a mesma coisa ```json json {"fault":{"faultstring":"Invalid token: policy(VerifyJWT)","detail":{"errorcode":"steps.jwt.InvalidToken"}}}% ``` Tentei executar a chamada somente para teste o mesmo problema ``` curl --request GET \ --url https://api.sandbox.empresas.btgpactual.com/v1/accounts \ --header 'accept: application/json' \ --header 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6Im05TDBhUGZkdGdkVUNCMHkyaTJKTi1vWWNFVGFJNG1ROTNqMER3Wi1LOFEifQ.eyJzdWIiOm51bGwsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJzY29wZSI6ImVtcHJlc2FzLmJ0Z3BhY3R1YWwuY29tL2FjY291bnRzIiwiaXNzIjoiaHR0cHM6Ly9pZC5zYW5kYm94LmJ0Z3BhY3R1YWwuY29tIiwiZXhwIjoxNjc4MzAwMzgxLCJpYXQiOjE2NzgyMTM5ODEsImNsaWVudF9pZCI6IjY3NzU1NTE5LTk1YTQtNGE2OS1iMmYzLWNjOWQ3OWUwOWFlNiIsImp0aSI6InFlbURUWHRzaFhLVENZOXVMY1BGZlBCUHNUNHlOVmZ1cXF3OGpQWEFMclEifQ.CQCshN210pwVx-ZPaf34-ny4zo32hdJT3w-NY-3Db8mWBE1vNSb3uwX101EBHziKE4R4hYIj_5dQOIjtMhnqR8HUw5xj0KYc8d1btiQy1da0Bp8ulTtCkPEwi7PD475Vpt9EeKg6tkMb2d_9TE6y08LBTRkn-vtaSGIxe6PnVLfA9r4d3FEcNq6nAd9TKOKE_d-v4T3F5yoFrADYoGzVmBvw-Yh25FvYnyhcLkhLLPa1Zcqtxls6C-79vKvR9ToKXurII8J79_4vy3CH-xe9djo_evXv0fXHhe0EEuSjsS8Eb2guVo-Jgwql2hoErcCrPudD2_bAMOn06dtbnMAGGQ' ``` ```json {"fault":{"faultstring":"Failed to Resolve Variable : policy(VerifyJWT) variable(null)","detail":{"errorcode":"steps.jwt.FailedToResolveVariable"}}}% ```

Erro ao gerar pix cobrança

Quando tento gerar o pix de cobrança seguindo a /documentação da própria BTG recebo erro 500 com as seguintes informações. ``` { "fault": { "faultstring": "steps.flowcallout.FCVariableResolutionFailed", "detail": { "errorcode": "steps.flowcallout.FCVariableResolutionFailed" } } } ``` os parâmetros q estou passando são ``` $response = Http::withHeaders([ 'Content-Type' => 'application/json', 'Authorization' => 'Bearer ' . $this->getAccessToken() ])->post("{$this->base_url}/companies/{$this->company_id}/pix-cash-in/instant-collections", [ 'pixKey' => $this->pix_key, 'amount' => [ 'original' => $data['amount'], 'allowCustomerChangeValue' => false, ], 'displayText' => $data['description'], 'payer' => [ 'name' => $data['payer']['name'], 'taxId' => $data['payer']['taxId'] ], 'tags' => [ 'internalId' => $data['internal_id'] ] ]); ``` Aguardo um retorno mais breve possível sobre o erro.

API PIX - Erro 500

Ao realizar uma requisição como mostrada na [documentação](https://developers.empresas.btgpactual.com/reference/post_companies-companyid-pix-cash-in-instant-collections) da API de PIX, como mostrada no link abaixo. Eu recebo erro 500, seguido de sua descrição. { "fault": { "faultstring": "steps.flowcallout.FCVariableResolutionFailed", "detail": { "errorcode": "steps.flowcallout.FCVariableResolutionFailed" } } } Meu código para requisição usando o guzzle como recomendado na documentação. onde $client é uma instância da classe do guzzle. ```Text php $response = $client->request('POST', $this->config->get('pix_endpoint_base_route') . '/v1/companies/' . $this->config->get('pix_company_id') . '/pix-cash-in/instant-collections', [ 'form_params' => [ "expiresIn" => 1800, "amount" => [ "original" => (float) $total, "allowCustomerChangeValue" => (bool) false ], "payer" => [ "name" => (string) $customer_name, "taxId" => (string) $customer_cpf ], "pixKey" => (string) $kik_pix_key, "locationId" => (string) $location_id, "displayText"=> "Pix" ], 'headers' => [ 'accept' => 'application/json', 'authorization' => 'Bearer ' . $this->config->get('pix_access_token'), 'content-type' => 'application/json', ], ]); ``` E ao testar na propria página da [documentação](https://developers.empresas.btgpactual.com/reference/post_companies-companyid-pix-cash-in-instant-collections) onde é possível realizar um teste colocando informações básicas o mesmo erro é retornado.