Skip to content

Document KERNEL wallet payment methods and payment requests - #728

Open
hiroTamada wants to merge 1 commit into
mainfrom
hypeship/kernel-wallet-payment-methods
Open

hiroTamada wants to merge 1 commit into
mainfrom
hypeship/kernel-wallet-payment-methods

Conversation

@hiroTamada

@hiroTamada hiroTamada commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Blocked on the v0.133.0 SDK release. The examples use types and operations (add_payment_method, remove_payment_method, payment_request, VaultPaymentMethod.status, funding_status) that first ship in @onkernel/sdk, kernel (Python), and kernel-go-sdk v0.133.0. As of this PR the latest published release is v0.132.0 and the 0.133.0 release PRs are still open. This repo pins no SDK version, so there's nothing to bump here, but don't merge until v0.133.0 is published. Then re-run the snippet typecheck below against the published packages.

Description

Documents KERNEL wallet payment methods and payment_request items, which just shipped in the API. Both are enabled per organization and are off by default. The API reference is generated from the live spec, so it isn't edited here.

  • New page integrations/wallets/kernel-payment-methods (added to nav after KERNEL Card):

    • empty connected wallets
    • add_payment_method: the single-use card_enrollment link, sharing it privately with the cardholder, capture_token for embedded capture, and the 30-minute expiry
    • the 10-method / 3-open-link limits and their 409
    • expand=payment_methods and method statuses (pending_enrollment, active, removal_pending, recovery_required)
    • choosing a card with payment_method_id, and card vs payment_request items
    • state.payment_method_id and funding_status
    • remove_payment_method with its 409 purchase_unresolved, 409 provider_revocation_pending, and 429 provider_rate_limited
    • the vaults:write requirement, and the wallet and purchase events

    The page states that this needs enablement ("contact support"). It also states that organizations without it keep the single-card wallet, which starts in pending_authorization with default method card.

  • integrations/wallets/kernel: a note pointing to payment methods. The purchase steps now say that omitting payment_method_id selects the default card card, and that state.payment_method_id / funding_status are reported. The single-card flow is unchanged.

  • integrations/wallets/embedded-card-capture: keeps the wallet action.capture_token path and adds the payment-methods path, where the token comes from add_payment_method's payment_method.action.capture_token. Completion and token-lifetime guidance now covers both paths.

  • info/api-key-permissions: add_payment_method / remove_payment_method need vaults:write in addition to vaults:use. Without it a key gets 403 insufficient_scope and the wallet doesn't advertise either operation.

  • browsers/payments, integrations/wallets/overview, vaults/overview: mention payment_request alongside card for Link and KERNEL purchases. AgentCard stays card. Also link the new page.

New examples are TypeScript and Python only. The CLI doesn't support these operations yet (it's on SDK v0.131.0), so there are no CLI tabs. No CLI reference page documents vault commands.

Testing

  • Snippet typecheck against the v0.133.0 release-PR heads:
    • TypeScript: every TS block on the new page and the embedded-capture page, run through tsc --strict --noEmit against the @onkernel/sdk 0.133.0 release branch source. The new code has no errors. The only errors are SDK-internal RequestInit.duplex lib typings and a pre-existing wallet redeclaration between two separate sections of the embedded-capture page.
    • Python: every Python block, run through pyright against kernel 0.133.0 installed from the release branch. Result: 0 errors.
    • The snippets were typechecked, not executed against the live API.
  • mint broken-links: no broken links.
  • mint broken-links --check-anchors: 7 broken anchors, all pre-existing on main and none in the files changed here.
  • mint validate: build passed.
  • git diff --check: clean.
  • mint dev: all seven changed pages return 200 and render the new content. Preview the new page locally at http://localhost:3000/integrations/wallets/kernel-payment-methods (README: mintlify dev). Once deployed it's at https://kernel.sh/docs/integrations/wallets/kernel-payment-methods.

Additional Notes

  • Before merge: confirm v0.133.0 is published (gh release list -R kernel/kernel-node-sdk, and the same for kernel-python-sdk and kernel-go-sdk), then re-run the typecheck against the published packages.
  • A follow-up should add CLI tabs once the CLI supports add_payment_method, remove_payment_method, and payment_request.

Note

Low Risk
Documentation-only changes with no runtime or auth logic modified; main risk is doc drift until SDK v0.133.0 is published and examples match released types.

Overview
Adds a KERNEL Payment Methods guide and wires it through the Payments nav and related wallet docs so integrators can use multi-card wallets, payment_request items, and the right scoped-key permissions.

The new page covers empty connected wallets, add_payment_method / remove_payment_method, expand=payment_methods, choosing a card via payment_method_id, card vs payment_request, limits, error codes, funding_status, events, and the org enablement requirement. Embedded card capture now documents two paths for capture_token (single-card wallet vs per-method enrollment). API key permissions notes that adding or removing cards needs vaults:write. Overview pages (payments, wallets, vaults) mention payment_request for Link/KERNEL and link to the new guide; KERNEL card stays the default single-card flow with pointers outward.

Reviewed by Cursor Bugbot for commit 4c5631a. Bugbot is set up for automated code reviews on this repo. Configure here.

@mintlify

mintlify Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

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

Project Status Preview Updated
Kernel 🟢 Ready View Preview Oct 28, 2026, 2:40 PM

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

This branch was successfully deployed

1 active deployment
staging — 4c5631a2 Deployed Oct 28, 2026 by mintlify[bot]
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