Question about specific features/capabilities prior to sale

Permalink Browser Info Environment
I have read your product description/features and wondering, would this addon allow me to track past member dues purchases or a way to set a flag as a new member or returning member. We charge a $100 membership fee for the first year and $65 ($35 for those over 64) for returning members who renew prior to Oct. 31st, the annual expiration date. So, on Nov 1st - if you didn't renew, you have to start over with a $100 membership fee. So, I'd like to have a way to identify whether a person attempting to pay for dues is eligible to pay the $65 (or $35) fee or need to pay the $100 fee.
Does this sound like a scenario that your addon could help with?

Type: Pre-Sale
Status: In Progress
Pixelfixer
View Replies:
mesuva replied on at Permalink Reply
mesuva
Hi there,

I wouldn't say there's anything in this add-on that directly assists with this scenario, but it might be possible with a creative use of user groups and permissions.

With the additional add-on to enable memberships, all that is really doing is allowing users to be created and assigned to member groups when purchased - beyond that it doesn't do any tracking as such.

The idea is that you'd use Concrete's built-in ability to expire users from user groups after a period of time, as well as advanced permissions to show/hide blocks based on a user's groups.

Using that kind of set up, you can do things like lock off a section of a website, and then give a new customer 1 year's access. Then after that year has elapsed and they log in, they can be presented with another product to re-purchase access.

The bit that is missing is just the date related bit, or at least something that would automatically reset it every year.

But I maybe it could be achieved with a set up like:

- to a guest, you offer a $100 membership product. That creates a new user, putting them into membership group.
- you set that membership group to expire on a particular date, I'm thinking 1st Nov
- on a page that requires being logged in, you put 3 product blocks.
- one for $100, and you set that to only show if the user is _not_ in the membership group
- one for the $65 and one for the $35 products, setting those blocks to show from a particular date (say in September), and hide on Nov 1st.

It would just mean that every year, say, in Sept, you'd just need to move the date of user group expiry forward a year, as well as the show/hide dates for the two discounted products.

You would also want to make sure the 'Check Automated Groups' task was running.
You then could use the normal dashboard member page to work out your current list of active members, by filtering by user groups.

I actually think you'd use two membership groups, one for the current year, and you'd set up one for the year ahead. Just something you'd need to logically work out an approach for.

If that sounds like it would work for you, I'd actually recommend my Payments with Stripe add-on instead of this one, as it handles creating new users, but is it a bit easier to set up. And it also doesn't come with a monthly fee, unlike Snipcart.
https://marketplace.concretecms.com/marketplace/addons/payments-with...

What it might come down to is whether you are just after a simple button to start a payment, or, whether you are needing a full _cart_, to then also sell other products in the same transaction.

I should also point out that Community Store also can create new users in the same way, it's just a much bigger system.

Hopefully that helps with some ideas at least.
You're welcome to email me at ryan@mesuva.co.uk

Cheers
-Ryan

concrete5 Environment Information

# Concrete Version
Core Version - 9.2.1
Version Installed - 9.2.1
Database Version - 20230503095900

# Hostname
ecres337.servconfig.com

# Environment
production

# Database Information
Version: 10.5.23-MariaDB-log
SQL Mode: NO_ENGINE_SUBSTITUTION

# Concrete Packages
Community Store (2.6.0), Framework Theme (1.8), Simple Gallery (2.1.0)

# Concrete Overrides
None

# Concrete Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
cgi-fcgi

# PHP Version
7.4.33

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, intl, ionCube Loader, json, ldap, libxml, mbstring, monarxprotect, mysqli, mysqlnd, odbc, openssl, pcntl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, Reflection, session, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, tidy, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 6200
max_multipart_body_parts - -1
memory_limit - 768M
post_max_size - 512M
upload_max_filesize - 512M
ic24.api.max_timeout - 7
ldap.max_links - Unlimited
mbstring.regex_retry_limit - 1000000
mbstring.regex_stack_limit - 100000
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
unserialize_max_depth - 4096

Browser User-Agent String

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You have not specified a license for this support ticket. You must have a valid license assigned to a support ticket to request a refund.