Webhooks
Webhooks allow your system to receive real-time notifications from Guru Pay when specific events occur (transaction processing completed, new transaction is created, etc.). You can manage your webhook configuration using the following endpoints.
You must include your Bearer token in the request header.
Creates a new webhook configuration for the authenticated user. The same webhook configuration is used for outbound account, transaction, and virtual IBAN status-change events.
Authentication using a Bearer token.
Data required to create a new webhook configuration.
The target URL endpoint for the webhook messages.
https://example.com/my-webhook-listenerA secret token sent with webhook messages for verification (e.g., in an 'Authorization' or custom header). Min 16, Max 100 characters.
whsec_aBcDeFgHiJkLmNoPqRsTuVA user-friendly name for the webhook configuration.
Production Transaction WebhookAn optional description for the webhook configuration.
Notifies the main system about new transactions.Webhook configuration created successfully. Returns the created resource.
Resource representing a configured webhook subscription.
Unique identifier for the webhook configuration.
b2e1d0c9-f8a7-4b6a-9c5d-4e3f2a1b0d9eIndicates whether the webhook subscription is currently active and sending events.
trueThe URL endpoint where webhook messages will be delivered.
https://example.com/webhooks/receiverThe secret token used to verify webhook authenticity. Usually masked or omitted in read operations for security.
whsec_...masked...A user-defined name for the webhook configuration.
My Transaction NotifierAn optional description for the webhook configuration.
Sends notifications for completed SEPA transactions.Unauthorized
Unprocessable.
POST /api/v1/webhooks HTTP/1.1
Host: public-api.gurupay.eu
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 193
{
"url": "https://example.com/my-webhook-listener",
"token": "whsec_aBcDeFgHiJkLmNoPqRsTuV",
"name": "Production Transaction Webhook",
"description": "Notifies the main system about new transactions."
}{
"uuid": "b2e1d0c9-f8a7-4b6a-9c5d-4e3f2a1b0d9e",
"is_active": true,
"url": "https://example.com/webhooks/receiver",
"token": "whsec_...masked...",
"name": "My Transaction Notifier",
"description": "Sends notifications for completed SEPA transactions."
}Shows the webhook configuration associated with the authenticated account/user. This configuration is used for outbound account, transaction, and virtual IBAN status-change events.
Authentication using a Bearer token.
Successfully retrieved the webhook configuration details.
Resource representing a configured webhook subscription.
Unique identifier for the webhook configuration.
b2e1d0c9-f8a7-4b6a-9c5d-4e3f2a1b0d9eIndicates whether the webhook subscription is currently active and sending events.
trueThe URL endpoint where webhook messages will be delivered.
https://example.com/webhooks/receiverThe secret token used to verify webhook authenticity. Usually masked or omitted in read operations for security.
whsec_...masked...A user-defined name for the webhook configuration.
My Transaction NotifierAn optional description for the webhook configuration.
Sends notifications for completed SEPA transactions.Unauthorized.
GET /api/v1/webhooks HTTP/1.1
Host: public-api.gurupay.eu
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"uuid": "b2e1d0c9-f8a7-4b6a-9c5d-4e3f2a1b0d9e",
"is_active": true,
"url": "https://example.com/webhooks/receiver",
"token": "whsec_...masked...",
"name": "My Transaction Notifier",
"description": "Sends notifications for completed SEPA transactions."
}Updates the webhook configuration associated with the authenticated user. The same webhook configuration is used for outbound account, transaction, and virtual IBAN status-change events.
Authentication using a Bearer token.
Data required to update an existing webhook configuration. All fields are typically required for PUT/replace semantics, but PATCH might allow partial updates (adjust schema 'required' if using PATCH).
Whether the webhook subscription should be active.
trueThe target URL endpoint for the webhook messages.
https://example.com/my-updated-webhook-listenerA secret token sent with webhook messages for verification. Min 16, Max 100 characters.
whsec_xYzAbCdEfGhIjKlMnOpQrSA user-friendly name for the webhook configuration.
Updated Production WebhookAn optional description for the webhook configuration.
Updated description for the webhook.Webhook configuration updated successfully. Returns the updated resource.
Resource representing a configured webhook subscription.
Unique identifier for the webhook configuration.
b2e1d0c9-f8a7-4b6a-9c5d-4e3f2a1b0d9eIndicates whether the webhook subscription is currently active and sending events.
trueThe URL endpoint where webhook messages will be delivered.
https://example.com/webhooks/receiverThe secret token used to verify webhook authenticity. Usually masked or omitted in read operations for security.
whsec_...masked...A user-defined name for the webhook configuration.
My Transaction NotifierAn optional description for the webhook configuration.
Sends notifications for completed SEPA transactions.Unauthorized.
Unprocessable.
PUT /api/v1/webhooks HTTP/1.1
Host: public-api.gurupay.eu
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 202
{
"is_active": true,
"url": "https://example.com/my-updated-webhook-listener",
"token": "whsec_xYzAbCdEfGhIjKlMnOpQrS",
"name": "Updated Production Webhook",
"description": "Updated description for the webhook."
}{
"uuid": "b2e1d0c9-f8a7-4b6a-9c5d-4e3f2a1b0d9e",
"is_active": true,
"url": "https://example.com/webhooks/receiver",
"token": "whsec_...masked...",
"name": "My Transaction Notifier",
"description": "Sends notifications for completed SEPA transactions."
}Response requirements for webhook services
When GuruPay sends a webhook message to the configured url, the customer’s webhook service must respond with HTTP status code 202 Accepted.
Otherwise, the delivery attempt may be treated as unsuccessful, and the webhook message will be retried until a successful 202 Accepted response is received.
Last updated
Was this helpful?
