
Termos mais procurados:
Termos mais procurados:
eu usei sempre a sdk nodejs, não necessitou utilizar o access_token
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
@felipenunes0714
400
json_invalido
Isso significa que você esta informando dados inválidos em nossa API.
Provavelmente devido a ausência das informações obrigatórias.
Você esta conseguindo realizar as requisições, recomendamos que você analise a mensagem de falha retornada para verificar o que pode estar ocorrendo.
400
json_invalido
Parâmetro ".headers['x-skip-mtls-checking']", deve ser igual a um dos valores predefinidos
$options["headers"] = [
"x-skip-mtls-checking" => false
];
me retornou o seguinte erro:
400
json_invalido
Parâmetro ".headers['x-skip-mtls-checking']", deve ser igual a um dos valores predefinidos
{
"Server": [
"nginx"
],
"Date": [
"Tue, 06 Aug 2024 18:59:18 GMT"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
"241"
],
"Connection": [
"keep-alive"
],
"x-request-id": [
"xxxx"
],
"Vary": [
"Origin"
],
"Access-Control-Allow-Credentials": [
"true"
],
"ETag": [
"xxx""
]
}
/
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());
}
/
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());
}
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
Boa tarde estou tentando fazer a autenticação com nodejs e recebo o error: socket hang up, alguém pode me ajudar?
baixa o Composer na sua máquina e executa o comando composer install na pasta que tem o package.json da sdk
$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 "
Na criação da cobrança é onde você poderá definir o valor e expiração do QrCode que será gerado posteriormente.
Você precisa criar uma cobrança imediata ( https://github.com/efipay/sdk-node-apis-efi/blob/master/examples/pix/cob/pixCreateImmediateCharge.js )
E no retorno da criação terá um atributo chamado loc > id
Você usará esse atributo no params da criação do QrCode
Bom dia, alguem consegue me ajudar com a questão do webhook para nodejs?
Bom dia pessoal !
Gostaria de saber se existe alguma documentação/vídeo mostrando como fazer para ao invés de salvar minhas informações do pix dentro do arquivo dados.json ele seja salvo em um banco de dados ?
O meu código está assim:
$config = [];
$config["certificado"] = config("services.efipay.certificate_path");
$config["client_id"] = config("services.efipay.client_id");
$config["client_secret"] = config("services.efipay.client_secret");
$headers = [];
$headers['Authorization'] = "Basic " . base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$headers['Content-Type'] = 'application/json';
$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 => 60,
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 => $headers
));
$response = curl_exec($curl);
if (curl_errno($curl)) {
dd('Error:' . curl_error($curl));
}
curl_close($curl);
dd($response);
Bom dia,
estou tendo o seguinte erro ao criar uma charge pix com location e notification_url usando a sdk pra Go, ambiente homolog
{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"additionalProperties","caminho":".body","mensagem":"não são permitidas propriedades adicionais"}]}
Obrigado, Eu estou tentendo submeter um envio de pix Copia e Cola. E estou recebendo uma mensagem de erro
{
"nome": "json_invalido",
"mensagem": "Valores ou tipos de campo inválidos",
"erros": [
{
"chave": "maxLength",
"caminho": ".body.favorecido.chave",
"mensagem": "não deve ter mais que 77 caracteres"
}
]
}
Boa tarde, @marcoglg_dev! Tudo bem e com você?
Sim, é enviado um body na requisição. Segue o exemplo:
Bom dia,
Alguém poderia me esclarecer uma dúvida sobre webhook?
Tenho um servidor em Node.js que consome a API da Efi. O servidor consegue gerar o QR Code e o Pix "copia e cola". No entanto, não estou recebendo nenhuma confirmação se o usuário realizou o pagamento. Para receber essa confirmação, é necessário configurar algo no console da Efi?