As described in https://gitlab.com/ossguy/jmp-register/issues/18 we are aiming for a new series of signup steps that will let users upgrade to a paid account prior to signup, and offer other options for those who don't want to pay before signing up. Since paying at signup and paying later involve a lot of similar steps, this document will describe both of them, noting where the two flows join/separate.
registere
At the registere step of the JMP signup process (in jmp-register) we have the JID verification code and JID. So we know at this point whether the JID is verified and we can proceed accordingly. There are several possibilities here:
- the JID has never signed up before, nor has a payment/referral been made for this JID
- the JID had trouble registering (e.g. since the requested JMP number disappeared mid-signup) but a payment/referral was made already
- the JID is fully registered already (has a JMP number) and the payment/referral is active (unlikely to get here as dupes checked earlier)
- the JID is fully registered already (had a JMP number) and the payment/referral has expired (either they stopped paying or trial is over)
The above cases can be handled in a fairly straight-forward way:
- present the user with a list of payment/referral options - after they've entered (on the next screen) the following screen signs them up
- proceed directly to signing them up, using the requested JMP number (it may fail again, and then can go back and pick a new number, etc.)
- note that the JID is registered and show them their JMP number (we know it's them since they verified their JID) plus some extra info
- note when the account expired and offer the payment/referral options (similar to the first option, but with different top text)