Comunidade

Ask a Question

Gerar Pagamento PIX pela API

Estou tentando gerar um pagamento por PIX pela API do BTG usando a seguinte requisição POST: <https://api.sandbox.empresas.btgpactual.com/v1/companies/{meuCompanyId}/pix-cash-in/instant-collections> Header ``` 'Accept' => 'application/json', 'Authorization' => 'Bearer {Meu Token} ', 'Content-Type' => 'application/json', ``` Body (Esta como um array, mas na requisição é convertida para JSON) ``` "expiresIn" => 1800, "amount" => [ "original" => 10.00, "allowCustomerChangeValue" => False ], // Object "payer" => [ "name" => "Fulano de Tal", "taxId" => 11111111111 ], //Object "pixKey" => "MinhaChave", "locationId" => "LocationIdExemplo", "displayText" => "Pix de Teste" ``` E ao fazer a requisição gera o seguinte erro: {"fault":{"faultstring":"Failed to Resolve Variable : policy(VerifyJWT) variable(null)","detail":{"errorcode":"steps.jwt.FailedToResolveVariable"}}} Esse problema acontece quando executo a requisição pelo CURL da linguagem PHP, quando executo pelo POSTMAN (Software de Terceiros) o retorno da API não encontra nenhum erro e retorna os dados corretos da geração do pedido de pagamento PIX.

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.
ANSWERED

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.

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.
ANSWERED

Tarifas

Queria saber sobre as tarifas pelo uso da API.

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"}}}% ```
ANSWERED

Authorization Code

Estou tentando obter o _access_token_ por meio do fluxo de autenticação _Authorization Code_, mas já na primeira requisição a API não consigo retornar o _Authorization Code_ necessário para se conseguir o _access_token_. Estou chamando a seguinte requisição GET, no modo sandbox, <https://id.sandbox.btgpactual.com/oauth2/authorize?client_id={client_id}&response_type=code&redirect_uri={redirectUri}&scope=openid> As informações entre chaves são encontradas na minha aplicação chamada "kik", de acordo com a documentação. A mesma quando chamo por CURL (PHP) me retorna vazio e quando uso um software de terceiros para requisição (Postman) ela me retorna um site do BTG sem nenhum tipo de informação concreta no mesmo, somente um HTML com chamadas a arquivos .js. Existe algum erro nessa minha chamada? Como faço para conseguir o authorization_code necessário para se conseguir o \_acess token_. Estou seguindo todo esse processo do Authorization Code pois quero gerar QR Codes PIX usando essa API
ANSWERED

Extrato bancario.

Olá, bom dia Meu nome é Alan Calderari e sou representante da Obra Prima, uma empresa SaaS de gestão de construção civil. Atualmente, possuímos um módulo financeiro que permite a interação manual com arquivos OFX. Contudo, almejamos aprimorar nossa solução e implementar uma integração automática com os bancos para a obtenção de extratos. Estamos cientes das soluções integradas disponíveis no mercado, como a oferecida pela empresa Conta Azul. Com isso em mente, vemos uma grande oportunidade de estabelecer uma parceria semelhante com o Banco BTG Pactual, visando beneficiar os nossos 1400 clientes que já expressaram interesse neste tipo de serviço. Gostaríamos de compreender melhor o processo para iniciar a integração com a API de extratos bancários do BTG Pactual. Além disso, quais são os canais de comunicação recomendados para obtermos detalhes específicos e avançarmos com essa iniciativa? Agradecemos desde já pela atenção e estamos ansiosos por uma resposta para darmos sequência a este projeto valioso para nossos clientes. Atenciosamente, Alan Calderari Analista de sistema Obra Prima