Saltar al contenido principal
Como buena práctica de seguridad, debes validar que la información que llega a tu endpoint viene de efectivamente desde Riqra y sin ninguna alteración. Un método facil es configurar un secretKey.

Validando el payload de Riqra

Cuando se establece su secretKey, Riqra lo usa para crear una firma hash con el payload. Esta firma hash se pasa junto con cada solicitud en los encabezados como X-Riqra-Signature. Suponga que tiene un servidor básico que escucha webhooks que se ve 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 su secretKey y asegurarse de que el hash de Riqra coincida. Riqra usa un sha256 para calcular el hash.
Independientemente de la implementación que utilice, la firma hash comienza con sha256, utilizando la clave de su secretKey y su payload.