Guidelines
To implement webhooks in your application, follow these essential steps:Configure Your Endpoint
Create a publicly accessible HTTP endpoint in your application that can receive POST requests. This endpoint must be available over HTTPS and return a 2xx status code to acknowledge receipt of webhook events.
Configure Webhooks
Configure your webhook endpoint URL directly through the Partners Dashboard or contact your Gnosis Pay partner manager for assistance. Provide the complete HTTPS URL where you want to receive webhook notifications.
Partners Dashboard: For partners registered through the dashboard, webhook configuration is available instantly in your dashboard settings.
Manual Setup: If you need technical support assistance, webhook configuration typically takes 1-2 business days.
Receive and Verify Events
When events happen in the Gnosis Pay system, we’ll send HTTP POST requests to your webhook endpoint with event data and cryptographic signatures.All webhooks include cryptographic signatures using Ed25519 asymmetric cryptography:
X-Webhook-Timestamp: Unix timestamp when the webhook was sentX-Webhook-Signature: Base64-encoded Ed25519 signature
cURL
Parse and Process Event Data
Extract the Handle each event type appropriately in your application. Since we send complete entity data, you typically won’t need additional API calls to get the full context.
eventType and data fields from the webhook payload. The eventType identifies what happened (e.g., user.created, kyc.status.changed), while data contains the complete entity information.Process events idempotently to handle potential duplicates, and implement proper error handling and logging for monitoring.
Retry Policy: If your webhook endpoint returns a non-2xx status code, we’ll retry delivery up to 3 times with exponential backoff (1 minute, 5 minutes, 15 minutes).