Bom dia! Tudo bem?
Você pode baixar o conversor no nosso GitHub: https://github.com/efipay/conversor-p12-efi, ou acessar a página https://efipay.github.io/encode-credentials/certificado.html para converter online.
Termos mais procurados:
Termos mais procurados:
Bom dia! Tudo bem?
Você pode baixar o conversor no nosso GitHub: https://github.com/efipay/conversor-p12-efi, ou acessar a página https://efipay.github.io/encode-credentials/certificado.html para converter online.
# encoding: utf-8
from efipay import EfiPay
from ...credentials import credentials
efi = EfiPay(credentials.CREDENTIALS)
body = {
'calendario': {
'expiracao': 3600
},
'devedor': {
'cpf': '',
'nome': ''
},
'valor': {
'original': ''
},
'chave': '',
'solicitacaoPagador': 'Cobrança dos serviços prestados.'
}
response = efi.pix_create_immediate_charge(body=body)
print(response)
para criar um qrcode de pagamento é realmente passar os dados do devedor?
Bom dia, @vinicio254! Tudo bem?
Você pode usar o exemplo abaixo para registrar o webhook. Sobre a configuração do mTLS, você pode conferir este vídeo que ensina a configuração em servidor Apache.
' . json_encode($responsePix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
Bom dia, @roxzin! Como vai?
Aqui está um código que funciona:
' . json_encode($responsePix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
' . json_encode($PixCopiaCola, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
Bom dia, estou iniciando minha primeira integração com a efí pois em meu projeto estou na fase final onde vou agregar transações financeiras, meu certificado homologação esta correto, meu client_id e secrert esta correto, tudo correto no postman, mas esse é o retorno.
POST https://pix-h.api.efipay.com.br/oauth/token
Error: socket hang up
Request Headers
Authorization: Basic dW5kZWZpbmVkIHVuZGVmaW5lZDpDbGllbnRfU2VjcmV0XzAwNTMwMjg3N2M0N2JmZGVkMmVjYjg2OTUwZDU5MWQ4MWNiMTIwODA=
Content-Type: application/json
User-Agent: PostmanRuntime/7.30.0
Accept: /
Cache-Control: no-cache
Postman-Token: 7e23b1dc-3340-4eaf-8ba5-6e7111485a21
Host: pix-h.api.efipay.com.br
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Request Body
{
"grant_type": "client_credentials"
}
ae consegui passar mas agora gerou isso
Bom dia, ao tentar fazer autenticação no postman me retorna o seguinte erro:
{
"error": "invalid_client",
"error_description": "Invalid or inactive credentials"
}
$config = [
"certificado" => "./certificados/homologacao-certificado_cert.pem",
"client_id" => "???",
"client_secret" => "???"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://pix-h.api.efipay.com.br/oauth/token',
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"],
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
curl_close($curl);
if(curl_errno($curl)) {
echo 'Erro no cURL: ' . curl_error($curl);
} else {
echo $response;
}
eu enviaria as credenciais novamente?
CURLOPT_POSTFIELDS =>'{
"grant_type": "client_credentials",
"client_id": "' . CLIENT_ID . '",
"client_secret": "' . CLIENT_SECRET . '"
}',
{
"grant_type": "client_credentials"
}
Guilherme, o que é client_credentials?
Tudo bem Guilherme.
Eu gostaria de utilizar o CURL mesmo, não quero utilizar o SDK em minha aplicação, tem como me ajudar?
$config = [
"certificado" => "certificado.pem",
"client_id" => "Client_Id???",
"client_secret" => "Client_Secret_???"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curl = curl_init();
curl_setopt_array($curl, array(
//CURLOPT_URL => "https://pix-h.api.efipay.com.br/oauth/token",
CURLOPT_URL => "https://pagarcontas.api.efipay.com.br/v1/oauth/token",
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 $autorizacao",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo "
";";
echo $response;
echo "
But I believe you don't need to change this class. The code I sent above solved it for me. My implementation: