Search by

vivutio / payment-module

eemjema

Payments for vivutio: what the organization is owed for its bookings and tickets, gathered from every module, and the payments received against it, recorded by hand.

Package info

github.com/utafitilabs/vivutio-payment-module

Type:symfony-bundle

pkg:composer/vivutio/payment-module

Statistics

Installs: 13

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.1 2026-10-11 21:35 UTC

This package is auto-updated.

Last update: 2026-10-11 21:38:55 UTC


README

Payments for vivutio. What the organization is owed for its bookings and tickets, gathered by the core from every module that charges, and the payments received against it, recorded by hand as they came.

Contents

Install

In a vivutio installation:

composer require vivutio/payment-module
php bin/console doctrine:migrations:migrate

Its recipe registers the bundle and mounts its pages with config/routes/payment.yaml, a file the installation owns.

How it works

A module that charges for something (a tour booking, a ticket) says so to the core through ChargeSourceInterface: a reference, who owes it (a partner, or a party paying directly), the amount and currency, when it was raised and when it falls due. This module reads every charge through the core's ChargesInterface and names no module.

Payments shows what is owed, paid and overdue: a row a charge, with what it comes to, what has been paid, what is owed, and where it stands (unpaid, part paid, paid, overdue). A charge's page lists its payments and records one as it came: the amount (never more than is owed), the day received, how (bank transfer, mobile money, cash, card, cheque) and the payer's reference. A payment recorded wrongly is struck out with why, never deleted.

The payments are said back to the core through PaymentSourceInterface, for whoever keeps the books. Taking payments through a provider (DPO Pay, Pesapal, Selcom, Stripe) comes later.

Who may do what

Pair Who
payments.read The register and a charge's page
payments.record Recording a payment
payments.manage Striking a payment out

Each is a module pair, held where the person's department allows it too. The suite extends the core's authority test base; tests/authority-table.md is the reviewed table.

Development

composer update
composer check

Licence

AGPL-3.0-or-later. See LICENSE.