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).