Skip to main content
WEBHOOK

Authorizations

X-Paywit-Secret-Key
string
header
required

Server-to-server key, sk_test_... on sandbox and sk_live_... on production. Generate it in the dashboard under your app. Never ship it to a browser or mobile app.

Headers

Paywit-Signature
string
required

t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>" keyed with your whsec_ secret>

Paywit-Event-Id
string<uuid>
required

Unique event id. Same value as id in the body.

Paywit-Event-Type
enum<string>
required
Available options:
payment.paid,
payment.failed,
payment.expired

Body

application/json
id
string<uuid>

Unique event id. Deduplicate on this.

type
enum<string>
Available options:
payment.paid,
payment.failed,
payment.expired
createdAt
string<date-time>
data
object

Response

200

Return any 2xx within 10 seconds to acknowledge. Anything else, or a timeout, is retried up to 6 times over about a day.