Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mulysa limit service payment #476

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

sbeach92
Copy link
Contributor

This pull reguest adds feature that initialise member service maximum payment date field.
If transaction or custom invoice hits the limit, transaction is not used.
Child services gets paid to max limit but some benefit is lost and that is not tracked.

…ction

Custom invoice payment is carried by modified _service_paid_by_transaction
function. Funcion has add_days input variable.

Fixes issue: TampereHacklab#270

Signed-off-by: Erkki Hietaranta <[email protected]>
Child subscription paid to date is calculated
from days added to Parrent subscription.
Days that single payment adds are substracted from
days to add to Parent subscription. This is "virtualy" payment
date. Single payment days of child subscription is added to
virtual payment date.

Signed-off-by: Erkki Hietaranta <[email protected]>
Some users might found Dynamic pricing of payments missleading
as normal access fee can be paid with dynamic pricing, but
reorrucing custom invoice recalls flat rate.

This commit changes custom invoice logic so that it allows
dynamic pricing. Minimium payment is calculated from service
minimum payment * service payment times.

It can be disabled from settings.py or constance admin panel

Signed-off-by: Erkki Hietaranta <[email protected]>
Child service is paid by calling funcion again. So now if child
service has childs, they get paid.

Updated calcultaion so that multpile custominvoices
wont break basic idea of child payments.
Updated transaction commenting so that steps of transaction
is easy to read

Signed-off-by: Erkki Hietaranta <[email protected]>
Admin can control if custom invoice can be paid multiple times.

Signed-off-by: Erkki Hietaranta <[email protected]>
Signed-off-by: Erkki Hietaranta <[email protected]>
Payment is prevented and transaction will taced unused if
maximum allowed prepayment time is exceeded.

Signed-off-by: Erkki Hietaranta <[email protected]>
Added transactino comments and userlog enteries for maximum services.
Currently if basic transaction or custominvoice limits are reached
nothing happens. If main service gets paid, child service gets paid
to maximum limit.

Signed-off-by: Erkki Hietaranta <[email protected]>
@tswfi
Copy link
Member

tswfi commented Apr 9, 2024

I don't understand why the amount should be variable when paying as the amount is dynamic already when the custom invoice is created?

@sbeach92
Copy link
Contributor Author

I don't understand why the amount should be variable when paying as the amount is dynamic already when the custom invoice is created?

Because it can easily be and admin can change beheviour. As many users didn't understand idea of custom invoice to be onetime use only, so they would assume it works like standard payment. Not sure if still problem as custom invoices ar now in better hide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants