This project is read-only.

Paid Registrations (already partially supported)


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:
  1. 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... ...getting WorkContext.CurrentCustomer. But how can he complete a checkout in this case? ...ICustomerService.ValidateCustomer
    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.
  1. 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?
  2. Etc
    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)


jhs wrote Apr 13, 2010 at 2:39 PM

great idea - it would greatly widen the scope of nopcommerce, this would work well with 'allow navigation only for registered users' - do you envisage the possibility of providing the option of making the payment recurring ( eg for an annual membership) and would refunds be allowed ?

development of this feature could include :
option to allow registrants to register for free (perhaps as a short term special offer eg 'register for free until xxx' )
option to allow a new user free access for x period of time before requiring to pay (try before you buy)

option to set existing users as paying / paid members ( but paid until which date if recurring payment ? anniversary of original registration? )
option to set a user as having free membership
( could these two options be controlled with a checkbox on CustomerDetails.aspx ? customer ACL would be useful but would it be easier to maintain on a per customer basis? )

scharada wrote Sep 28, 2010 at 2:58 PM

this is a great feature that i believe will add a lot of value to nopc. many digital goods sites use subscription t access products.

jhs wrote Sep 28, 2010 at 8:23 PM

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)

SAIBR wrote Oct 5, 2010 at 6:05 PM

It should also be able to do proration and automaic monthly billing, not exactly recurring billing because the amount is varibale based on subscribed service or product. Also in My Account have a subscription tab that allows users to add or remove subsriptions.

We should also consider doing a hierarchy. So the user could be a company and that company customer can have users that can change their service individually or the comapny contact could make organization changes.

pandiani wrote Oct 6, 2010 at 7:24 AM

Memberships (Standard, Gold, Platinum) where the admin defines what product (or maybe ALL products) a user can get (this scenario would work well for downloadable products) ....without having to pay for them, since they are part of the membership subscription.

This could be a monthly subscription payment or a once x year cost.

pandiani wrote Oct 6, 2010 at 7:25 AM

Also, this could be something that can be bought (the subscription) whenever a customers wants (not only when they register).

abcd_12345 wrote Oct 7, 2010 at 8:42 PM

it would be great to have payment features like these : 1 time fee, monthly fee, annual fee

SilhouetteBS wrote Nov 26, 2011 at 8:47 PM

The admin should also be able to make forum topics subscription based so only those with specific subscriptions would have access to them.

kbdavis07 wrote Dec 11, 2011 at 12:16 PM

Good Idea any updates on the status of this?

dcdb wrote May 3, 2012 at 3:43 PM

I have been awaiting this feature for some time. Can you update on the status and likely release date?


infinito62 wrote May 11, 2012 at 6:42 PM

The best solution could be to use roles: in this fashion it's possible to assign different level of subscription accordingly. When subscription expires, roles have to be automatically revocated.

Subscription can be in three formulas:
  • on time basis: the user can access resources within a starting and an ending date;
  • on numeric basis: users can access resources n-times, or buy lots of "points", where products worth a variable number of "points";
  • on mixes basis: users can access resources n-times within time limit (or spend the "points" his "points"), and subscription expires as soon as one of the two limits has been reached first
There should be the possibility of setting a trial (free) subscription for promotional purposes. In this case the trial subscription could be set via a promo coupon: in tjhis way there's a strict control over promo and service, rather than an automatic free one-time trial as soon as user registers. Both solutions grant flexibility.

Users in their account area should be able to monitor the subscription - add some tools to prolong it within the page.

Administrator needs tools for monitoring, expecially for renewals, that needs to be promoted time before expiration (otherwise say bye to customer renewals!), including promos, etc.

eshafer wrote Jun 9, 2012 at 12:26 AM

Actually I have to go a different direction on subscriptions. While I think customer registrants should be the target of the recurring billing as well as (when applicable) downloadable products or otherwise restricted information should be made available.

But as to how customers access the subscriptions, they should be tied to products and orders.
Customers should be able to purchase multiple subscriptions from the same store and potentially with different payment terms, i.e. monthly, annually, etc.
Basically products should have an option, subscription or not. If yes, options for payment period, price per period + up front fees.
Subscriptions, a new data entity, will be created when a product is created that uses the subscription model. Subscriptions determine the inherent price, and associated cost which will be the result of a purchase. In addition the product should determine whether it's a one time fee or a subscription payment.
Options to manage subscriptions will be given to the customers.
A SQL Agent should browse through active subscriptions which are tied to customers ordered products, determine which subscriptions are active and need an action, i.e. send an invoice, add/remove a customer role.
This would definitely be high impact as most of the reports will need to be modified as well as injection into the current product and customer registration models.

mclarkeindexeb wrote Feb 19, 2013 at 9:42 PM

It would be great if there was an option for a fixed renewal date across all registrants. This would allow clubs to use it for their annual subscriptions. Tie that in with securing areas of the site to the subscription level and it would be perfect.

greenkrow wrote Aug 24, 2013 at 6:17 PM

I'm new to codeplex. I am currently attempting to implementing an NOP Commerce shopping cart that will not work without this feature.

This feature is currently listed as active, which I believe would mean that it is currently in progress or the intent is to complete this in the relatively near feature. . How do I found out if this is already done or what the estimated completion date is?


greenkrow wrote Aug 24, 2013 at 6:23 PM

A little more information here. The need is in order to register they have to pay a set yearly amount. Just a basic paid registration. The current functionality of access setup on the access control list will work well with this.

zar wrote Sep 12, 2013 at 9:12 AM

It would be great to have this feature and associate the subscription to the membership in a Nop customer role. We could for instance create a group "Free delivery for 1 year" with associated promotions which the customer can join for X $.
Best regards.

SilhouetteBS wrote Nov 20, 2013 at 5:00 PM

It would be great if you could integrate this with vendors. So if they want to register as a vendor they would pay the specified amount and then automatically be added to the vendor list. It would be similar to what Amazon currently does.

breakskater wrote Jan 21, 2014 at 7:16 PM

The customer should be removed from the Subscription Role (e.g. Basic, Bronze, Silver, Gold customer roles) if they cancel or payment isn't made past a grace period.

Additionally, we have the need to have "Progressive Subscriptions" where the customer will start in a basic role and then advance to a higher access role after being in a role for X number of days. If the customer doesn't make a payment past the grace period, then the customer will be automatically removed from the roles and must start back at the original subscription role once they resubscribe.

Omaani wrote Feb 3, 2014 at 8:03 AM

Is this feature available now in version 3.03 ?

codemonkey82 wrote Feb 4, 2014 at 6:28 AM

I read a post ( stating that this was on the roadmap for v3.2. Is it in place yet?

Eamesy wrote Mar 7, 2014 at 12:28 PM

Any news if this is scheduled a yet please? Can't see it in 3.2...

jfo86 wrote May 27, 2015 at 7:18 PM

is this going to be included in v3.60?

C4rp3Di3m wrote Aug 21, 2015 at 6:28 AM

I would like to know if we can have this in 3.70?

TomCom9 wrote Jun 21, 2016 at 6:39 PM

I noticed "Paid Registrations" is listed on the roadmap. Will this be added in 3.8? Thanks!