Histórico de mensagens sobre url

EXIBINDO CONVERSAS RECENTES:

Texto: url
# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você pode cadastrar quantas chaves quiser na mesma URL de webhook. No webhook vem a informação de qual chave causou o acionamento.

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

400
webhook_invalido
A autenticação de TLS mútuo não está configurada na URL informada
{
"Server": [
"nginx"
],
"Date": [
"Tue, 06 Aug 2024 20:01:54 GMT"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"111"
],
"Connection": [
"keep-alive"
],
"x-request-id": [
"aeaebb97-0acd-4c9c-a641-1bbfbe59461b"
],
"Vary": [
"Origin"
],
"Access-Control-Allow-Credentials": [
"true"
],
"ETag": [
"W/\"6f-u8LmFRZhTY5OErn2m2iNSr2g7AI\""
]
}


alguém consegue me dar uma base de como fuciona o código de recebimento da url? li a documentação e não estou conseguindo resolver isso

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

No padrão do Banco Central, a API Pix é por cadastramento. A própria Efí pede URL por cobrança para boleto e cartão.

# pix
Avatar discord do usuario jacksonpietro

jacksonpietro

Usando CURL é assim que seta o Header

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

quando eu deixo o header vazio ele me retorna isso :

400
webhook_invalido
A autenticação de TLS mútuo não está configurada na URL informada

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

quando eu deixo o header vazio ele me retorna isso :

400
webhook_invalido
A autenticação de TLS mútuo não está configurada na URL informada

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Você esta deixando estes parametros vazios?


$params = [
"chave" => ""
];

$body = [
"webhookUrl" => ""
];

Você precisa informar os seus dados

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714


/
Detailed endpoint documentation
https://dev.efipay.com.br/docs/api-pix/webhooks#configurar-o-webhook-pix
/

$autoload = realpath(__DIR__ . "../../../../../../../vendor/autoload.php");
if (!file_exists($autoload)) {
die("Autoload file not found or on path $autoload.");
}
require_once $autoload;

use Efi\Exception\EfiException;
use Efi\EfiPay;

$optionsFile = __DIR__ . "/../../credentials/options.php";
if (!file_exists($optionsFile)) {
die("Options file not found or on path $options.");
}
$options = include $optionsFile;

$options["headers"] = [
"x-skip-mtls-checking" => false
];

$params = [
"chave" => ""
];

$body = [
"webhookUrl" => ""
];


try {
$api = new EfiPay($options);
$response = $api->pixConfigWebhook($params, $body);

if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("

" . json_encode($response->body, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
print_r("
" . json_encode($response->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
} else {
print_r("
" . json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (EfiException $e) {
print_r($e->code . "
");
print_r($e->error . "
");
print_r($e->errorDescription) . "
";
if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("
" . json_encode($e->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (Exception $e) {
print_r($e->getMessage());
}

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas


/
Detailed endpoint documentation
https://dev.efipay.com.br/docs/api-pix/webhooks#configurar-o-webhook-pix
/

$autoload = realpath(__DIR__ . "/../../../vendor/autoload.php");
if (!file_exists($autoload)) {
die("Autoload file not found or on path $autoload.");
}
require_once $autoload;

use Efi\Exception\EfiException;
use Efi\EfiPay;

$optionsFile = __DIR__ . "/../../credentials/options.php";
if (!file_exists($optionsFile)) {
die("Options file not found or on path $options.");
}
$options = include $optionsFile;

$options["headers"] = [
"x-skip-mtls-checking" => false
];

$params = [
"chave" => "12345"
];

$body = [
"webhookUrl" => "www.meulink.com"
];

try {
$api = new EfiPay($options);
$response = $api->pixConfigWebhook($params, $body);

if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("

" . json_encode($response->body, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
print_r("
" . json_encode($response->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
} else {
print_r("
" . json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (EfiException $e) {
print_r($e->code . "
");
print_r($e->error . "
");
print_r($e->errorDescription) . "
";
if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("
" . json_encode($e->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (Exception $e) {
print_r($e->getMessage());
}

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Primeiro, você deve cadastrar uma webhookUrl, através do método acima. Essa url deve ser vinculada a sua chave Pix, cadastrada na Efí.
Feito isso, qualquer cobrança que você gerar vinculada a esta chave, que for paga, será notificada na URL que você cadastrou.
Acredito que este tutorial do nosso curso possa te ajudar: https://youtu.be/XB9bcZFTV3M?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

eu ja tentei todos os nomes possiveis como webhookUrl, webhook, callbackUrl, mas sempre dar o mesmo erro

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

se eu tirar o paramentro "webhook", o código gera o pix normalmente, porém desse jeito eu não vou receber as notificações da api pela url

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

boa tarde, alguém poderia me ajudar ? eu já tentei de várias formas e não consigo fazer com que o código que gera o pix envie a notificação para url webhook, toda vez que eu coloco algo além do que já está na variavel $body apresenta o seguinte erro:
EfiException Code: 400 Error: json_invalido Error Description: Parâmetro ".body", não são permitidas propriedades adicionais

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

// alternatively you can use pfx + password as well here
const httpsAgent = new https.Agent({
cert: fs.readFileSync(process.env.PUBLIC_CERTIFICATE_PATH),
key: fs.readFileSync(process.env.PRIVATE_KEY_PATH),
ca: fs.readFileSync(process.env.CA_CHAIN_PATH)
})

axios.get(url, { httpsAgent })

# pix
Avatar discord do usuario navossoc

navossoc

Ver Respostas

era pra funcionar, já tentou dar um var_dump no $response e olhar o curl_error e curl_errno?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A resposta do Curl é True/False, de qualquer forma não iria mostrar o token, por exemplo.

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

eu não tô conseguindo achar a url de produção para exibir o token la na documentação

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A URL é de homologação...

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

$config = [
"certificado" => "./producao.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", // 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 $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response;
echo "
";
?>

eu estou chamando essa chamada simples da documentação, e ela me retorna a pagina em branco ao invés de retornar o token

# dúvidas
Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Podemos continuar no # atendimento <#Alterar URL - 6734>, Manoel 😀