UlasendUlasendDocs

Webhooks

Receive signed events when invoices are created, paid, expired, and more.

Configure endpoints in Dashboard → Developers. Test events go to test endpoints; live to live.

Verify signatures

Payloads are signed with HMAC SHA-256.

paylink-signature: t=<unix_ts>,v1=<hex_hmac>

Signed string: "<ts>.<raw_body>". Reject if |now - ts| > 300 seconds. Always verify against the raw body before JSON-parsing.

Buyer matching

On invoice.paid, read external_reference, customer_email, metadata, and id. If you created the invoice without email/reference, you must have stored invoice.id against your user yourself.

Retries

Failed deliveries are retried. Return 2xx quickly; do heavy work asynchronously.