Histórico de mensagens sobre pixConfigWebhook

EXIBINDO CONVERSAS RECENTES:

Texto: pixConfigWebhook
# cartões
Avatar discord do usuario marcelo_efi

marcelo_efi

Ver Respostas

Hola @alex_684067_87631 ! cómo estás? En primer lugar, configura una ruta pública en tu aplicación para realizar mTLS con nuestro servidor. Después de la configuración, deberás llamar al siguiente endpoint: https://github.com/efipay/sdk-php-apis-efi/blob/main/examples/pix/webhooks/pixConfigWebhook.php.

En este endpoint, ingresa la ruta de tu aplicación, donde realizaremos dos solicitudes según lo mencionado por ti: una primera solicitud sin el certificado, esperando una respuesta negativa de tu servidor, y luego, una segunda solicitud donde enviaremos el certificado para mTLS y esperaremos una respuesta exitosa

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Talvez o pessoal da Efí possa comentar desse exemplo... do SDK de PHP, é o pixConfigWebhook.php

# pix
Avatar discord do usuario .thallestks

.thallestks

Por exemplo, gerencianet.pixConfigWebhook

# pix
Avatar discord do usuario .ilselangnar

.ilselangnar

Ver Respostas

Oi Guilherme:

Estou com um problema com o webhook

Consigo listar os webhooks configurados sem problema.

O problema vem quando quero configurar um novo webhook para receber notificações de pagamento

Aqui esta meu codigo:


const efipay = new EfiPay(options)

async function api_configure_webhook_efipay( req, res, next ) {

let body = {
webhookUrl: 'https://origami.ink/webhook_paymentefipay',
}

let params = {
chave: '8712f01e-e8e6-4eab-a636-ddc8e13fe8b7',
}

try {
let object_result = await efipay.pixConfigWebhook(params, body)
printf( "[configure_webhook] -> object_result -> ", object_result )
res.json( object_result )
} catch( e ) {
// throw e
res.json( e )
}

}

module.exports = api_configure_webhook_efipay


Aqui esta o erro:

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ECONNRESET"
}

# pix
Avatar discord do usuario .ilselangnar

.ilselangnar

Estou com um problema com o webhook

Consigo listar os webhooks configurados sem problema.

O problema vem quando quero configurar um novo webhook para receber notificações de pagamento

Aqui esta meu codigo:


const efipay = new EfiPay(options)

async function api_configure_webhook_efipay( req, res, next ) {

let body = {
webhookUrl: 'https://origami.ink/webhook_paymentefipay',
}

let params = {
chave: '8712f01e-e8e6-4eab-a636-ddc8e13fe8b7',
}

try {
let object_result = await efipay.pixConfigWebhook(params, body)
printf( "[configure_webhook] -> object_result -> ", object_result )
res.json( object_result )
} catch( e ) {
// throw e
res.json( e )
}

}

module.exports = api_configure_webhook_efipay


Aqui esta o erro:

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ECONNRESET"
}

# pix
Avatar discord do usuario kauan_bs

kauan_bs

Boa tarde. Estou tentando configurar o webhook no meu servidor porém estou recebendo 401. Estes são meus códigos :

js

const httpOptions = {
cert: fs.readFileSync("gd_bundle-g2-g1.crt"), // Certificado fullchain do dominio
key: fs.readFileSync("56092e4c5a31e0c5.crt"), // Chave privada do domínio
ca: fs.readFileSync("chain-pix-prod.crt"), // Certificado público da Efí
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Caso precise que os demais endpoints não rejeitem requisições sem mTLS, você pode alterar para false
};

app.post("/webhookEfi", (request, response) => {
if (request.socket.authorized) {
console.log("autorizado")
response.status(200).end();
} else {
console.log("não autorizado")
response.status(401).end();
}
});

app.post("/webhookEfiConfig", async (req, res) => {
try {
let body = {
webhookUrl: "{minhaurl}/webhookEfi",
};

let params = {
chave: "6e364195-3e3d-4ee5-8ca0-14db77d30593",
};

const efipay = new EfiPay(options);

await efipay.pixConfigWebhook(params, body);

// Se tudo correr bem, você pode enviar uma resposta de sucesso
res.status(200).send("Configuração do webhook concluída com sucesso!");
} catch (error) {
// Se ocorrer algum erro, você pode enviar uma resposta de erro e registrar o erro
console.error("Erro ao configurar o webhook:", error);
res.status(500).send("Ocorreu um erro ao configurar o webhook.");
}
});
Alguem sabe qual o motivo ?

# pix
Avatar discord do usuario kauan_bs

kauan_bs

Ver Respostas

Tentei configurar o webhook, porém não recebi a requisição na url designada. É preciso apenas configurar o webhook com o pixConfigWebhook?

# pix
Avatar discord do usuario alexporfirio_84692

alexporfirio_84692

Bom dia como faço para criar um webhook sem o TLS meu servidor é compartilhado: estou usando o exemplo: pixConfigWebhook.php ?

# pix
Avatar discord do usuario _josemax

_josemax

Ver Respostas

400
webhook_invalido
A URL informada respondeu com o código HTTP 400Efi\Exception\EfiException Object ( [message:protected] => A URL informada respondeu com o código HTTP 400 [string:Exception:private] => [code:protected] => 400 [file:protected] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Request.php [line:protected] => 241 [trace:Exception:private] => Array ( [0] => Array ( [file] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Request.php [line] => 166 [function] => handleClientException [class] => Efi\Request [type] => -> ) [1] => Array ( [file] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/ApiRequest.php [line] => 54 [function] => send [class] => Efi\Request [type] => -> ) [2] => Array ( [file] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Endpoints.php [line] => 120 [function] => send [class] => Efi\ApiRequest [type] => -> ) [3] => Array ( [file] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Endpoints.php [line] => 56 [function] => Efi\{closure} [class] => Efi\Endpoints [type] => -> ) [4] => Array ( [file] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/aplication/pix/webhooks/pixConfigWebhook.php [line] => 36 [function] => __call [class] => Efi\Endpoints [type] => -> ) ) [previous:Exception:private] => [error:Efi\Exception\EfiException:private] => webhook_invalido [errorDescription:Efi\Exception\EfiException:private] => A URL informada respondeu com o código HTTP 400 )

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você só precisa chamar o pixConfigWebhook uma vez na vida... então não precisa ser no site. Apesar de que como a API é idempotente (você pode repetir requisições), se você chamar o pixConfigWebhook logo antes do pixCreateImmediateCharge, vai funcionar também.

# dúvidas
Avatar discord do usuario admthunder

admthunder

É ai que ta a minha dúvida, aonde eu chamo esse pixConfigWebhook

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A configuração de webhook é o examples/pix/webhooks/pixConfigWebhook.php

# pix
Avatar discord do usuario jlmendessilva

jlmendessilva

Estou tentando rodar examples do sdk para configurar o wehook esta dando fatal error:
Fatal error: Uncaught TypeError: Argument 2 passed to Efi\BaseModel::__set() must be an instance of Efi\mixed, array given in C:\xampp\htdocs\efi\sdk-php-apis-efi\src\Efi\BaseModel.php:34 Stack trace: #0 C:\xampp\htdocs\efi\sdk-php-apis-efi\src\Efi\Auth.php(61): Efi\BaseModel->__set('requestOptions', Array) #1 C:\xampp\htdocs\efi\sdk-php-apis-efi\src\Efi\Auth.php(48): Efi\Auth->initializeRequestOptions() #2 C:\xampp\htdocs\efi\sdk-php-apis-efi\src\Efi\ApiRequest.php(46): Efi\Auth->authorize() #3 C:\xampp\htdocs\efi\sdk-php-apis-efi\src\Efi\Endpoints.php(120): Efi\ApiRequest->send('put', '/v2/webhook/894...', 'webhook.write', Array) #4 C:\xampp\htdocs\efi\sdk-php-apis-efi\src\Efi\Endpoints.php(58): Efi\Endpoints->Efi\{closure}(Array, Array) #5 C:\xampp\htdocs\efi\sdk-php-apis-efi\examples\pix\webhooks\pixConfigWebhook.php(37): Efi\Endpoints->__call('pixConfigWebhoo...', Array) #6 {main} thrown in C:\xampp\htdocs\efi\sdk-php-apis-efi\src\Efi\BaseModel.php on line 34

# pix
Avatar discord do usuario _josemax

_josemax

400
webhook_invalido Uma URL informada respondeu com o código HTTP 400Efi\Exception\EfiException Object ( [message:protected] => Uma URL informada respondeu com o código HTTP 400 [string:Exception:private] => [code:protected] => 400 [arquivo: protegido] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Request.php [linha: protegido] => 241 [trace:Exception:private] => Array ( [0] => Array ( [arquivo] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Request.php [line] => 166 [função] => handleClientException [classe] => Efi\Request [tipo] => -> ) [1] => Array ( [arquivo] => /home/tract/htdocs/tract.digital/Controller/sdk-php -apis-efi/src/Efi/ApiRequest.php [linha] => 54 [função] => enviar [classe] => Efi\Request [tipo] => -> ) [2] => Array ( [arquivo] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Endpoints.php [linha] => 120 [função] => enviar [classe] => Efi\ApiRequest [type] => -> ) [3] => Array ( [file] => /home/tract/htdocs/tract.digital/Controller/sdk-php-apis-efi/src/Efi/Endpoints.php [linha ] => 56 [função] => Efi\{closure} [classe] => Efi\Endpoints [tipo] => -> ) [4] => Array ( [arquivo] => /home/tract/htdocs/tract .digital/Controller/sdk-php-apis-efi/aplication/pix/webhooks/pixConfigWebhook.php [linha] => 36 [função] => __call [classe] => Efi\Endpoints [tipo] => -> ) ) [anterior:Exception:private] => [error:Efi\Exception\EfiException:private] => webhook_invalido [errorDescription:Efi\Exception\EfiException:private] => A URL informada respondeu com o código HTTP 400 )

# pix
Avatar discord do usuario _josemax

_josemax

Ver Respostas

em pixConfigWebhook.php

# pix
Avatar discord do usuario ranulfosouza

ranulfosouza

Ver Respostas

boa tarde, Allan.
você pode me descrever como vc resolveu esse problema de api key usando o hmac indicado pelo @joaolucas_efi ?

a minha chamada ao métado de configuração webhook ficou assim:

Parse.Cloud.define("config-webhook", async (req) => {


let body = {

"webhookUrl": "https://api2.shopchafe.com/prod/webhook" //prod

}

let params = {
chave: options.chave_pix,

}

try {


const response = await gerencianet.pixConfigWebhook(params, body)

return response;
} catch (e) {
console.error("--> Erro ao configurar pixConfigWebhook", e);
throw e;
}


});


so que minha api exige um header com o nome x-api-key como parâmetro, como devo configurar esse métado para passar esse header obrigatório ?
Desde já agradeço

# pix
Avatar discord do usuario ranulfosouza

ranulfosouza

como assim ?
estou usando o gn-api-sdk-node 3.0.3 e chamando o metádo gerencianet.pixConfigWebhook(params, body)

# dúvidas
Avatar discord do usuario adilalima

adilalima

Opa, tudo ótimo e contigo?
Então, mesmo seguindo esse guia e fazendo (supostamente) igual acabo recebendo o mesmo erro de código 400 e de descrição "A autenticação de TLS mútuo não está configurada na URL informada":

public function config_webhook(array $data): void
{
$webhook = EfiPay::getInstance([
'client_id' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_ID : CONF_EFI_CLIENT_ID,
'client_secret' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_CLIENT_SECRET : CONF_EFI_CLIENT_SECRET,
'certificate' => CONF_EFI_SANDBOX ? CONF_EFI_DEV_PIX_CERTIFICATE : CONF_EFI_PIX_CERTIFICATE,
'x-skip-mtls-checking' => "true",
]);

$webhook = $webhook->pixConfigWebhook(
['chave' => CONF_EFI_PIX_KEY],
['webhookUrl' => CONF_EFI_PIX_WEBHOOK_URL]
);

$this->call(code: 200)->back(['data' => $data, 'headers' => $this->headers, 'webhook' => $webhook]);
}

É um comportamento esperado?

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @adilalima, tudo bem?
Dê uma olhada em nosso exemplo da SDK que mostra como enviar o atributo "x-skip-mtls-checking" na instância da classe EfiPay.

# pix
Avatar discord do usuario bernardo_wtec

bernardo_wtec

Bom dia, pessoal. Estou tentando configurar o webhook Pix em meu servidor (com Nginx) seguindo a documentação e as vídeo-aulas disponíveis, porém ao fazer o teste executando o arquivo pixConfigWebhook.php da SDK, está retornando a mensagem "504 Endpoint request timed out". Já tentei revisar algumas vezes mas ainda não descobri o que posso estar fazendo de errado. Alguém poderia me dar alguma ideia?