bpuig/laravel-subby

Postpaid settlement mode

boryn opened this issue · 4 comments

boryn commented

Usually subscriptions are paid upfront, in the "prepaid" mode. But there are companies which sign individual contracts with their customers and they allow them to settle the payment later "postpaid" (at the end of billing period), according to the real usage.

It seems quite an easy implementation - we'd need an extra field payment_mode (or settlement_mode) in the plan_subscriptions. Or just prepaid with value 1 as default.

And such a subscription would be always active, independent of ends_at, unless explicitly canceled.

bpuig commented

Like a mettered subscription?

That thing with ends_at and cancels_at, canceled_at still haunts me, it's something that comes from rinvex package and I can't get my head around why is made that way.

boryn commented

I mean the moment of payment. Because now mettered subscription can already be handled with upfront payments. Someone buys 100 "tokens" at the beginning of the month and at the end of the month we check the usage. If they used 110 tokens they need to pay for extra 10 tokens.

But I mean a situation where the customer pays nothing at the beginning of the month. They are allowed to use the system and at the end of month we check how many "tokens" they used. And only at the end of month we charge them by the real usage (110).

It's like paying upfront for your prepaid phone without any contract with the telephone operator. Or when you have a contract with the operator, you are allowed to pay postpaid, at the end of the month according to your real minutes usage.

boryn commented

I think it's already good to go with the v4 release and we'd come back to this functionality for v4.1

stale commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.