Create webhook
| Field | Notes |
|---|---|
url | Your HTTPS endpoint. Must be reachable from internet. |
secret | Auto-generated 60-char string if omitted. Used for challenge HMAC. |
enabled | true to activate (after challenge passes) |
authentication_type | none, basic, oauth, or custom |
| Event flags | Boolean per event type. Only subscribed events are delivered. |
secret — save it. You need it for challenge verification.
Challenge handshake 🔐
Immediately after create (or URL change), OpenCard verifies you own the endpoint:200 with header:
active=true. If not → active=false, no events delivered.
Receiving events
Events come asPOST to your URL:
authentication_type | What OpenCard sends |
|---|---|
none | Just X-Event |
basic | Authorization: Basic base64(user:pass) |
custom | Your custom_key: custom_value as HTTP header |
oauth | Bearer token fetched from your oauth_access_token_url |
200 quickly. Process async if needed. OpenCard retries on failure.
Custom headers
Add extra headers OpenCard includes on every delivery:Webhook groups (buyer-party filter)
Filter events by card issuer buyer party:Test an event
Delivery log
Checklist ✅
- HTTPS endpoint deployed
- Challenge handler implemented (GET with
?challenge=) - Event handler implemented (POST with
X-Eventheader) - Respond 200 fast, process async
-
secretstored securely - Subscribed to the right event flags
- Test event sent and received

