Inventua PayPal Module for DotNetNuke

The Inventua PayPal Module for DotNetNuke presents a general-purpose display to allow users to pay you for products or services using PayPal. You can use it to accept payments on invoices, product purchases or donations.

Try Before You Buy
All of Inventua's DNN modules are available on a try before you buy basis. You can download them freely from Inventua, and try them out for as long as you like. If you are happy with the product, you can buy it at SnowCovered.

Installation
The installation zip file is configured as a DotNetNuke Private Assembly. To install Inventua DNN PayPal to your DNN portal, log in as the DNN host user "host" and use the DNN Module Definitions page to upload the module.

Compatibility
This module is compatible with DNN 3 and 4. 

PayPal module and the PayPal List Module
The "Inventua PayPal" installation process actually installs two modules that work together, the "Inventua PayPal" module, and the "Inventua PayPal List" module.
 
PayPal Module  The PayPal module can be used by itself on a page, or can be "added to" a PayPal list module.  The PayPal module provides the actual functionality documented below. 
PayPal List Module The PayPal list module is a "companion" to the PayPal module.  When you have multiple PayPal module instances on a page, you can use the PayPal list module to displays the module title for all the PayPal modules on the page in a drop-down list (each module must have the "Use PayPal List" option set).  When the user enters the page, the Inventua PayPal modules hide themselves.  When users select a title and click "Next", the corresponding PayPal module is displayed.  You can configure the full functionality of each PayPal module instance individually, including IPN - add to Security roles, execute SQL and send email.
 
 
Configuration Options (PayPal Module) 
Once you create a PayPal module instance, select the Options menu item from the module settings menu to display the Options page.
Basic Settings
Your PayPal ID Specifies your PayPal account ID. This is normally your email address.  For security reasons, this value cannot be passed in as a Querystring variable.
Use PayPal List Each PayPal module that has the "Use PayPal List" option set hides itself unless it is the currently selected item in the "PayPal List". If you are logged in as an admin, the modules never hide themselves (giving you a chance to alter settings easily).  See the "PayPal List" module section for details. 
Use PayPal Test Site Uses the PayPal 'Sandbox' environment for testing. The Sandbox is a safe testing environment where you can test PayPal features. The Sandbox is a mirror of the real PayPal site except that real financial transactions are not made. Visit the PayPal developers site for more information.
Button Image Specifies the image you want to use for the 'pay now' button. Set this value to "none" to use the standard PayPal "pay now" button.  For security reasons, this value cannot be passed in as a Querystring variable.
Subscriptions
Enable Subscriptions Enables subscriptions for this PayPal module instance.  Subscriptions represent a payment for a service that expires in the future, and can be set to recurring or non-recurring.
Billing Cycle Indicates the subscription expiry/recur date in days, weeks, months or years. 
Automatically recurring payment Sets whether to signal PayPal to automatically re-bill the subscription payment on the expiry date.
Appearance
Description Caption Specifies the text displayed next to the description text box/drop-down list.
Default Description Specifies the default value of the "description/payment for" field.  If you are passing this value in as a Querystring variable, the property name is 'default-description'.
Use drop-down list for description Select the "enable description drop-down list" check box to enable a drop-down list for the description field. When enabled, a drop down list containing the entries you enter in the drop-down values list is shown instead of a free-text entry field.

To specify the values you want to appear, enter then on the text box below the "enable description drop-down list" checkbox on seperate lines. You can specify a display value that is different then the value submitted to paypal by entering a value in the form display value:actual value, for example, use "My Sample Product:123456" to specify a display value of "My Sample Product", but submit the value 123456 to PayPal as the description value.
Allow Editing Enables/Disables editing of the description field by end users.
Reference Caption Specifies the text displayed next to the reference text box.
Default Reference Specifies the default value of the reference number/invoice field.  If you are passing this value in as a Querystring variable, the property name is 'default-reference'.
Allow Editing Enables/Disables editing of the reference field by end users.
Amount Caption Specifies the text displayed next to the Amount text box.
Default Amount Specifies the default value of the Amount field.  If you are passing this value in as a Querystring variable, the property name is 'default-amount'.
Allow Editing Enables/Disables editing of the amount field by end users. If you disable editing of the amount field, selection of a currency is also disabled, so the default currency type value is always used. Therefore, you should select only a single value from the "Accepted Currencies" list.
Accepted Currencies Specifies the currencies you want to accept. Select the currencies you want to accept by placing a check in the box next to them.
Notification Settings
Payment Notification Enables PayPal Instant Payment Notification (IPN). IPN must be enabled for any of the settings in the 'Notification settings' section to have an effect.
Add users to security roles after payment notification

Specifies the security roles you want to automatically add the user to after payment notification is received.

Role Expiry Dates
For non-subscription payments, the role expiry is set to todays date plus the billing period set for the role in the DotNetNuke role editor (Advanced Settings). If the billing period is not set, the role membership does not expire.
For subscription payments, the role expiry is set to todays date plus the billing cycle for the subscription.

Execute SQL Command Executes an SQL command you specify. Leave this section blank if you do not want to execute an SQL command. You can execute an SQL command to facilitate automated provisioning of services in response to a payment notification.

You can use DNN and PayPal variables in your SQL command using SQL tokens (see below).
SQL Tokens

SQL Tokens are special DNN and PayPal variables that are available for use in your SQL command. To specify an SQL token, include the token name with a dollar sign before it, i.e "$payer_email". You can add SQL tokens to your SQL by selecting the token you want to use from the list and clicking "Insert Token" or by typing the token directly into the SQL command text box. (Remember to use quotes in your SQL to represent string values as you would for static values).

Send Email/Send Subscription Email?

If enabled, an automatic email notification is sent to the end user when Payment notification is received. You can configure the email subject and content, and can select a file from your DotNetNuke site to be added as an attachment to the email.

Two emails can be configured:,
Payment notification:  Sent when a payment notification is received - this happens once for non-subscription payments, and once every billing cycle for subscription payments (including when the subscription is first created).
Subscription notification:  Sent once when the new subscription is created.

Email Tokens Email Tokens are special DNN and PayPal variables that are available for use in your email notification. To specify an Email token, include the token name with a dollar sign before it, i.e "$payer_email". You can easily add email tokens to your email by selecting the token you want to use from the list and clicking "Insert Token".
Email Attachment Specifies a file to attach to the notification email. If you want to send multiple files, you should include them in a ZIP or other archive file.
Return URL
Return URL Specifies the page you want users to be returned to after their PayPal transaction is complete. Refer to the section below "Using PayPal Auto Return" for information on PayPal conditions for this feature.

Configuration Options (PayPal List Module)
 
Once you create a PayPal list module instance, select the Options menu item from the module settings menu to display the Options page.
Button Text  Sets the text used in the "next" button (used to select a PayPal module).


PayPal payments are processed using the PayPal service. Before you use this module, you must ensure that you comply with PayPal's terms of service and registration requirements.

Using PayPal "Auto Return"
The PayPal terms and conditions state that "...when using Auto Return, you must display verbiage on the page displayed by the Return URL that will help the buyer understand that the payment has been made and that the transaction has been completed, as well as verbiage that explains that payment transaction details will be emailed to the buyer. "

 

 

Using QueryString items to control the PayPal module 
If you pass querystring values matching attribute names to a page, the PayPal module will use the values you pass.  For example, you could use the URL http://yoursite.com?default-description=Buy my%product to default the item description to "Buy my product".   For security reasons, only the default-description, default-amount and default-reference fields can be passed in using a Querystring variable, and for these to function you must "allow editing" for the field being passed in.

Conditions of use
Permission is hereby granted, on a Try-before-you-buy basis, to any person obtaining a copy of the Inventua DNN PayPal module and associated documentation files (the "Software"), to use the Software without restriction, including the rights to use, copy or otherwise use the software for commerical or non-commercial use, but excluding any rights to reverse engineer or remove Inventua logos and licensing information. This permission does not imply or otherwise grant any rights to any other Inventua intellectual property including but not limited to logos, trademarks, documentation and software products.

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This help file, the accompanying software and other materials supplied with the software are Copyright © Inventua, 2004-2008. All Rights Reserved.

About PayPal
Founded in 1998, PayPal, an eBay Company, enables any individual or business with an email address to securely, easily and quickly send and receive payments online. PayPal's service builds on the existing financial infrastructure of bank accounts and credit cards and utilizes the world's most advanced proprietary fraud prevention systems to create a safe, global, real-time payment solution.

PayPal has quickly become a global leader in online payment solutions with 71 million account members worldwide. Available in 56 countries around the world, buyers and sellers on eBay, online retailers, online businesses, as well as traditional offline businesses are transacting with PayPal.

PayPal has received close to 20 awards for technical excellence from the internet industry and the business community at large -most recently the 2003 Webby Award for Best Finance Site and the 2003 Webby People's Voice Award for Best Finance Site. Located in San Jose, California, PayPal was acquired by eBay Inc. in October, 2002.

For more information, visit http://www.paypal.com.

Sign up for PayPal and start accepting credit card payments instantly.

About DotNetNuke
The Inventua DNN PayPal Module is a DotNetNuke portal module. For more information on DotNetNuke, visit http://www.dotnetnuke.com.

About Inventua
Inventua provides software tools for information technology organisations that facilitate and maximise synergy and cohesion between development, support, marketing and management teams, improves software product quality and helps information technology organisations to provide great products and great support. Visit Inventua on the web at http://www.inventua.com