Skip to main content
Configure a webhook on your organization to receive events instead of polling. Each organization has its own webhook URL and signing secret, set from the dashboard.

Delivery format

Events arrive as a JSON POST to your webhook URL:
The token is an HS256-signed JWT whose payload is { event, data, iat, exp }, signed with your organization’s webhook secret. The outer event and data fields are unauthenticated convenience copies — always verify the token before trusting anything.

Verifying deliveries

Every SDK ships the same two helpers: resolvePviumWebhookPayload (recommended — verifies the token and returns the unwrapped event and data) and verifyPviumWebhookToken (low-level, when you already hold the raw token).
Verification checks the signature, the expiry claim, and — when you pass an expected event — that the token’s event matches. Replayed, stale, or tampered deliveries fail.

Events

All payloads carry appId — your organization’s ID.

Payloads

Emitted in two flows — invite acceptance and direct add — so the field set varies slightly between them; code against the union.
Instant batches fire once, on the single payment transaction. Scheduled and pool batches fire on every funding transaction — watch batch.fullyFunded for the transition into fully funded.
Fires the first time a payment transitions from unclaimed to claimed — duplicate claim events are debounced.
Delivers the payee’s resolved identity plus the authorization your organization was granted, including access and refresh tokens.

Retries and idempotency

Pvium retries failed deliveries with exponential backoff, so treat your handler as idempotent. Dedup on the stable key each event carries:
  • batch.funded and batch.payee.claimed — the transactionHash
  • payment.attachedpaymentData.id
  • oauth.invite.accepted and batch.payee.addedinvite.id or authorization.id
Acknowledge quickly with a 2xx and process asynchronously, and reconcile against payout records rather than relying on webhooks alone — records are the source of truth for settled payments.