Skip to main content
Webhooks are HTTP callbacks that notify your application in real-time when events occur in your Pooler account. Instead of polling the API for updates, webhooks push event data to your server as events happen.

What are Webhooks?

Webhooks are HTTP POST requests sent by Pooler to a URL you specify when specific events occur. They allow your application to react immediately to events like payment completions, virtual account transactions, and errors.

Why Use Webhooks?

Benefits

Real-Time Updates

Receive instant notifications when events occur - no polling required.

Efficient

Reduce API calls and server load by receiving only relevant events.

Reliable

Webhooks include retry mechanisms for failed deliveries.

Event-Driven

Build event-driven architectures that react to changes immediately.

Better UX

Update your application UI in real-time based on payment status.

Automation

Automate workflows based on payment events without manual intervention.

How Webhooks Work

Webhook Flow

1

Event Occurs

An event occurs in your Pooler account (e.g., payment completed, virtual account payment received).
2

Webhook Triggered

Pooler prepares a webhook payload with event data.
3

HTTP POST Request

Pooler sends an HTTP POST request to your webhook URL.
4

Your Server Receives

Your webhook endpoint receives and processes the request.
5

Response Sent

Your server responds with HTTP 200 to acknowledge receipt.
6

Retry if Failed

If your server doesn’t respond or returns an error, Pooler retries the webhook 4 times before back-off.

Webhook Events

Available Events

Pooler sends webhooks for various events:
CategoryEvent NameDescription
Paymentpayment.initiatedPayment quote created
Paymentpayment.completedPayment successfully processed
Paymentpayment.failedPayment processing failed
Paymentpayment.rejectedPayment was rejected
Virtual Accountvirtual_account.payment_receivedPayment received in virtual account
Virtual Accountvirtual_account.createdVirtual account created
Virtual Accountvirtual_account.updatedVirtual account updated
Recipientrecipient.createdRecipient created
Recipientrecipient.verifiedRecipient verification completed
Recipientrecipient.verification_failedRecipient verification failed
Accountaccount.balance_lowAccount balance below threshold
Accountaccount.updatedAccount details updated
See the Webhook Events API for a complete list of available events.

Setting Up Webhooks

Step 1: Create Webhook Endpoint

Create an HTTP endpoint in your application to receive webhooks:
// Express.js example
app.post('/webhooks/pooler', async (req, res) => {
  const webhook = req.body;
  
  // Verify webhook signature
  if (!verifyWebhookSignature(req)) {
    return res.status(401).send('Invalid signature');
  }
  
  // Process webhook
  await processWebhook(webhook);
  
  // Respond quickly
  res.status(200).send('OK');
});

Step 2: Configure Webhook URL

Configure your webhook URL in the Pooler dashboard:
  1. Navigate to SettingsDevelopers
  2. Add your webhook URL
  3. Select events you want to receive
  4. Save configuration

Step 3: Test Webhook

Use the Trigger Events API to test your webhook endpoint:
curl -X POST "https://api.usepooler.com/webhooks/events/trigger/{event_id}" \
  -H "Authorization: Bearer YOUR_API_KEY"