v4: create payments transactionally - #45
Merged
Merged
Conversation
Phloraxx
force-pushed
the
v4/amount-allocator
branch
from
September 1, 2026 03:45
d2b1ee6 to
9c303b0
Compare
Phloraxx
force-pushed
the
v4/payment-create
branch
from
September 1, 2026 03:45
4dee8da to
86813d6
Compare
Phloraxx
force-pushed
the
v4/amount-allocator
branch
from
September 1, 2026 03:57
9c303b0 to
e065e86
Compare
Phloraxx
force-pushed
the
v4/payment-create
branch
from
September 1, 2026 03:57
86813d6 to
74d025d
Compare
Phloraxx
force-pushed
the
v4/amount-allocator
branch
from
September 1, 2026 04:24
e065e86 to
e54d09a
Compare
Phloraxx
force-pushed
the
v4/payment-create
branch
from
September 1, 2026 04:24
74d025d to
8dfd874
Compare
Phloraxx
marked this pull request as ready for review
September 1, 2026 05:26
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.
Scope
Third stacked PayGate v4 implementation slice. Depends on PR #44.
Implements
nameas person/payee identifier and non-unique eventexternal_idTests
Covers active-profile ownership, exact UPI URI, lifecycle timing, idempotent replay/conflict, metadata key-order canonicalization, duplicate names/event IDs, profile switching, profile-scoped same exact amount, overflow only after base-bucket exhaustion, no-active-profile failure, full transaction rollback after a synthetic late failure, webhook event-ID durability, and invalid/trailing metadata. Race tests and vet pass locally.
Safety
Still not registered into the production v3 HTTP/runtime. Existing PocketBase behavior is untouched.