Skip to content

docs(webhooks): version-0 version guard, timestamp form, source IP allowlist, recovery options - #92

Open
xikimay wants to merge 6 commits into
mainfrom
docs/webhooks-corrections
Open

docs(webhooks): version-0 version guard, timestamp form, source IP allowlist, recovery options#92
xikimay wants to merge 6 commits into
mainfrom
docs/webhooks-corrections

Conversation

@xikimay

@xikimay xikimay commented Jul 31, 2026

Copy link
Copy Markdown

Corrections to the webhooks page from the go-live verification pass, each checked against real production deliveries or shipped code.

payment_state_version starts at 0. A counter initialized to 0 silently drops the first event of every payment. Added a warning in the out-of-order section, a note in the envelope table, and a line in the agent prompt.

Timestamps are one canonical form. WalletConnect/pay-merchant-experience#930 (merged) normalizes every timestamp to RFC 3339 UTC with millisecond precision; the page now states that form while still recommending a full ISO 8601 parser.

Source IP allowlist. New optional section with the EU delivery set, IPv6 range included, verified against the provider's published source IPs on 2026-07-27.

Recovery options. The retries section now lists the three shipped dashboard options: single resend, bulk resend, and replay of never-received events (14-day reach).

Contract alignment (schema re-cuts MX #931/#933, merged): the lifecycle diagram no longer shows processing to cancelled (cancellation is only possible before processing), and reference_id is documented non-null.

Note: #88 touches the same two files but there are no overlapping hunks. Merge before #93, which cross-links the event reference from this page.

🤖 Generated with Claude Code

xikimay and others added 3 commits July 31, 2026 11:04
…ual resend

- Warn that the first event of a payment carries payment_state_version 0,
  in the out-of-order section, the envelope table, and the agent prompt.
  A counter initialized to 0 silently drops the first event of every payment.
- Note that created_at fractional-second precision varies between events;
  recommend a full ISO 8601 parser over a fixed format string.
- Add the optional source IP allowlist section (EU set, IPv6 included).
- Mention manual resend from the dashboard delivery history, shipped since.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…iveries

Single resend from delivery history, bulk resend of failed deliveries,
and replay of never-received events, all shipped in the dashboard.
States the 14-day reach of replay operations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The payload builder now normalizes every timestamp to RFC 3339 UTC with
millisecond precision, so the variable-precision warning is replaced by
the stable statement. Merge after the merchant-api normalization deploys.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jul 31, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
wc-pay-docs 🟢 Ready View Preview Jul 31, 2026, 9:36 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

xikimay and others added 2 commits July 31, 2026 12:21
…gram

Core only allows cancellation from requires_action; the contract is
being re-cut to match (fix/webhook-cancelled-no-processing in MX).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Aligns with the reference_id re-cut (fix/webhook-reference-id-non-null
in MX): the field is required at creation and never null.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fresh-eyes integration pass findings: the succeeded example is now the
golden fixture verbatim (canonical millisecond timestamps), side
effects are driven from the snapshot status rather than the event type
(settled can arrive before succeeded), the reconciliation job also
covers lost settlement via GET /v1/payments, fee nullability is stated
where fee.kind is discussed, and test mode notes that settlement
completes automatically.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant