Metadata-Version: 2.4
Name: govoplan-payments
Version: 0.1.20
Summary: Replay-safe payment obligations and reconciliation evidence for GovOPlaN.
Author: GovOPlaN
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: govoplan-core>=0.1.18

# 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
```
