Metadata-Version: 1.0
Name: niteoweb.click2sell
Version: 0.4.3
Summary: Integrates click2sell digital products retailer system with Plone for paid memberships.
Home-page: http://www.niteoweb.com
Author: NiteoWeb Ltd.
Author-email: info@niteoweb.com
License: BSD
Description: ===================================
        Click2Sell.eu integration for Plone
        ===================================
        
        A Plone add-on that integrates `Click2Sell <http://click2sell.eu>`_ digital
        products retailer system with `Plone <http://plone.org>`_ to enable paid
        memberships on your site.
        
        * `Source code @ GitHub <https://github.com/niteoweb/niteoweb.click2sell>`_
        * `Releases @ PyPI <http://pypi.python.org/pypi/niteoweb.click2sell>`_
        * `Documentation @ ReadTheDocs <http://readthedocs.org/docs/niteowebclick2sell>`_
        * `Continuous Integration @ Travis-CI <http://travis-ci.org/niteoweb/niteoweb.click2sell>`_
        
        
        How it works
        ============
        
        #. Visitor comes to ``yoursite.com/order`` (or similar) and clicks `Order` link.
        #. Visitor is sent to Click2Sell's order form (on ``http://click2sell.eu``),
           where he enters his personal information and performs payment.
        #. Click2sell calls-back a special view on your plone site (``/@@click2sell``),
           which reads POST data from Click2Sell, verifies it against your
           ``Secret Key`` and creates a new member.
        #. The following information is stored in member data for later use:
        
            ``product_id``
                Click2Sell's `Product ID` of the purchased item.
        
            ``product_name``
                Click2Sell's `Product Name` of the purchased item.
        
            ``affiliate``
                Affiliate who referred the buyer.
        
            ``last_purchase_id``
                Click2Sell's `Receipt ID` of the last purchase. This field gets updated
                on every recurring payment.
        
            ``last_purchase_timestamp``
                Exact timestamp of the last purchase. This field gets updated on every
                recurring payment.
        
        #. Upon creating a new member, Plone sends an email with login password.
        #. An ``IMemberCreateEvent`` is emitted upon creating a new member.
        #. The new member can now login and use the site.
        #. It is possible to create a ``product_id`` to ``group_name`` mapping in
           Plone Control Panel. This means that if a member purchased a product which
           is listed in this mapping, the member will also be added to a group mapped
           to this product.
        
        .. note::
        
            If a member already exists in Plone, then the ``@@click2sell`` view simply
            updates ``last_purchase_id`` and ``last_purchase_timestamp`` member fields.
            The member will also be added to the new product group, but also kept in
            the old.
        
        
        Demo
        ====
        
        You can see this product in action at
        `BigContentSearch <http://bigcontentsearch.com/>`_.
        
        
        Installation
        ============
        
        To install ``niteoweb.click2sell`` you simply add
        ``niteoweb.click2sell`` to the list of eggs in your buildout, run
        buildout and restart Plone. Then, install `niteoweb.click2sell` using the
        Add-ons control panel.
        
        
        Configuration
        =============
        
        Click2Sell
        ----------
        
        Go to `Click2Sell.eu <http://click2sell.eu>`_ and use ``For Merchant`` ->
        ``Add Product`` to add a new `Product`.
        
        Then click on your new Product and select ``API Settings``. For `URL to notify`
        set ``http://yoursite.com/@@click2sell`` and also choose a `Secret Key`.
        Check ``Enable/Disable remote server's notification`` to enable server
        notifications and consequently member auto-registering.
        
        
        Plone
        -----
        
        Go to ``Site Setup`` -> ``click2sell`` control panel form and configure
        the ``Secret Key`` field by pasting in the `Secret Key` you defined above.
        
        You can also configure the ``product_id`` to ``group_name`` mapping. This comes
        in effect when member purchases a product which is listed in this mapping, the
        member will also be added to a group mapped to this product.
        
        For example, imagine you have the following in your mapping::
        
            1|basic-members
            2|premium-members
        
        Members purchasing the product with id ``1`` will be added to the
        ``basic-members`` group, whose purchasing ``2`` will be added to the
        ``premium-members`` group. For others, nothing will be done.
        
        When switching products, an updated member will be added to new product
        group, but also kept in the old group. No information is removed/deleted.
        
        
        Test it
        =======
        
        You are now ready to do a test buy! Go back to ``My Products`` and click
        ``Test BUY``. Before you finish the transaction, you need to set up your Plone
        site to receive Click2Sell server notifications.
        
        Confirm by logging-in to `Click2Sell <http://click2sell.eu>`_ and checking to
        see if there were any purchases. Also check if your receive an email with
        username and password for accessing your site and try to login with them.
        
        
        Known issues
        ============
        
        The following known issues exist:
        
        * If members stop paying for monthly or yearly subscriptions, you have to
          manually delete them from your Plone site.
        
        * The same as above goes for any chargebacks or refunds. You have to manage
          them manually.
        
        Changelog
        =========
        
        0.4.3 (2012-06-01)
        ------------------
        
        - More verbose POST error handling.
          [zupo]
        
        - Revert making click2sell key non-required so we can edit the mapping without
          always supplying the key.
          [zupo]
        
        
        0.4.2 (2012-04-29)
        ------------------
        
        - Made ``click2sell key`` non-required so we can modify the product_id to
          group_name mapping without always supplying the ``click2sell key``.
          [zupo]
        
        - Even more work on groups edge-cases.
          [zupo]
        
        
        0.4.1 (2012-04-22)
        ------------------
        
        - More tests for groups edge-cases.
          [zupo]
        
        - Updating package with latest best practices.
          [zupo]
        
        
        0.4 (2012-04-21)
        ----------------
        
        - Site admins can now map C2S ``product_id`` to groups. This causes new members
          to be added to the group their ``product_id`` maps to.
          [zupo]
        
        - Store configuration in `plone.app.registry` rather than in a local utility.
          [zupo]
        
        
        0.3 (2012-01-28)
        ----------------
        
        - Updated the package with latest best practices, added support for
          `plone.app.testing`, moved to GitHub.
          [zupo]
        
        
        0.2.2 (2011-08-16)
        ------------------
        
        - Support for Plone 4.1.
          [zupo]
        
        
        0.2.1 (2010-10-06)
        ------------------
        
        - Fixed updating an already existing member.
          [zupo]
        
        - Added Uninstall profile.
          [zupo]
        
        
        0.2 (2010-10-06)
        ----------------
        
        - Polishing, adding tests.
          [zupo]
        
        
        0.1 (2010-09-30)
        ----------------
        
        - Initial release.
          [zupo]
        
        License (3-clause BSD)
        ======================
        
        Copyright (c) 2012, NiteoWeb Ltd.
        All rights reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met:
        
        * Redistributions of source code must retain the above copyright notice,
          this list of conditions and the following disclaimer.
        
        * Redistributions in binary form must reproduce the above copyright
          notice, this list of conditions and the following disclaimer in the
          documentation and/or other materials provided with the distribution.
        
        * Neither the name of NiteoWeb Ltd. nor the names of its contributors may
          be used to endorse or promote products derived from this software
          without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED. IN NO EVENT SHALL NITEOWEB LTD. BE LIABLE FOR ANY DIRECT,
        INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
        BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
        DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
        OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
        NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
        EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        
        
Keywords: Plone Python click2sell
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Programming Language :: Python
