Closed BHM871 closed 1 year ago
Olá, estou desenvolvendo um projeto que disponibiliza presentes de casamento para serem comprados e o dinheiro é mandado para os noivos, é apenas um projeto pessoal para estudo, mas, tenho intenção de utilizar a API para facilitar os pagamentos.
Entretanto, eu sou inexperiente, tenho pouco mais de 1 ano e meio de experiência, portanto, ainda não entendo bem questões de segurança.
Desta forma, como faço para conseguir o acess token com meu _clientid e _clientsecret?
Ainda não implementei os requisitos se segurança exigidos para utilização, mas supondo que eu já tenha feito a implementação do protocolo TLS, o que devo fazer?
Você faz uma requisição POST em /oauth/token, Basic Auth com username sendo o client_id e password o client_secret, com o certificado emitido pelo PSP que você escolheu. Algo parecido com:
curl_setopt_array($curl, array( CURLOPT_URL => "$rota_base"."/oauth/token", // Rota base, homologação ou produção CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}', CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado CURLOPT_SSLCERTPASSWD => "", CURLOPT_HTTPHEADER => array( "Authorization: Basic ".base64_encode($config["client_id"] . ":" . $config["client_secret"]);, "Content-Type: application/json"
A resposta é um JSON assim: { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", "token_type": "Bearer", "expires_in": 3600, "scope": "cob.read cob.write pix.read pix.write" }
Nas próximas requisições você tem que passar o token (como Bearer) e o certificado.
Olá, estou desenvolvendo um projeto que disponibiliza presentes de casamento para serem comprados e o dinheiro é mandado para os noivos, é apenas um projeto pessoal para estudo, mas, tenho intenção de utilizar a API para facilitar os pagamentos.
Entretanto, eu sou inexperiente, tenho pouco mais de 1 ano e meio de experiência, portanto, ainda não entendo bem questões de segurança.
Desta forma, como faço para conseguir o acess token com meu _clientid e _clientsecret?
Ainda não implementei os requisitos se segurança exigidos para utilização, mas supondo que eu já tenha feito a implementação do protocolo TLS, o que devo fazer?
Você faz uma requisição POST em /oauth/token, Basic Auth com username sendo o client_id e password o client_secret, com o certificado emitido pelo PSP que você escolheu. Algo parecido com:
curl_setopt_array($curl, array( CURLOPT_URL => "$rota_base"."/oauth/token", // Rota base, homologação ou produção CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}', CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado CURLOPT_SSLCERTPASSWD => "", CURLOPT_HTTPHEADER => array( "Authorization: Basic ".base64_encode($config["client_id"] . ":" . $config["client_secret"]);, "Content-Type: application/json"
A resposta é um JSON assim: { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", "token_type": "Bearer", "expires_in": 3600, "scope": "cob.read cob.write pix.read pix.write" }
Nas próximas requisições você tem que passar o token (como Bearer) e o certificado.
Como posso conseguir esse certificado?
Como posso conseguir esse certificado?
Com o seu PSP, o mesmo que te fornece client_id e client_secret. Para uso da API Pix você precisa dos 3 elementos.
Entendi, muito obrigado
Olá, estou desenvolvendo um projeto que disponibiliza presentes de casamento para serem comprados e o dinheiro é mandado para os noivos, é apenas um projeto pessoal para estudo, mas, tenho intenção de utilizar a API para facilitar os pagamentos.
Entretanto, eu sou inexperiente, tenho pouco mais de 1 ano e meio de experiência, portanto, ainda não entendo bem questões de segurança.
Desta forma, como faço para conseguir o acess token com meu _clientid e _clientsecret?
Ainda não implementei os requisitos se segurança exigidos para utilização, mas supondo que eu já tenha feito a implementação do protocolo TLS, o que devo fazer?