Compare to other PostNuke services on DMOZ!

Also visit St.Ego at Ivory-Tower.net
 
login or create an account
labIPNtrigger
[Printer friendly page | Send to a friend]

labIPNtrigger Manual

Initial Release Article posted December 13, 2003 [on pnMods | pnADD-ONS ]

Homepage: here
Module Library: here
Download: here
FAQ: here

I. Introduction

labIPNtrigger handles Instant Payment Notifications (IPN) from ecurrencies like PayPal. Combined with PayPalCart, digital products can be assigned to available products and downloaded by or emailed to customers. labIPNtrigger can, optionally, work with both labDossier and labAccounting to handle contact and transaction information using user accessible online accounts.

labIPNtrigger was created to provide a central IPN handling module that can be used by other eCommerce components. Other modules, like PayPalCart, do not provide IPN handling on their own.

labIPNtrigger requires that PayPalCart be installed for handling the initial product catalog and shopping cart. Use of labDossier is only required if customer contact information needs to be recorded. Use of labAccounting is only required to record financial transaction information and provide online user account access.

II. Installation and Configuration

To install labIPNtrigger, unzip and upload the labDossier module folder to your site modules directory. Then go to the Modules admin page and regenerate the list. If PayPalCart is not yet installed, please do this first. When ready, initialize and activate the labIPNtrigger module entry.

In order to provide secure digital downloads, it is recommended that a directory outside of the site root be used. Create this directory and specify the local path to it in the labIPNtrigger config.

It is recommended that the PayPalCart 'Thank You' page content be modified to provide a link to labIPNtrigger so that customers can access their purchases. Additionally, a user preferences menu option is provided for accessing purchased downloads.

After install, labIPNtrigger automatically uses the IPN server for PayPals developer sandbox. PayPalCart must have the server changed manually in the code by setting 'ppc_debug' equal to 1 at the top of PayPalCart/pnuser.php. In order for PayPalCart to utilize the IPN feature, it must send a 'notify_url' to PayPal. This is done in the function paypalcart_itemdisplay(). Where the 'paypal_form' variable is built, add the following line:

$paypal_form .= '<input type='hidden' name='notify_url' value=''.pnModURL('labIPNtrigger','IPN').''>'; 

If labDossier is used to record customer contact information, it must be enabled in the labIPNtrigger config. New contacts are created and then associated with a 'hub contact' that is used to organize customers. A default relationship type must be set in order for new contacts to be associated with the hub contact. Typical hub contact names would be 'MySite Customers' or similar.

To utilize labAccounting with labIPNtrigger, it must also be enabled in the labIPNtrigger config. Once enabled an account type must be selected under which new customer online accounts will be created.

Initially, no purchase expiration is set in the config. Enter here the number of days that purchases will be made available for download. Leaving this blank or setting it to zero will allow access to purchases regardless of when they were made.

During testing of labIPNtrigger, purchases may result in an email sent to the admin or store indicating that the merchant email used to open the (test) PayPal account is unconfirmed. A number of PayPal Sandbox users have reported instances where no confirmation email is sent, thus preventing successful use of the Sandbox. If this occurs, there is a config option to ignore unconfirmed merchant accounts (even if the transaction itself specifies Pending instead of Completed). Be sure to turn this OFF when using PayPal's live IPN server.

PostNuke permissions for labIPNtrigger need to be set to READ for All Groups, and MODERATE for any staff.

III. Creating Digital Product Downloads

From the labIPNtrigger menu, click  View Product Downloads and then New Product Download. The products available in PayPalCart will be listed in a dropdown for SKU. Since PayPalCart utilizes an SKU number for the item_number submitted during purchase, this is the number that labIPNtrigger looks for. This number is arbitrary, consisting of up to 32 alphanumeric characters. It is recommended that sites decide on an SKU numbering system prior to deployment. Products without an SKU will not be listed.

From the files available in the digital product directory (local but outside of the site root, optionally) select one to be associated with the SKU.

If labAccounting is installed and enabled, an additional field is available to specify the revenue account in which purchase transactions are recorded. This can later be used to reconcile against PayPal.

While digital products are usually made available after purchase, they may also be added manual for specific users. To manually add products, click View Purchased Downloads from the menu, and then Manually Add Product .

Select the PostNuke username to manually add a product purchase to. If known, specify the PayPal email address for the user. Choose which digital product you wish to add from the product dropdown.

If labAccounting is installed and enabled, an additional field is available to specify the customer purchase account (if available).

IV. Using labIPNtrigger

After configuration and setup, visitors use PayPalCart as before. If any purchases are made that have an associated digital product it will be available from the labIPNtrigger main page. If a visitor made a purchase without registering on the site, their digital product(s) will be emailed to their PayPal email address. Registered users will not automatically have their purchase emailed. The labIPNtrigger main page will provide registered users with the option of either downloading their files or have them emailed (again, to the PayPal email address used during purchase).

If an unregistered wishes to resend purchased files, they must enter their PayPal email on the labIPNtrigger main page in order to access them. If a visitor attempts to access another customer's purchase by submitting that customer's email on the labIPNtrigger main page, they will be taken to the same page providing links to email each file. However, since the files will only be emailed to the PayPal email address, unauthorized access is prevented.

A registered use may also access their purchases in this way, but must log in to download them directly.

If labDossier is used to record customer contact information, unregistered users may register and log in to download files directly. Without labDossier, an unregistered user will be forced to receive purchases via email.

V. Use-Cases for labIPNtrigger

Using only PayPalCart, products and services may be purchased normally, but fulfillment must be performed manually. With labIPNtrigger, any digital product may be set up to automate fulfillment. Some examples of ideal digital products that may be used:

  • Original PostNuke, Xaraya, or phpNuke modules.
  • Site themes and templates.
  • Graphics, avatar, or icon libraries.
  • Documentation of business development practices.
  • Anything else that can be compressed into a single ZIP (or other archive type).

 

[First]  [Previous]  [Back to Main Article]  [Next]  [Last]
[Printer friendly page | Send to a friend]


labHome ][ labCP ][ labServices ][ labExtranet ][ labModules ][ labAdmin ][ Nav ]

MirageLab is partnered with MindSmack.com to offer cutting edge graphical design services to it's clients.
For translation of existing design comps into CMS themes, contact MirageLab.
For quotes on original creative design, contact MindSmack.com. To inquire about site and service pricing, contact INFO@MirageLab.com.
Syndicate our news using the file backend.php.
Content is © 2004, 2005 Chad Kraeft. Code provided, unless otherwise specified, is GPL, but the software titles are trademarks of MirageLab.