Lerteco Membership Documentation
Note that if you're testing on localhost (or anything that can't receive web requests from the internet), you'll need to use Authorize.net or configure Paypal PDT.
Payment Processor - Currently paypal and authorize.net are available, and there's a plugin infrastructure to easily create new payment processors (just send me an email).
Default Currency - The currency can be specified later, per-product, but this defines default. Note that your payment processor must support this currency.
Allow Only Logged-in Users - Select to prevent non-registered or non-logged-in (ie, anonymous) users from purchasing products. If an anonymous user attempts to follow a link to purchase a product, they’ll be redirected to the login page.
Membership Commerce “matches” users by:
Without this checkbox selected, a existing c5 user may a) make a purchase without being logged in, and b) provide an email address other than the one on their account, and that the add-on will create a second account for this user.
Default Success Page - The default page which the user will be sent to after a successful transaction. This can be overridden by each product and, if not provided, users will be redirected to the home page.
Note that Paypal doesn’t immediately redirect users, but might make them go through several screens.
Note that if you’ve enabled auto-return (or PDT), Paypal terms require you to add a confirmation message to the return page (see site setup).
Default Cancel Page - The default page which the user will be sent to after a cancelled transaction. This can be overriddden by each product and, if not provided, users will be redirected back to the page that they came from.
Send Email With User Info - If a user account is created (see Allow Only Logged-in Users), a random password will be assigned and an email will, by default, be sent to the user with their username and password. Uncheck this box to prevent the email from being sent. This would only typically be used if you don't want people to be able to log in.
Send Email With Receipt - After each successful transaction, an invoice email will automatically be sent to the user. Uncheck this box to prevent this email from being sent. This would typically be useful if your payment processor sends the receipt directly.
Account Email Address - You must enter your Paypal email address.
PDT Token - Membership Commerce supports two ways to receive purchase information from Paypal: Instant Payment Notification (IPN), which is sent from Paypal’s server to your server (“behind-the-scenes”), and is always enabled, and Payment Data Transfer (PDT), which is sent along with the client as part of the redirect. IPN is generally more reliable but is sometimes delayed, whereas PDT will, by definition, arrive at as soon as the client is returned back to your site. When you’re selling access to a page, you probably don’t want to have to show a message that says, “We’re processing your purchase... check again in five minutes”, and PDT provides that instantaneous confirmation. To enable, PDT, follow these steps:
Use Sandbox - Select to use the Paypal sandbox. You must sign up for a (free) sandbox account with Paypal. This is not supported. See “Testing” for more information.
API Login ID & Transaction Key - Will be provided to you when you create your authorize.net account.
Use Sandbox - Select to send transactions to the Authorize.net sandbox servers.
Create and edit products as appropriate by going to the products page clicking the “New Product” button or choosing an existing product, filling out the following fields, and then clicking “Save”.
Name - The name of the product which will be shown to the user on the checkout page and in your transaction reports. This is also the name of the page that will be created for redirect purposes (see Site Setup).
Key - Not currently used outside of product setup, but may be used in the future for reporting and exporting purposes and to otherwise identify a particular product. This can be blank or a duplicate.
Description - Shown on the checkout page (not supported by Paypal) and added as the description metadata to the page object for displaying to users as part of a page list block.
Price - The price (including currency), to be charged for the product. It should be numeric (decimal place as appropriate, no separators). The currency must be supported by the configured payment processor (including any bank account setup that the processor may require).
Groups - One or more groups that the user should be placed into upon a successful transaction.
Duration - The duration of the user’s membership in the group(s) after a successful transaction:
Warning and Expiration Emails - Sends an email to the user a configurable number of days before the product expires and after the expiration. If the number of days is blank or 0 then only the post-expiration email will be sent
Success Page - The page which the user will be sent to after a successful transaction. This overrides the page set in Configuration; see that section for more information.
Cancel Page - The page which the user will be sent to after a canceled transaction. This overrides the page set in Configuration; see that section for more information.
Direct URL - After a product has been created, the direct URL will be availalbe. You can provide this link to users, but it's much better to use concrete5's page link functionality (like from within a content block).
You should first understand that membership “products” are displayed and linked to in a different way than traditional products. There is no product listing page or shopping cart to link to. This provides a lot of flexibility -- you might want to create a “join now” link as part of a paragraph (content block), or as the linked image (image block).
Every product created through the dashboard has an associated page created underneath the “Membership Products” page (/membership-products) within your [sitemap](/index.php/dashboard/sitemap/full/. Just create a link to this page (through the standard concrete5 interface) and when a user follows the link they’ll be redirected to the appropriate checkout page (e.g., Paypal or a checkout page on your site). You can do this with most any block, such as Content, Image, Pagelist, a slider, or the “thank you” page of a form submission.
Note that this allows you to show your, e.g., “Join Now” buttons to only those users that aren’t members -- just put the link into a block, enable Advanced Permissions, and exclude that block from users already in the group.
You should add the “Membership Confirmation Message” block to the top of each “Success” page (or within a Global Area). The block will show a configurable message afer a successful transaction.
For Paypal, If you’ve enabled “auto-return” (or PDT, which requires auto-return), Paypal requires that you show a confirmation message to “help the buyer understand that the payment has been made and that the transaction has been completed”.
After going to a product link, the user will be redirected to the appropriate checkout page depending on your payment processor (e.g., Paypal or an on-site page).
Configuration of off-site checkout pages (e.g., Paypal) can often by done through your dashboard with that particular payment processor.
The on-site page is simply a standard concrete5 single page. It uses HTML which you can easily style and includes two area ("Checkout Intro" and "Checkout Outro") which you can add blocks to after entering edit mode.
You can view all successful transactions by going to Transactions page underneath Membership in your dashboard. Click the column title to sort by any column. The Search input will live-search all columns, and the Date inputs will allow you to specify a date range.
Paypal’s sandbox sucks; it’s difficult to setup and use and sometimes things don’t work that would in a live environment. You can configure Membership Commerce to use the sandbox for testing, but you really shouldn’t, and it’s not supported.
Instead, you should simply change your product prices to a low amount, such as $0.25.
Note that Instant Payment Notification will not work if you’re testing on a server not accessible from the web but Payment Data Transfer, if enabled, should.
Concrete5 doesn’t officially support personal names out of the box, and there is no standard for this. Membership Commerce will support personal names if there are attributes with handles of first_name and last_name. Support includes:
Similary, the add-on supports the user of an address attribute named address. If that attribute exists, it will be set to the address that the user enters during checkout.