Skip to content

docs: pass the payment interface docs to the docs standard - #20

Merged
Upd4ting merged 2 commits into
campaign/integrationfrom
docs/w4-pass
Nov 4, 2026
Merged

Upd4ting merged 2 commits into
campaign/integrationfrom
docs/w4-pass

Conversation

@Upd4ting

@Upd4ting Upd4ting commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Why

Goal: finish the AntelopeJS docs rewrite. Every TypeScript example compiles against its repo's own source, hand-written version prose is gone, and the W1-W5 docs standard ships. This is the W4 pass for interface-payment (outer-loop#35, decision 11 item 5). It brings README.md and docs/ to the Docs standard, in the shape of AntelopeJS/dms packages/dms/docs, and turns standard mode on so CI keeps them there. Precedent: interface-api#71.

Summary

 package.json
   "antelopeJs": { "test": ..., "skills": [...],
+    "docs": { "standard": true }
   }
 README.md, docs/*.md (5 pages)
+  frontmatter title, description, mode (body H1 moved into title)
~  sentence-case headings, no dashes, unslop + technical-writing applied
~  claims checked against src/ and its TSDoc
+  README badges marked illustration

No page was split, merged, renamed or moved, and no section, table row or example was dropped. Each docs page lost only its body H1, which moved into title. Fences stay at 20 (7 fragment, none added), checked examples at 9.

Modes: introduction explanation, payments how-to, customers and methods how-to, webhooks how-to, provider capability matrix explanation.

Claims corrected against the source

  • Non-null assertions removed from two fragments. The 3DS example guards payment.redirectUrl. The webhook handler map is typed Record<PaymentEventType, ...> and guards payment, refund and dispute.
  • WebhookVerificationError means the delivery could not be established as genuine, which covers re-fetch providers, not only a bad signature. PaymentNotFoundError covers payments, refunds and checkout sessions. CustomerNotFoundError also covers an identifier the provider cannot parse (src/errors.ts).
  • The errors section names providerCode, InvalidPaymentStateError.status and UnsupportedOperationError.operation, and what raises InvalidPaymentStateError: capture when not authorized or above the authorized amount, cancel after capture, refund above the remaining amount (src/errors.ts, src/functions.ts, src/types.ts).
  • Hosted checkout documents locale (the closed PAYMENT_LOCALES union, auto, provider default) (src/types.ts).
  • savePaymentMethod cannot combine with offSession. ListPaymentMethods returns newest first or an empty array (src/types.ts, src/functions.ts).
  • The conformance suite is src/tests/payment.test.ts and src/tests/payment-charges.test.ts, published as @antelopejs/interface-payment/tests/* (package.json exports).
  • Stale statements fixed: subscriptions are no longer "filed as a follow-up" (@antelopejs/interface-subscriptions exists). "Only Stripe is implemented in the AntelopeJS ecosystem today" now reads that @antelopejs/stripe is the public module implementing the interface.
  • Version prose: "Use Node.js 24 and pnpm 10.6.5" now points at .nvmrc and packageManager.

Heading slugs

{#id} anchors are not used. 2.payments#authentication-and-3ds became #payer-authentication (Vale's sentence-case rule flags 3DS in a heading; the body still names 3DS and SCA). No link in this repo, the sibling payment repos or the AntelopeJS code search points at it. interface-payment has no entry on the interfaces site yet.

Evidence

  • Before (campaign/integration 12a5296, tooling-configs dab0aea checkDocs in standard mode, Vale 3.26.0): files=6 examples=9 failures=73.
  • After (head 6564ed0): files=6 examples=9 failures=0.
  • docs-measure on 6564ed0 with VALE_BIN set: exit 0.
  • pnpm run checks on 6564ed0 with GITHUB_BASE_REF=campaign/integration: Checks: 8 passed, 0 failed.
  • Rendered anchors: interface-payment has no entry on the interfaces site, so its pages were rendered through the same pipeline under a borrowed slug (antelope-web campaign/integration a8f40a6, nuxt dev in sites/interfaces, INTERFACES_DOCS_LOCAL=email=<clone>). Every page answers 200, pages=5 links=5 anchored=0 broken=0, and no page renders {#.
  • CI run 41557549972: every job passed or was skipped. The docs step AntelopeJS/tooling-configs/actions/docs@dab0aea28840981138795aca32381e7fa8ac8d1b installed Vale (standard mode on) and printed Docs: 6 files, 18 local links, 1 compatibility tables, 9 checked examples, 0 API pages; 0 failures.

Merge danger

Door: two-way. Docs and one package.json key. A revert restores the old pages and turns standard mode off.

Blast radius: docs. From here on, every interface-payment PR that touches README.md or docs/ must pass Vale and the standard checks in CI.

Attention

  • Public docs name Mollie and Checkout.com as provider families (capability matrix rows, the Mollie column, and the re-fetch examples in webhooks). Those facts describe provider APIs, not the internal AntelopeJS mollie and checkout-com modules, and they stay. The sentence "A Mollie implementation fetches the payment inside VerifyWebhook" hints at the internal module.
  • Not confirmed against this repo: the capability matrix cells and the provider API facts (PayPal vault, Adyen shopperReference, the Mangopay delivery body, the Mollie id=tr_xxx body). They come from provider documentation.
  • The matrix row grouping Checkout.com with Adyen under "shopperReference-style recurring rather than first-class customer objects" may be wrong for Checkout.com, which has a /customers resource (the internal checkout-com module uses it). Kept as written, because this pass checks claims against this repo and the row describes a provider API.
  • skills/ is outside a docs PR's files and was not checked.

@Upd4ting
Upd4ting marked this pull request as ready for review November 3, 2026 02:12
@Upd4ting
Upd4ting merged commit e9a473c into campaign/integration Nov 4, 2026
7 checks passed
@Upd4ting
Upd4ting deleted the docs/w4-pass branch November 4, 2026 14:28
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