This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

A Plone add-on that integrates JVZoo digital products retailer system with Plone to enable paid memberships on your site.

How it works

  1. Visitor comes to yoursite.com/order (or similar) and clicks Order link.

  2. Visitor is sent to JVZoo’s order form (on http://jvzoo.com), where he enters his personal information and performs payment.

  3. JVZoo calls-back a special view on your plone site (/@@jvzoo), which reads POST data from JVZoo, verifies it against your Secret Key and creates a new member.

  4. The following information is stored in member data for later use:

    product_id

    JVZoo’s Product ID of the purchased item.

    product_name

    JVZoo’s Product Name of the purchased item.

    affiliate

    Affiliate who referred the buyer.

    last_purchase_id

    JVZoo’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.

  5. Upon creating a new member, Plone sends an email with login password.

  6. An IMemberCreateEvent is emitted upon creating a new member.

  7. The new member can now login and use the site.

  8. 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 @@jvzoo 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.

Installation

To install niteoweb.jvzoo you simply add niteoweb.jvzoo to the list of eggs in your buildout, run buildout and restart Plone. Then, install niteoweb.jvzoo using the Add-ons control panel.

Configuration

JVZoo

Go to JVZoo.com and use Sellers -> Add a Product to add a new Product.

Then check the option External Program Integration. For URL set http://yoursite.com/@@jvzoo. Under the My Account page set the JVZIPN Secret Key.

Plone

Go to Site Setup -> jvzoo 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 Sellers and click Test Purchases. Select a product, click Create Test Purchase Code and finish by clicking the link in Buy / Link column in the table below. In order for the purchase link to work, the product needs to be activated in Sellers Dashboard (select a product and check Allow Sales).

Before you finish the transaction, you of course need to set up your Plone site to receive JVZoo server notifications.

Confirm by logging-in to http://jvzoo.com and checking to see if there were any purchases (on Sellers tab). Also check if your received an email with username and password for accessing your site and try to login with them.

Known issues

  • 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.3 (2012-12-03)

  • When a member is cancelled, send notification email to site administrator. [matejc]
  • If “ctranstime” is empty, set current time. [matejc]
  • Support for handling ‘RFND’ requests from JVZoo. [matejc]

0.2 (2012-11-06)

  • Add functionality for auto cancelation and tests. [matejc]

0.1 (2012-10-16)

  • Initial release. [matejc, 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.

Release History

Release History

0.3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
niteoweb.jvzoo-0.3.zip (49.1 kB) Copy SHA256 Checksum SHA256 Source Dec 3, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting