Note that there are some explanatory texts on larger screens.

plurals
  1. POOpenCart subscription model (x months)
    primarykey
    data
    text
    <p>I am setting up an e-commerce site using OpenCart and I want to offer subscriptions. Specifically 3/6/12 months subscriptions. I am NOT interested in recurring billing (I am aware that there are modules for PayPal and Authorize.net). I want users to pay once in advance. Does this translate to 3 pseudo-products from a configuration point of view? I guess this is feasible, so far, just with product configuration. 3 products, each with one price. </p> <p>Here comes the tricky part. For every month the users have paid they have access to order a product, only once a month, within their "billing cycle". So, if a user pays for a 3 month subscription on 23/5: </p> <ul> <li>he can get one product in the period 23/5-22/6, </li> <li>one in 23/6-22/7, and</li> <li>one in 23/7-22/8</li> </ul> <p>A user should not be able to order more than one products per month, and he should not also be able to get any products after 22/8, unless he renews his subscription. Moreover, it would be awesome if I could have a cron job, checking if a user has utilized his subscription for the current month, and send a "Hey, get your product for this month" kind of reminder email. </p> <p>This is my first OpenCart project, I have gone through the documentation and Googled a lot, I have played with a local installation, and I am trying to figure out if what I am asking is feasible without modifying the core code, I would like to avoid that. However, if there is no other way, I understand that OpenCart is an MVC(+L(anguage)) framework, but I haven't found any solid documentation on how to customize its functionality, only bit ans pieces for specific requirements. </p> <p>If I may, I would like to write down, what I have in mind, please, advise if this sounds OK: </p> <ul> <li>I would like to add one more entity (object/model) for storing the subscription, the user to which it belongs, start and end date and whether it has been utilized. Basically, a subscription is a normal order and I would like it to be stored like one, I just need to persist a few more fields. As I said, I need to run two checks:</li> <li>Has the user utilized his subscription for the current month? For this I was thinking about having a flag "isUsed" field, which can be reset with a cron job, everytime a user reaches his billing date. (in our example 23/6, 23/7). Alternatively I could add 3 entries, one for each billing cycle and update them accordingly.</li> <li>Has the subscription expired? I could check against the expiry date of the subscription.</li> </ul> <p>I have no idea how to plug this functionality in, during checkout, or how to start implementing this. </p> <p>I have gone through the forum and Googled heavily, but I didn't find an answer yet. I am an experienced Grails/Java EE developer, so I am pretty technical in case this post gets too techie :-) </p> <p>Does the above sound feasible, and am I on the right track? </p> <p>Cheers,<br> Iraklis</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload