Enhance nopCommerce to allow site owners to require a new member to pay for their membership at the time of registration. We need to allow store owner to select whether it's a one-time fee or a subscription model (e.g. $10 per month)
Note that we already have the following work item done (in version 3.30): "Grant a customer role after some product purchase". It doesn't support "Registered" customer role, but it allows to get any other customer roles granted. Hence give
some additional access to private resources, etc
Also find some details below:
- General settings
1.1. Enable paid registration
1.2. Enfore paid membership at registration
1.2.1. This option will require all new registering customers to purchase a subscription when registering.
1.2.2. We should register a customer but should allow him to login
1.2.3. Add "MembershipSubscriptionStatus" to "Customer" and use it when...
188.8.131.52. ...getting WorkContext.CurrentCustomer. But how can he complete a checkout in this case?
1.2.4. Remove role for refunds, cancelled or deleted orders? Check this to have roles associated with non-recurring subscriptions be removed if that subscription is refunded.
1.3 Enforce single subscription. Allow customers to have only one subscription at a time.
- Membership plans
2.1. Plan name
2.2. Show on a new customer registration page? also see
2.2.1. Adds this membership plan to the customer registration page, allowing new customers to sign up for the membership plan at registration.
2.3. Show on My Account page. Adds this membership plan to the customer account page, allowing customers to upgrade their membership.
2.4. Role to grant. Role to be assigned if customer purchases this membership plan. Check whether a customer is already in this role
2.5. Allow store owner to select whether it's a one-time fee or a subscription model (e.g. $10 per month)
2.6. trial period?
3.1. Display on the registration page whether it's recurring or not
3.1.1. $19.95 USD ... 1-month (recurring*)
3.1.2. $29.95 USD ... 1-month (non-recurring)
3.2. After clicking "Register (confirm)" we should display "RedirectResult (Added 'Premium Membership' to your cart)"
3.3. think about "external authentication method" integration
3.4. Guest checkout should be enabled if we have "Enfore paid membership at registration" option
3.5. what will happen when a subscription expires - will we have a choice of automatic actions eg 'make user inactive' ? should the store send an email to let someone know their subscription is going to end (would this need to be before the end date so they
had time to renew - date configurable maybe)