Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack and prerequisites
This is a stacked draft PR. Its base is Locks #61 (
feat/lock-payment-draining), which must land first.Upstream contract order:
Development currently uses provisional exact Paykit Server PR #27 commit
44ed37886122a201b2d5f73c9578ecabb48f72bd. Final immutable Paykit Server release tag/pin remains a pre-merge gate. This branch is not release- or deployment-ready while that provisional source ref remains.Frontend contract
Rejected payment requests surface as
status=expiredwithterminal_reason=payment_request_rejected. They issue no entitlement. Retry requires a fresh Bundle ID.SDK consumers must migrate terminal handling from status-only branching to the closed
terminal_reasonvalues. Unknown, missing, malformed, or conflicting terminal tuples fail closed. Connection-state observation remains separate from payment lifecycle polling.Summary
SDK consumer tests and docs
Verification
Exact commit and tree were independently reviewed before publication:
35ad885428157bf88c52105ba9aec93290ec5a4c3832e3a802a5af068317fd3e27658e5ad58c4ce37e65742332ed31183c1e23b5680f3c8b8dde10fdInternal review passed Rust SDK flow tests, JS native/WASM/generated-package tests, example smoke coverage, npm release audit and pack inspection, formatting/diff checks, plus prior workspace, Clippy, rustdoc, browser, and Compose contract checks for the rejection feature. The provisional Paykit Server source build still has the documented upstream-only
Criterion::paykit_payment_paramscompatibility blocker; this is a release/pre-merge dependency, not a regression introduced by these SDK tests/docs and not a claim of runtime readiness.Prerequisites: #61, pubky/paykit-server#3, pubky/paykit-server#27.