unee-t / frontend

Meteor front end
https://case.dev.unee-t.com/
GNU Affero General Public License v3.0
9 stars 17 forks source link

Register as a Premium User #511

Open franck-boullier opened 6 years ago

franck-boullier commented 6 years ago

The problem:

How can we make it easy for free user to register as a Premium user?

kaihendry commented 6 years ago

In light of https://twitter.com/jagthedrummer/status/1037812206602252291

I was thinking shouldn't we think about who would be paying for subscription? I.e. a superset of users, such as a company or even family?

We could do individual billing (users not accounts), but that wouldn't scale very well to a company with 50 employees both in terms of the the company who wants to use Unee-T and from a billing perspective. I.e. grouping a subscription is more cost efficient that individual subscriptions.

Another thing to consider is going from user to accounts is said to be very painful. So if we design for an account with just 1 user, and not even expose the account notion we might be more future proof.

franck-boullier commented 6 years ago

Key concepts we need to agree on:

"user" is way too vague a word that has very different meaning depending on the context. The first priority is to make sure that we are all speaking the same language

There are several concept here. We should first agree to use standard terms going forward so that there are no possible confusion between each of these concepts.

I suggest we use the following terms for the following concepts:

We need to make sure that these 4 concepts are always separated ---> this will be the most future proof architecture IMO.

franck-boullier commented 6 years ago

design for an account with just 1 user (...) we might be more future proof.

Not too sure about that: how would you handle the scenario where an organization creates several corporate accounts for different groups of User accounts AND one or more of the persons in that organization has more than one User account?

kaihendry commented 6 years ago

I think we need to map this as close as possible to an existing solution. E.g. Github's billing flow. What's especially important to consider is what happens when the user drops down from Premium.

As for billing mechanisms, I am keen to implement the new Web payments style https://stripe.com/docs/stripe-js/elements/payment-request-button

franck-boullier commented 6 years ago

@kaihendry all of this sounds good! @kiatlim is not available this week unfortunately (NS) but we should have the first elements of the UX/UI sometimes next week ---> a few things exist already in in the RTB if memory serves...

nbiton commented 6 years ago

Web payments look very sleek

yvonnechia commented 6 years ago
screen shot 2018-10-08 at 3 16 05 pm
yvonnechia commented 6 years ago

@franck-boullier @kaihendry This is a design draft incorporating the payment elements from Stripe. Could you please take a look and let me know if there are any requirements that are missing or innaccurately represented here?

When the user has successfully completed the payment, their new plan status will be reflected under their Account page, with the auto-renewal notice and links to upgrade their plan, update their payment information or cancel the plan subscription.

screen shot 2018-10-11 at 6 01 11 pm

kaihendry commented 6 years ago

I came up with a demonstration of how we will use Stripe in this video here: https://media.dev.unee-t.com/2018-10-12/ubilling.mp4 It's not prescriptive of the UX. It's more to demonstrate how subscribers (aka "premium users" in Unee-T) hang off a Stripe Customer (aka billing entity) & how our integration works. Nonetheless I think it is useful to break it down into:

Do please have a look at https://pay.dev.unee-t.com/ and also https://media.dev.unee-t.com/2018-10-12/billingdept.mp4 which follows https://media.dev.unee-t.com/2018-10-12/ubilling.mp4

yvonnechia commented 6 years ago

Here's an update of the Upgrade and Payment flow for the Account page scenario post-yesterday's discussion:

upgrade and payment flow

yvonnechia commented 6 years ago

Updating the payment success/errors flow:

payment success and errors flow

kaihendry commented 5 years ago

Just discovered a new Stripe https://stripe.com/docs/payments/checkout experience that makes an initial integration very easy. https://media.dev.unee-t.com/2019-01-09/stripe-checkout.mp4

kaihendry commented 5 years ago

Just walked @nbiton through https://github.com/unee-t/checkout-poc which offers an easier integration to start accepting subscriptions. From there we could do tighter integrations.