PaymentProvider.resolveWebhookSession(listing: WebhookEvent): Promise<WebhookSessionResult>
Resolve a validated session from a webhook event. Each provider extracts or fetches session data from its own event structure, so the webhook handler stays provider-agnostic.
listing: WebhookEvent
Promise<WebhookSessionResult>
the session. "skip" acknowledges an event without processing it.
"retry" means the boundary refused before any read, the read
failed, or the provider contradicted our facts. Redelivery must
try again. A rejection means the provider reported a paid charge
the boundary cannot read. null means the event is provably not
ours.