sagemathinc / cocalc

CoCalc: Collaborative Calculation in the Cloud
https://CoCalc.com
Other
1.16k stars 211 forks source link

Simplify subscription interface and do not show confusing details to users #7109

Open novoselt opened 9 months ago

novoselt commented 9 months ago

These are details for a subscription that will renew soon: image I think that what it means is:

I claim that it is completely unreasonable to expect a regular user to come up with this train of thoughts...

What should be shown:

As a comparison, this is what Google shows for a subscription renewing in a week: image The amount of the future charge is clear, the date of that charge is clear, and NO scary messages that the subscription is unpaid!

williamstein commented 9 months ago

What if they do not have automatic payments enabled?

-- William Stein

On Wed, Dec 6, 2023 at 8:44 PM Andrey Novoseltsev @.***> wrote:

These are details for a subscription that will renew soon: image.png (view on web) https://github.com/sagemathinc/cocalc/assets/1993227/50c436a8-9240-4163-9ee2-962e68b9a150 I think that what it means is:

  • the subscription will renew in 5 days
  • that coming period is not paid for yet
  • the user can pay now by pressing the button, otherwise it will be paid for automatically, either using the balance, if it is sufficient, or generating a Stripe transaction

I claim that it is completely unreasonable to expect a regular user to come up with this train of thoughts...

What should be shown:

  • the monthly price
  • the next renewal date
  • IF for some reason the renewal transaction does not go through, show something AFTER we have tried to renew it, NOT before!

— Reply to this email directly, view it on GitHub https://github.com/sagemathinc/cocalc/issues/7109, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJXS5XM7PUAQHJNCSHGM23YIFCTFAVCNFSM6AAAAABAKOCT3WVHI2DSMVQWIX3LMV43ASLTON2WKOZSGAZDSOBYG44TAMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

williamstein commented 9 months ago

What if they do not have automatic payments enabled?

Also, I should check to see how many subscriptions without automatic payments exist. We made that possible, but I don't know if anybody actually does it.

novoselt commented 9 months ago

One option is to make what is displayed depend on existence of any automatic payment method on file (including sufficient balance to cover the next charge).

Another is to add more information to the current display to increase clarity. Red "Unpaid" status for a subscription which is paid for right now makes no sense to me at all. It has to be something positive and green until the next payment fails. There can be another column titled "Next charge on" with a date and there can be a button "Pay Now" or a message that it will be automatically charged. Although I think there is no need in the message. The price is shown, the date is shown, it is clear what should happen.

Instead of "Current Period" there can be "Paid Till" or something similar. Then it is also feasible to prepay for several months in advance, if desired. This may be unnecessary complication, but I think it would be more clear than "current period".

novoselt commented 2 months ago

Not some random user, but I got pretty scared seeing this message for a large scale subscription: image

There is a message about update to automatic payments required on the account, but there is plenty of balance to cover this subscription for a few more month. I strongly object to this "Unpaid" status - it IS paid for, 3 days into the future! The renewal is not paid for yet and it can be displayed if it is clearly explained what exactly is unpaid...

williamstein commented 2 months ago

I strongly object to this "Unpaid" status - it IS paid for, 3 days into the future! The renewal is not paid for yet and it can be displayed if it is clearly explained what exactly is unpaid...

If you're going to strongly object, I hope you also have time to write a precise proposal for what to do instead. Thanks.

novoselt commented 2 months ago

My understanding is that the label is determined by https://github.com/sagemathinc/cocalc/blob/master/src/packages/frontend/purchases/subscriptions.tsx#L60 If "unpaid" status is essential for inner workings and subscription renewal, which certainly may be the case, I would at least make the logic of this particular function more complicated - if the subscription is paid through some future date, show it as "active" even if "the actual status" is "unpaid".