{{- /* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial */ -}} {{- /* SPDX-FileCopyrightText: 2025-2026 Christian Galo */ -}} {{/* operator_integration_stripe.html Stripe's provider page (/operator/integrations/stripe), the destination of its name on the Integrations table and the overview's Integrations card (design D24). Distinct from its settings page, which carries configuration only and is reached through the header's action. Built from the page-anatomy parts: the header, the Details list's Status badge, and the Delivery queue section (moved here from the settings page, unchanged in shape) all use the same statusBadge/ sectionHeader parts every operator page uses. */}} {{ template "pageHeader" .Header }} {{ template "sectionHeader" .DetailsHeader }}
Tracks Stripe's queued outbound work only; other integrations dispatch directly and are not reflected here, so an empty or draining queue says nothing about their state.
{{ if .DeliveryQueue.Available }}Dead-lettered work has exhausted its retries and needs an operator.
{{ if .DeliveryQueueEntries }}| Operation | Error | Attempts | Last attempt |
|---|---|---|---|
{{ .OperationType }} |
{{ if .ErrorMessage }}{{ .ErrorMessage }}{{ else }}—{{ end }} | {{ .Attempts }} | {{ .UpdatedAt }} |
Queued integration work is draining normally.
{{ end }} {{ else }}Queue health is unavailable.
{{ end }} {{/* Inbound events: Stripe's webhook events that failed processing through every retry round (stripe-integration-infrastructure "Failed events are retried, then dead-lettered"). The mirror of the delivery queue above, same alarm rule: only dead-lettered events carry it. */}} {{ template "sectionHeader" .InboundEventsHeader }} {{ if .InboundEvents.Available }} {{ if .InboundEvents.NeedsAttention }}{{ .InboundEvents.DeadLetter }} event{{ if ne .InboundEvents.DeadLetter 1 }}s{{ end }} could not be processed after retries and need{{ if eq .InboundEvents.DeadLetter 1 }}s{{ end }} an operator.
{{ end }} {{/* Events from the other Stripe environment: captured and not processed (stripe-environment-stamp D6). Not alarm styling, because no operator can move them; the line renders only when some arrived. */}} {{ with .InboundEvents.RefusedLine }}{{ . }}
{{ end }} {{ if .InboundEventEntries }}| Event | Detail | Attempts | Last attempt |
|---|---|---|---|
{{ .OperationType }} |
{{ if .ErrorMessage }}{{ .ErrorMessage }}{{ else }}—{{ end }} | {{ .Attempts }} | {{ .UpdatedAt }} |
Inbound events are processing normally.
{{ end }} {{ else }}Inbound event health is unavailable.
{{ end }}