POSTs JSON to your URL when transaction status changes.
URL resolution
| Source | Applies to |
|---|---|
webhook_url / callback_url on POST /api/v1/payments | That payment (overrides merchant defaults) |
webhook_url / callback_url on PUT /api/v1/merchants/me | Merchant default (used when omitted on the request) |
| Dashboard webhook settings | Same fields as merchant profile |
webhook_url vs callback_url
| Field | When MeetPay calls |
|---|---|
webhook_url | Every status change |
callback_url | Terminal status only (completed, failed, expired, cancelled) |
webhook_url only.
Payment example
Payload
event_id.
Signature
| Header | Value |
|---|---|
X-MeetPay-Signature | sha256=<hex> |
X-MeetPay-Timestamp | Unix seconds |
X-MeetPay-Delivery-ID | Delivery attempt id |
{timestamp}.{raw_body}. Key from dashboard webhook settings.
2xx. Retries on failure.
Polling fallback
GET /api/v1/payments/{id} if an event was missed.