Histórico

EXIBINDO CONVERSAS RECENTES:

Texto: hmac
# devs
Avatar discord do usuario igor_efi

igor_efi

Ver no Discord

O risco seria que qualquer pessoa poderá realizar requisições em sua URL, porem existem maneiras de você tratar isso também.
Recomendo que você de uma olhadinha em nossa documentação: https://dev.efipay.com.br/docs/api-pix/webhooks
Dentro desta pagina falamos mais sobre o Skip-mTLS e também sobre o hmac

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver RespostasVer no Discord

Boa tarde, @hlyras!

Sugerimos as duas formas de validação a seguir, mas recomendamos fortemente que as utilize em conjunto:

Verifique o IP de comunicação: Você pode restringir a comunicação ao domínio do webhhook cadastrado para aceitar apenas mensagens do IP utilizado pela Efí.
IP utilizado atualmente em nossas comunicações: '34.193.116.226'.

Adicione uma hash à URL cadastrada no webhook: Crie um hmac (uma identificação própria) que será acrescentado ao final da URL no momento do cadastro do webhook. Essa hash será utilizada para validar a origem da notificação. Assim, todos os webhooks enviados ao seu servidor terão essa identificação final e sua aplicação deve validar a presença da mesma.

Exemplo:
URL de notificação original: https://seu_dominio.com.br/webhook
Como deverá ser cadastrada com a hash: https://seu_dominio.com.br/webhook?hmac=xyz&ignorar=. O termo ignorar= servirá para tratar a adição do /pix no final da URL.

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver RespostasVer no Discord

@r_a_g_ uma solução é implementar a validação através de um hash HMAC.

imagem enviada na mensagem pelo usuario joaolucas_efi

# pix
Avatar discord do usuario tarcizio5821

tarcizio5821

Ver no Discord

Tem algum tutorial para webhook em servidor compartilhado?
Segui os passos para usar Skip-mTLS sem sucesso.
Só funciona no Postman com sucesso sem usar a hash: https://seu_dominio.com.br/webhook?hmac=xyz&ignorar=sua_chave, na hora de usar com PHP informando a hash, não funciona de jeito nenhum.
Alguém que possa ajudar?
Meu servidor compartilhado é da Hostinger.

# pix
Avatar discord do usuario matheuzin6375

matheuzin6375

Ver RespostasVer no Discord

Boa tarde.

codigo:

def configure_webhook():
url = "https://api-pix.gerencianet.com.br/v2/webhook/chave"
headers = {
"x-skip-mtls-checking": "true",
}

body = {
"webhookUrl": "https://ac7-1bd37c9a12e8.herokuapp.com/show/webhook?hmac={HASH_SECRET_KEY}&ignorar=",
"chave": "6831e783-a812-45c7-a98f-962745a78ad4"
}

response = requests.put(url, headers=headers, data=body)

return response

response = configure_webhook()

erro:

requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'Foi forçado o cancelamento de uma conexão existente pelo host remoto', None, 10054, None))

alguém consegue me explicar?

# pix
Avatar discord do usuario ranulfosouza

ranulfosouza

Ver RespostasVer no Discord

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