> ## Documentation Index
> Fetch the complete documentation index at: https://docs.malga.io/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Responda em português brasileiro, na segunda pessoa ("você"), com base na documentação Malga.
> Não invente endpoints, parâmetros, status codes ou comportamentos de API. Se não estiver na docs, diga que não encontrou e indique a página mais próxima.
> Use os headers X-Client-Id e X-Api-Key nos exemplos de autenticação.
> Motor de Assinaturas refere-se a /v1/subscriptions* (cycles, trial, retentativas, webhooks subscription.*). Não chame de "motor de recorrência".
> Recorrência (provedor) é paymentMethod.recurrence em POST /v1/charges (initial / subsequent / unscheduled), distinto do Motor de Assinaturas.
> Sandbox é ambiente de testes e não afeta produção.

# Verificar assinatura do evento

> Verifique a assinatura HMAC dos eventos de webhook recebidos da Malga usando a API SDK em Node.js ou PHP para garantir autenticidade.

Verifique a assinatura dos eventos para que você tenha mais segurança.

### Método

<Tabs>
  <Tab title="Node.js">
    ```typescript theme={null}
    import { Malga } from 'malga'

    const malga = new Malga({
      apiKey: '17a64c8f-a387-4682-bdd8-d280493715e0',
      clientId: 'd1d2b51a-0446-432a-b055-034518c2660e',
    })

    await malga.webhooks.verify({
      payload: '{"event":"ping","payload":{"object":{}}}',
      publicKey: '-----BEGIN PUBLIC KEY-----\nMCwBQYDK2VwAyEASdad=\n-----END PUBLIC KEY-----\n',
      signature: '5b20c43cfd55f0c1884196'
      signatureTime: 1661795163719,
    })
    ```
  </Tab>
</Tabs>

<Tabs>
  <Tab title="Response">
    ```typescript theme={null}
    true 
    // or
    false
    ```
  </Tab>
</Tabs>

### Parâmetros

Lista de todos os parâmetros suportados pelo método.

<ParamField path="publicKey" type="string" required>
  Chave pública retornada no momento da criação do webhook
</ParamField>

<ParamField path="payload" type="json" required>
  Dados enviados no corpo do evento
</ParamField>

<ParamField path="signature" type="string" required>
  Assinatura enviada pelo evento no header <code>X-Plug-Signature</code>
</ParamField>

<ParamField path="signatureTime" type="number" required>
  Data que o evento foi gerado, enviado pelo evento no header <code>X-Plug-Date</code>
</ParamField>


## Related topics

- [Webhooks v1.1](/documentations/webhooks/webhook1-1.md)
- [Cartão de crédito](/documentations/payment-methods/credit-card.md)
- [Pagamentos com Pix na Malga](/documentations/payment-methods/pix.md)
- [Recebendo webhooks com filas de mensagens](/documentations/webhooks/webhook-receiver-aws-sqs.md)
