Introduction
A+ Download is a Perl/CGI web e-commerce application developed for the purpose of selling Digital Files online.
It uses a mySQL database as the backend to maintain and store cart and paypal transaction data.
It requires Perl Modules: Crypt::SSLeay, LWP, and Digest::MD5.
It requires two Paypal Website Payment Preferences to be activated,
- PDT (Payment Data Transfer) 1
- Auto Return set ON.
In brief, PDT works as follows:
- PayPal transfers the customer automatically to the vendors website after purchase.
- PayPal performs a GET to the vendors return script.
- The vendors return script captures a transaction number from the GET and then POSTS the
transaction number back to PayPal to verify the success of the transaction
- Upon SUCCESS the vendor script processes the data and displays transaction details
- Further there is the option to send an e-mail to the customer with the log in link to download
the digital goods.
These 5 steps is all that A+ Download needs to render a simple and secure means of
selling digital files.
A+ Download Validations:
- Checks for incompatible Browsers (the older versions) ie browsers which do not work with our file download script.
- Checks that the transaction information returned by Paypal is successful.
- Checks that the item number has not been changed from the web form.
- Checks that the total cost has not been changed from the web form.
- Checks that the currency has not been changed from the web form,
- Checks for a Duplicate Transaction ID
- Checks that the transaction is Complete.
- Checks the PayPal Business Account ID.
After these 8 validations the file is available for download and/or sent as an e-mail attachment.
Upon success a page is displayed with the links to all files purchases. The customer has
N attempts to download the file. The vendor receives an e-mail about the purchase and
the transaction tables are updated. One can also setup an expiry time on the download link
and have an e-mail sent to the customer with a login link to download the file.
If one of the validation checks is not passed then an error page comes up providing
instructions on what should done further. The vendor also receives an e-mail notification of the failed
purchase and the mySQL transaction table is updated.
1 Note that A+ Download does not work on GoDaddy Servers. Apparently GoDaddy Servers use a proxy server for outside connections required by the Paypal Payment Data Transfer (PDT) process used in the A+ Download program.
|