Skip to content

Payment webhooks

Paydot posts a signed event to your server when a payment reaches a final status. This lets you release an order without polling.

Webhooks tell you how a payment ended. To start one, see Generate a payment link.

An account owner sets the endpoint under Online Payments in the Paydot portal. Paydot generates a signing secret at the same time, beginning whsec_.

The endpoint must meet these requirements:

  • Use HTTPS on port 443 over TLS 1.2 or 1.3. The URL cannot contain credentials, a query string or a fragment.
  • Resolve to a public address. Private, loopback and reserved ranges are rejected.
  • Be the final URL. Paydot does not follow redirects.

Use Send test event in the portal to exercise your integration before a real payment exists. A test event has the same shape as a real one, but its type is webhook.test and its ids are prefixed evt_test_, so it cannot be mistaken for a payment that actually happened.

PageWhat it covers
The eventPayload, field reference and the status vocabulary
Verifying signaturesHMAC verification, with Node, Python, PHP and Java examples
RespondingResponse deadline, idempotency and ordering
Delivery and retriesWhat happens when your endpoint is down
Rotating the secretRolling a new secret without dropping events
VersioningWhat can change without warning
TroubleshootingMapping a failed delivery to its cause