bacen / pix-api

API Pix: a API do Arranjo de Pagamentos Instantâneos Brasileiro, Pix, criado pelo Banco Central do Brasil.
https://bacen.github.io/pix-api
2.37k stars 268 forks source link

Autenticação com os serviços #314

Open jeancarlosc39 opened 3 years ago

jeancarlosc39 commented 3 years ago

Estou fazendo a autenticação via CURL onde faço a autenticação e me retorna o token tudo certo. Ao conectar no serviço que me gera a cobrança me retorna a seguinte mensagem: "message" : "Chave não encontrada na DICT", Estou passando o token no cabeçalho e mesmo assim me retorna isso.

curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_ENCODING, ''); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($ch, CURLOPT_SSLCERT, "certificado.crt");

    curl_setopt($ch, CURLOPT_SSLCERTPASSWD , "");

    if ($body) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    }
    if ($headers) {

        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }
    curl_setopt($ch, CURLOPT_SSLKEY, "chave.key");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_PORT , 443);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
rubenskuhl commented 3 years ago

A chave da mensagem de erro é a enviada no body, que precisa ser uma chave Pix cadastrada na IF/IP que você está usando. O usual de cobrança é usar chaves aleatórias pois elas não são portáveis.

jeancarlosc39 commented 3 years ago

A chave da mensagem de erro é a enviada no body, que precisa ser uma chave Pix cadastrada na IF/IP que você está usando. O usual de cobrança é usar chaves aleatórias pois elas não são portáveis.

estou achando que nossa chave que foi vinculada ao itau não esta cadastrada. A autenticação funciona, agora quando vou criar no caso o pagamento da como não existe a chave.

jeancarlosc39 commented 3 years ago

A chave da mensagem de erro é a enviada no body, que precisa ser uma chave Pix cadastrada na IF/IP que você está usando. O usual de cobrança é usar chaves aleatórias pois elas não são portáveis.

estou gerando chaves aleatórias a cada 5 minutos atualiza ela e enviando no corpo toda vez

renatofrota commented 3 years ago

Acho que você está confundindo a Chave Pix (que é onde está o erro) com algum outro identificador (token OAuth, txid, ou ...).

Uma "Chave Pix" é aquele elemento baseado em cpf/cnpj, telefone, e-mail ou uma chave aleatória, gerada pelo aplicativo do PSP, logado na conta transacional.

rubenskuhl commented 3 years ago

A chave da mensagem de erro é a enviada no body, que precisa ser uma chave Pix cadastrada na IF/IP que você está usando. O usual de cobrança é usar chaves aleatórias pois elas não são portáveis.

estou gerando chaves aleatórias a cada 5 minutos atualiza ela e enviando no corpo toda vez

Não sei se o Itaú tem API para geração de chaves (a padrão do Banco Central não tem), mas não faz sentido mudar o destino dos pagamentos a cada 5 minutos. Chave Pix é identificador de conta bancária, não fator de autenticação ou de sigilo.

jeancarlosc39 commented 3 years ago

Acho que você está confundindo a Chave Pix (que é onde está o erro) com algum outro identificador (token OAuth, txid, ou ...).

Uma "Chave Pix" é aquele elemento baseado em cpf/cnpj, telefone, e-mail ou uma chave aleatória, gerada pelo aplicativo do PSP, logado na conta transacional.

confundi a escrita lá, seria o TXT ID que gera. A chave esta OK agora