Webhooks
Webhooks API
Use webhooks to receive payment, refund, payout and terminal events in your own system.
EventsDeliveriesReconciliation
Webhook endpoints
| Method | Endpoint | Purpose |
|---|---|---|
| GET | /webhooks | List configured webhook endpoints. |
| GET | /webhook-deliveries | List delivery attempts. |
Webhook creation is managed from the merchant dashboard. The public API can list configured endpoints and delivery history for monitoring and support.
Common event types
| Event | When it is sent |
|---|---|
transaction.succeeded | A payment transaction completed successfully. |
transaction.failed | A payment attempt failed. |
transaction.cancelled | A pending transaction was cancelled. |
refund.succeeded | A refund completed. |
payout.created | A payout request was created. |
payout.paid | A payout completed. |
reader.action_cancelled | A terminal reader action was cancelled. |
Example webhook payload
{
"id": "evt_f97d3728b75b0aecb3f9a4c6b152e140f2ca8ad6",
"type": "transaction.succeeded",
"created_at": "2026-04-22T03:40:15+01:00",
"account_id": "NPEE4E742AB2_6165",
"transaction": {
"id": 6636598,
"trx": "NP-ORDER1001",
"status": "succeeded",
"amount": "15.99",
"currency": "GBP"
}
}
Verify and process
Webhook handlers should return a 2xx response quickly, then process the event idempotently using the event id. Retrieve the transaction or payout from the API if your system needs the latest state.