Viewing and retrying webhooks from your Dashboard
Webhooks notify your integration when important events happen on Paystack, such as successful transactions, transfers, refunds, disputes, subscriptions, invoices, and customer identification updates.
On the new Paystack Dashboard, you can view your webhook delivery history, inspect Paystack’s request and your server’s response, and retry events that were not delivered successfully.
💡 Important to note
This feature is only available on the new Paystack Dashboard. To set up a webhook URL or learn how to verify webhook signatures, see the Paystack webhooks guide.
Viewing webhook events
Log in to the new Paystack Dashboard.
Select the correct environment:
Test mode for test webhook events
Live mode for live webhook events
Go to Developers → Webhooks.
You’ll see a history of the webhook events Paystack has sent to your integration.
⚠️ Test and live webhook events are stored separately. If you cannot find an event, confirm that you’re viewing the correct environment.
Understanding the Webhooks page
The Webhooks page shows information that can help you confirm whether an event was delivered successfully and troubleshoot delivery issues.
Detail | What it means |
|---|---|
Event name | The webhook event type, such as |
Category | The Paystack product associated with the event, such as Transaction, Transfer, or Subscription. |
Status | The current delivery status. |
Category ID | The ID of the related transaction, transfer, or other resource. |
Date and time sent | When Paystack sent the webhook. |
Delivery attempts | How many times Paystack has tried to deliver the event. |
HTTP response code | The response code returned by your server. |
Webhook URL | The endpoint to which Paystack sent the event. |
Event payload | The data Paystack sent to your endpoint. |
Response body | The response returned by your server. |
Webhook statuses and their meanings
Status | Meaning | Recommended action |
|---|---|---|
Delivered | Your server returned a successful | No action is usually required. |
Pending | The event is being processed or is waiting for an automatic retry. | Wait for the retry. If it remains pending, check your server logs. |
Failed | Paystack could not deliver the event successfully. | Fix the issue on your server, then retry the event from your Dashboard. |
A webhook may remain pending or fail if your server returns a non-2xx response, takes too long to respond, or blocks the request.
Filtering webhook events
Use the filters on the Webhooks page to find a specific event. You can filter by:
Category, such as Transactions, Transfers, or Refunds
Event type, such as
charge.successortransfer.failedStatus
Date range
Category ID, such as a transaction ID
Viewing webhook details
Go to Developers → Webhooks on the new Paystack Dashboard.
Find the event you want to review.
Click the event to open its details.
The detail view shows the event payload, webhook URL, delivery status, number of attempts, HTTP response code, and your server’s response body.
If delivery failed, share the response code and response body with your technical team. These details can help them identify and fix the issue.
Retrying a webhook
Fix the issue that caused the delivery to fail before retrying the event.
To retry a webhook:
Go to Developers → Webhooks on the new Paystack Dashboard.
Use the filters to find the event.
Select the event.
Click Retry.
Review the confirmation prompt, then confirm the retry.
Paystack will queue the event for delivery again. Because retries happen in the background, the status may not update immediately. Refresh the page or reopen the event details to see the latest status.
⚠️ Retrying sends the event again. Before you continue, make sure your integration can safely handle repeated events so a customer is not credited, fulfilled, or updated more than once.
A retried event is sent to the webhook URL currently configured for the selected environment. This URL may be different from the one that was configured when Paystack first sent the event.
Retrying multiple webhooks
You can also retry multiple events that match your active filters. Before confirming the retry, review the number of matching events shown on your Dashboard—especially when using a wide date range or selecting several event types.
Troubleshooting webhook deliveries
The webhook returned a non-2xx response
Your server returned an error response. Review the HTTP response code and response body in the event details, fix the issue on your server, and then retry the event.
The webhook remains pending
The event may still be processing or waiting for an automatic retry. If it remains pending longer than expected, check your server logs and confirm that your webhook URL is publicly reachable.
The Retry button is unavailable
This can happen when:
No webhook URL is configured for the selected environment.
The selected event cannot be retried.
Too many events are selected.
The request is temporarily rate-limited.
Review the message shown on your Dashboard and resolve the issue before trying again.
If no webhook URL is configured, add one to the correct environment in your webhook settings, save your changes, and return to Developers → Webhooks. Test and live modes have separate webhook URLs.
The webhook was delivered, but your system did not update
A Delivered status means your server returned a successful response to Paystack. Check your application logs to confirm how your system handled the payload.
You can retry the event, but only if your integration can safely handle repeated events.
Your endpoint received the same event more than once
Webhook endpoints can occasionally receive an event more than once, particularly when retries occur. Use a unique transaction reference or resource ID to check whether your system has already processed the event before giving value.
Best practices
Check a unique transaction reference or resource ID before processing an event.
Return a
200 OKresponse as soon as your server accepts the event.Process long-running tasks in the background after acknowledging the webhook.
Keep your webhook URL publicly reachable.
Verify Paystack’s webhook signature before processing an event.
Monitor failed events and fix endpoint errors before retrying them.
For implementation guidance, see the Paystack webhooks guide.
Supported webhook events
Webhook events are grouped into categories such as:
Category | Examples |
|---|---|
Transaction |
|
Transfer |
|
Subscription |
|
The events available to you may depend on the Paystack products your business uses. See the supported events section of the Paystack webhooks guide for the latest list.
Contacting Paystack Support
Contact Paystack Support if:
You cannot find an expected event after checking the environment and date range.
A retried event still fails after your technical team has fixed the issue.
You believe Paystack did not send an expected event.
The Webhooks page shows an error you cannot resolve.
You need help understanding an event payload or response body.
When contacting Support, include:
Your business name
The affected environment—test or live
The transaction, transfer, or resource reference
The webhook event name, if available
The date and time you expected the event
Any response code or error message shown on your Dashboard
