* Discounts offered through use of discount codes which can be given to users. Discounts are either absolute or percentage-based and can be single- or multi-use.
* Products can be free (either before or after a discount) and will not be redirected to (or shown) the payment information. A transaction will be created as normal. Will not work with anonymous users and Paypal (see known issues).
* Membership effective date will now start no earlier than day of transaction
* Free products will not work with the paypal payment method when you don't require users to be logged in. This is the case whether or not the free price is due to a discount.
* Added "expire groups at same time as transaction" (or "simple" mode), which makes way for renewals. See installation documentation for more info. This is the same behavior as in the past, and is also the default.
* More detailed docs, including for importing memberships with User Importer Pro
* Fixed error in checking of membership maintainer job on older versions of concrete5
* Fixed bug where welcome email always included login email address, even if site uses usernames
* Fixed bug with back-dated membership settings (only relevant if importing memberships via the user importer)
- Membership maintainer handles deleted users better
- Onsite documentation
- Added option to not send warning emails
- The email-sending options now stay unchecked
- Added global config settings for sending email on transaction and/or user creation
- Warning on product page when membership maintainer job has not been run recently
- Error on product page when addon hasn't yet been configured
- Membership maintainer job no longer outputs debug code
- Fixed saving default empty text to mysql with strict setting
- Added sandbox config setting for authorize.net
- Warning and expiration email alerts - expiration sent out after membership expires, warning is configurable number of days before expiration
- Handled situation where "address" attribute is of "text" type (rather than "address")
- Removed more PHP short codes
- IPN tool returns more detailed info to paypal, new debug mode to log IPN steps to a text file
- Fixed problems with IPN flow which were introduced in v2.0
* Fixed lcfirst() bug on PHP < 5.3
- Added areas to the checkout single page
- Revert to username if first_name + last_name is empty in the transactions list
- Fixed validation for manual transactions
- Fixed date filtering on transactions list
- Updated Paypal method to be compatible with post-October-2013 IPN requests
- Fixed bug with Paypal IPN/PDT plus non-USD transactions
- Extensible payment processors - New framework allows for easy development of 3rd-party payment processors. Look for upcoming documentation, look at the authorize.net code, or email me for help integrating a processor of your choice
- Authorize.net AIM - The first supported "on-site" payment processor. Just enter your credentials.
- >> Sends "invoice email" - In addition to the email sent if a new account is created, now sends an "invoice email" with payment details.
- Fixed End Date - Set membership to end on a fixed date, regardless of when purchased (in addition to existing "permanent" and "duration" memberships)
- Configurable currency -- enter valid currency code
- More warnings in transaction records -- If fixed end date is before current, or if current membership is indefinite
- Product URL shown in dashboard product page
- Paypal shipping cost hardcoded to $0 - In some cases, paypal was automatically adding a shipping cost to all purchases
- Block doesn't show "thank you" message if there were errors