35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# GovOPlaN Payments
|
|
|
|
<!-- govoplan-repository-type:start -->
|
|
**Repository type:** module (domain).
|
|
<!-- govoplan-repository-type:end -->
|
|
|
|
`govoplan-payments` owns replay-safe payment obligations, human payment
|
|
references, append-only lifecycle evidence, and settlement reconciliation.
|
|
|
|
The first vertical slice implements full manual/offline payment receipt. A
|
|
Case, Workflow, or other procedure calls the Core `payments.requests`
|
|
capability, retains the returned payment ID, and later supplies the exact
|
|
amount/currency, external transaction reference, and a same-tenant versioned or
|
|
checksum-bound evidence reference. Payments rejects changed replays, partial or
|
|
cross-currency matches, cross-tenant evidence, and a second settlement.
|
|
|
|
Version 0.1.20 adds the permission-aware Payments operator workspace at
|
|
`/payments`. It uses the shared Core page, action, form, dialog, and table
|
|
grammar, keeps Reload and Create in stable collection slots, and guides request
|
|
creation and exact evidence-bound manual reconciliation without exposing raw
|
|
JSON.
|
|
|
|
Online payment providers, applicant checkout, partial payments, refunds,
|
|
reversals, Ledger posting, and XRechnung are intentionally separate next
|
|
slices. See [docs/PAYMENTS_DOMAIN.md](docs/PAYMENTS_DOMAIN.md).
|
|
|
|
Focused verification:
|
|
|
|
```sh
|
|
PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src \
|
|
/mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
|
|
|
|
cd webui && npm run test:interface-pattern
|
|
```
|