Saltar al contenido principal
Como buena práctica de seguridad, debes validar que la información que llega a tu endpoint proviene efectivamente de la plataforma y no fue alterada en tránsito. Un método simple es configurar un secretKey.

Validación del payload

Cuando defines tu secretKey, la plataforma la usa para crear una firma hash con el payload. Esta firma hash se envía en cada solicitud mediante el header X-Riqra-Signature. Supón que tienes un servidor básico que escucha webhooks así:
import hashlib
import hmac

signatureHeader = 'sha256=****************************'

key = "YOUR_SECRET_KEY"
payload = '{"event":"","data":{} }'
signature = hmac.new(key.encode('utf-8'), payload.encode('utf-8'), hashlib.sha256).hexdigest()

if not f'sha256={signature}' == signatureHeader:
  raise Error
El objetivo es calcular un hash con tu secretKey y asegurarte de que coincida con la firma recibida. La firma usa sha256.
Independientemente de la implementación que utilices, la firma comienza con sha256 y se calcula usando tu secretKey y el payload recibido.