PayPal’s Website Payments Standard and Pro are both extensive eCommerce solutions that cover a wide range of features. The Pro product is comparable to other Internet merchant solutions like Authorize.net or Innovative Merchant Solutions, and others, therefore the same issues would apply. This article it primarily targeted to the Web designer, developer or business owner that is considering using PayPal in an eCommerce solution. It is assumed that you have reviewed the PayPal documentation, and though it addresses the “how” on so many issues, it does leave out or is silent on a number of important questions that you need to know to best understand the best solution for you needs.
Some of the solutions you will be considering may be embedded in a third party “cart” and some may need to be completely custom. This article will address both whenever as possible. Most of the issues presented here are based on questions that have been recieved from inquiries in our SonicWebTech PayPal consulting program. There is also an extensive comparison of both the Standard and Pro versions in this article:
Some of those same issues may appear in the following but that will only happen because it is necessary for the continuity of this article.
Note: All of this discussion assumes you are using a Business PayPal account. Some of the features discussed will not be available on any of PayPal’s other account levels.
PayPal Website Payment Standard (WPS)
Website Payments Standard is the granddaddy of the PayPal system. This is the part of PayPal system that has grown up from the very beginnings of PayPal and is targeted to the quick “do-it-yourself” Internet merchant. The core of this system is the “buy now button”. The basic components are as follows:
- Built-in virtual cart
- Single Item Payment – “Buy Now” buttions
- Multiple Item Payments – “Buy Now” buttons with “View Cart” buttions
- Recurring Payments – Donations and Subscriptions
- Authorization and Capture of Credit Cart purchases
- Refund System
Sounds pretty complete and does cover a wide range of needs for your client. Everything about this system revolves around “buttons” and PayPal has developed an extensive online system of helping the non-programmer generate those buttons. Unfortunately no system is perfect or totally complete and therefore there is a 194 page “Integration Guide” that covers all of the extra custom things you can do that go beyond the button generator. This is generally where most non-programmers can get lost or confused. There are nearly 10 pages of special “HTML variables” that can be used to control the interaction between the website and the PayPal system. In addition the PayPal system provides a special “upload” function that can be used to keep your customer on your site until the last possible moment of payment. Third party shopping carts generally use this feature for integration with the Standard version.
So what is the down side of use PayPal WPStandard?
(There is always a down site to every system.)
Basically the advantages of WPS can quickly become its major disadvantage, and that is, PayPal handles everything and if you want to do it the PayPal way that is great, but if you need to deviate even slightly from that system then it becomes a burden. For example these are some of the situations that many PayPal merchants or their developers come to SonicSpider to solve:
- Shipping using UPS or FedEx
- Making the Credit Card a more predominate choice.
- Customizing the “cart” so that the customer does not feel they have left your site.
- Product attributes management, discounts, coupons, etc.
WPS has an internal shipping system that is very basic and will work for most simple situations, but if your products require special shipping you will find a wall. You only solution is to do all of the programming up front on your website BEFORE making any calls to the PayPal system. This can create a very odd sequence in your purchase system.
PayPal is in business to keep your business in their main system. This is understandable and expected as this is where they make the most money. Unfortunately this requirement can cause the customer to become confused as they use the PayPal virtual cart. This cart makes logging into PayPal seem like the only and preferred route for payment as demonstrated in this screen shot:
The credit cart route is in the lower left corner and makes no mention of using a credit card. This ends up being a barrier to some customers.
Customizing the PayPal Cart
As you can see from the following screen there is a considerable limit on how you can customize your shopping cart:
You have four areas that you can customize:
- Header background color
- Header border color
- General background color
That is it! Your customer will definitely know they are in the PayPal system. It is important to understand that this may not be a bad thing. The fact is that PayPal is a commonly accepted payment system and your customer will recognize it as being secure and safe. The issue for many business is a matter of “style” and expectations of their target market. Only you can decide that matter.
Product Attributes generally involve colors, sizes, materials and many more, that a customer needs to select for their order. Some attributes can also change the price of the product. WPS only allows you to “pass on” these settings in a limited fashion using their “on#” and “os#” name-value pair syntax. Any changes to price have to be handled on your website before sending off to PayPal. Also there are limitations to the amount of data that can be sent (200 characters for text fields, 64 characters for other input fields). If you product requires a complex combination of attributes you will find that WPS will become a nighmare of compromises.
Conclusions for WPS
WPS is a viable solution if you needs fall squarely within the PayPal way. You can be up and running quickly and with limited programming skills. There are complexities that require more skill, but for most of your needs the button generator will handle it just fine. Keep in mind that the WPS Integration Guide is nearly 190 pages, so there are many other options available for customizing, this will require more time and investment to utilize or the assistance of a PayPal Certified Developer.
PayPal Website Payments Pro (WPP)
Website Payment Pro is a completely different beast. It is important that you understand that right up front and therefore EVERYTHING discussed above for WPS does not apply to WPP. There is no PayPal shopping cart. Basically WPP is simply an API (Application Programming Interface), which amounts to a “bag of parts” that a programmer assembles into a custom solution. A detail comparison is provided here:
Therefore we will move on to the specific features that would concern a designer or developer of an eCommerce website.
Note: To utilize WPP you must have an SSL certificate attached to your website. This is a service provided by our Hosting company and therefore will not be covered here.
WPP consists of two components, both of which must be implemented as part of your WPP site.
- Direct Payment API enables you to accept credit card payments directly on your website.
PayPal remains invisible, so you control the customer experience. You can also use
reference transactions to implement recurring payments or modify a previous transaction.
- Express Checkout API allows PayPal account holders to check out fast with saved
Direct Payment API
The Direct Payment API allows your customers to use their credit cards to directly pay for products on your website. The API comes in two programming methodologies: Name-Value pairs and SOAP. Which programming technology is appropriate for you needs depends on your skills and the programming language of your choice. The SDK (Software Development Kits) are available for a number of platforms:
Using this API you can control most every aspect of the payment process and remain completely at your website. Typical processes are: sales, authorization and capture, reference transactions and recurring payment profiles. At every step of the way, PayPal provides responses and possible errors or problems that you need to handle. This can add to the complexity of your task in order to provide a professional solution.
Express Checkout API
Express Checkout is a required component in a WPP solution. There are specific requirements that you need to study in the Integration Guide to make sure you comply with the requirements. Basically Express Checkout allows your PayPal customers to utilize their PayPal account and information to speed up the payment process. Programmatically you will sidestep your normal gathering of customer information and credit card number and direct your customer to their PayPal account your customer logs in and then approves the purchase and the information provide. That information is returned to your website so that you can proceed with the final review and payment.
What can I do to impliment WPP?
There are two basic ways to impliement WPP:
- Use a third party shopping cart that supports WPP.
- Do the programming yourself or Contract a PayPal Certified Developer.
Using a third party shopping cart that supports WPP.
There are a quite a number of third party shopping carts the support WPP. Some are commerical and have up front costs and some are open source and have other costs. Nothing is ever really free. It is important that you confirm that the cart you select does support WPP. Once you have the cart installed*** then you need to configure the payment module or plugin to access your PayPal Business account. This configuration involves the following steps:
- Log into your PayPal account
- Click “Profile”
- Click “Request API credentials”
- Under “Option 1” click “Set up PayPal API credentials and permissions”
- Under “Option 2” click “Create/View API Certificate” (Text may vary depending on other settings)
- Depending on previous configurations you may have a choice between a “certificate” and a “signature”, select “Signature” and generate that signature.
- Copy the API Signature to your cart’s payment configuration screen.
Sample API Signature
Following is an example of an API Signature that you might used to configure your third party shopping cart.
|Request Date||Jul 30, 2009 15:37:17 PDT|
The shopping cart will require the Username, Password, and Signature values. They are case sensitive so be careful. It is generally best to “cut and paste” this information to insure accuracy. Also print this information out for your records. If you only require a few tests then you can make small purchases on the live site, but if you require more extensive testing you should setup a Sandbox Account and configure a test Signature. The Sandbox is a mirror PayPal system that allows you unlimited testing of your configuration or custom programming solution. There is an extensive User Guide available online to guide you through setup and testing.
Sometimes a third party shopping cart is overkill, or you have requirements that are not addressed by the currently available carts. If any of these is the case then you have two choices:
- Roll up your sleeves and do the programming yourself
- Contract a Certified PayPal Developer
Roll up your sleeves and do the programming yourself
The scope and complexity of your custom WPP solution is beyond what can be addressed in this article. What we can do is provide you with some parameters and metrics for determining the degree of the task ahead of you. The basic parameters that will affect your ability to program a solution effectively are:
- Your general programming experience
- Your previous PayPal API experience
- The language and SDK you will be using
- Sample code that might be available for your language
- The scope and complexity of your custom solution
The metrics that may help you gauge the time and cost commitment are:
- Your programming skills should be current and tend toward the advanced. Anything less will require a learning curve for your language of choice as well as programming concepts in general.
- If you have had little or no experience with SDKs in general and PayPal in particular then add 6-10 hours to whatever you estimated
- Each SDK has a certain degree of sophistication, some are more “complete” and others are not. For example:
- Net,Java are more advanced
- PHP is fairly primitive – Add about 5-8 hours to clean up code and handle errors properly
- Most SDK do not handle any database work, if you need to update a database that could easily require 4-6 hours more depending on what you are saving and tracking.
Contract a Certified PayPal Developer
Several years ago PayPal started the Certified PayPal Developer program. In the beginning it was a short simple online test (about one hour) that could be passed by anyone that had done the most basic PayPal work (or attended a seminar). in 2009 PayPal revamped the certification to become a more serious measure of a programmers knowledge of the PayPal systems. It is now nearly a four hour test in which at least some of the test contains questions that require answers that are not found on any official documentation. It also now costs $300 just to take the test (free previously). You can read more about the certification process here:
The PayPal Certified Developer directory lists those that have past this more rigorous testing program:
SonicSpider has a PayPal Certified Developer on staff. We have developed the SonicWebTech program to make those services available to Web designers and developers that need access to this expertise. Visit our PayPal consulting section of our SonicWebTech program site for more information:
We hope this article about PayPal solutions was helpful. Feel free to leave a comment so we can make it even more useful.