Skip to main content

JVZoo IPN support in Plone.

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 your site and clicks an Order link.

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

  3. If payment was successful, JVZoo sends a POST request to a special view on your Plone site (/@@jvzoo).

  4. The @@jvzoo view parses this POST data from JVZoo and verifies it against the Secret Key you’ve set in the Plone control panel.

  5. If all checks out, @@jvzoo calls an appropriate action provided by the niteoweb.ipn.core package (on which this package depends on).

Transaction type to niteoweb.ipn.core action mapping

JVZoo supports different Transaction types, like Sale, Cancellation, Refund, etc. These are mapped to actions provided by niteoweb.ipn.core.

Mapping:
  • SALE -> enable_member

  • BILL -> enable_member

  • RFND -> disable_member

  • CGBK -> disable_member

  • INSF -> disable_member

  • CANCEL-REBILL -> disable_member

  • UNCANCEL-REBILL -> enable_member

Transaction types are explained in the JVZoo IPN documentation available on http://support.jvzoo.com/Knowledgebase/Article/View/17/0/jvzipn.

Installation

To install niteoweb.ipn.jvzoo you simply add niteoweb.ipn.jvzoo to the list of eggs in your buildout, run buildout and restart Plone. Then, install niteoweb.ipn.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 -> Configuration Registry control panel form and configure the Secret Key field by pasting it in the niteoweb ipn jvzoo interfaces IJVZooSettings secretkey field.

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.

Tips & Tricks

JVZoo IPN API documentation

Available at http://support.jvzoo.com/Knowledgebase/Article/View/17/0/jvzipn.

Mocked request

If you want to mock a request from JVZoo in your local development environment, run a command like this:

$ curl -d "ccustname=JohnSmith&ccuststate=&ccustcc=&ccustemail=test@email.com&cproditem=1&cprodtitle=TestProduct&cprodtype=STANDARD&ctransaction=SALE&ctransaffiliate=affiliate@email.com&ctransamount=1000&ctranspaymentmethod=&ctransvendor=&ctransreceipt=1&cupsellreceipt=&caffitid=&cvendthru=&cverify=AACDD10E&ctranstime=1350388651" http://localhost:8080/Plone/@@jvzoo

The command above assumes you have set your Secret Key in Plone to secret and you have created a group with ipn_1 id.

Changelog

1.5 (2013-12-19)

  • Support for billing email address (this is the users PayPal email address). Prior to enable and disable code, this feature searches for username (which is in fact users email address) and billing email address. [matejc]

1.4 (2013-06-11)

  • Previous version was a brown-bag release. [zupo]

1.3 (2013-06-11)

  • Support for utf-8 fullnames. [zupo]

1.2 (2013-01-08)

  • Prefix log entries with current user’s username. [zupo]

1.1 (2013-01-02)

  • Depend on latest release of niteoweb.ipn.core. [zupo]

  • Abort transaction if something fails. [zupo]

  • Use ipn_ as a prefix for product group IDs. [zupo]

1.0 (2012-12-27)

  • Initial release. [zupo]

License (3-clause BSD)

Copyright (c) 2013, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

niteoweb.ipn.jvzoo-1.5.zip (45.5 kB view details)

Uploaded Source

File details

Details for the file niteoweb.ipn.jvzoo-1.5.zip.

File metadata

File hashes

Hashes for niteoweb.ipn.jvzoo-1.5.zip
Algorithm Hash digest
SHA256 8c6b55b02c75459bc6bb7a5293ad90dbd811f4b1ebfa89029264b1ba68e51617
MD5 6104a62098cbb372406fed3a2902419a
BLAKE2b-256 8b71ae8b39d0396a9f86669a7d25a1026b4c83608d87af0593ed17f8cb03b35a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page