> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.lettbestilt.no/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.lettbestilt.no/_mcp/server.

# Payment setup updated

POST 

Sent when the state of the restaurant's online payment setup (SagaPay) changes, for example from `WAITING_FOR_OWNER` to `IN_PROGRESS` when the owner has signed, or to `ACTIVE` when online payment works. `payment` has the same form as `payment` in `GET /api/v1/partner/restaurants/{slug}`. Use `WAITING_FOR_OWNER` to remind the owner: only the owner can finish the registration with BankID. Never sent for sandboxes, and never for internal SagaPay steps that keep the same state.

Reference: https://docs.lettbestilt.no/api-reference/webhooks/payment-setup-updated

## Request

### Headers

- `X-LettBestilt-Webhook-Id` (string, required) — The ID of the webhook subscription this delivery belongs to.
- `X-LettBestilt-Delivery-Id` (string, required) — Stable per event and subscription. Retries of the same event, and deliveries sent again with **Resend** in LettBestilt Partner, carry the same ID, so use it to skip events you have already handled.
- `X-LettBestilt-Webhook-Timestamp` (string, required) — Unix time in seconds when this attempt was signed. Reject old timestamps to stop replays.
- `X-LettBestilt-Webhook-Signature` (string, required) — `sha256=` followed by the hex HMAC-SHA256 of `{timestamp}.{raw body}`, keyed with the webhook's signing secret (`whsec_…`).

### Payload

- `event` (enum, required)
  - Allowed values: `PAYMENT_SETUP_UPDATED`
- `createdAt` (datetime, required) — When the event happened (ISO 8601, UTC).
- `data` (PaymentSetupUpdatedData, required) — The `data` of a `PAYMENT_SETUP_UPDATED` event. No personal data.

## Types

### PaymentSetupUpdatedData

The `data` of a `PAYMENT_SETUP_UPDATED` event. No personal data.

- `restaurantSlug` (string, required)
- `payment` (PaymentSetupUpdatedDataPayment, required)
- `previousState` (enum, required)
  - Allowed values: `NOT_STARTED`, `WAITING_FOR_OWNER`, `IN_PROGRESS`, `ACTIVE`, `FAILED`

### PaymentSetupUpdatedDataPayment

- `state` (enum, required)
  - Allowed values: `NOT_STARTED`, `WAITING_FOR_OWNER`, `IN_PROGRESS`, `ACTIVE`, `FAILED`
- `label` (string, required) — Short Norwegian label, for example «Venter på eieren».
- `description` (string, required) — One Norwegian sentence on what happens and who acts next.