Choosing the Right PayPal Solution
by Damon Williams
PayPal has grown up quite a bit since its early days of existing primarily as a way to pay for stuff you bought on eBay. There’s been a bunch of recent additions that offer new functionality and options for the developer tasked with integrating a payment solution for a website or application. But sifting through the choices can be time-consuming and sometimes confusing – at the end of the day, you just want to get payment processing working and move on to the rest of your project, right? This article provides you with a quick overview of the different options available to you. I’ll skip the marketing hype and get straight to the point – helping you choose which option makes the most sense for your situation.
Buy Now Buttons
PayPal’s original bread and butter, these buttons are still in wide use today due to their simplicity. Copy some HTML code, set a few variables, and you’re done. Variations of the button allow for donations and subscriptions, but it’s still just plain old HTML. If you’re on a shoestring budget for a small business, the standard PayPal button is the way to go. Bottom line, the button initiates a call to PayPal with a FORM POST that contains all PayPal needs to complete the transaction. The buyer logs in at PayPal, approves the transaction, and voila – money is moved. The user is then returned to a URL you specify in the button parameters.
Instant Payment Notification (IPN)
If you want to step it up a notch, IPN is useful if you know how to write code that creates HTTP requests and parses HTTP responses. If IPN is enabled on a PayPal account, PayPal will send a POST to a URL you specify every time the account receives a payment. This allows you to automatically update the database with the order details, which arrive in the form of a simple HTTP POST. The notification usually happens within seconds of the transaction completing, but on rare occasions it can take up to a few minutes.
Payment Data Transfer (PDT)
This is another classic PayPal feature that is useful if you can work with HTTP. When customers checkout with PayPal, they are redirected to PayPal’s website and don’t return until the transaction is completed (the exception to this is Express Checkout – see below). PDT gives you the ability, through a series of secure HTTP posts, to retrieve details about the transaction from PayPal so you can display them to the customer after they are redirected back to your site. Pretty simple technology for a pretty simple feature, but still a handy tool to add that extra bit of professionalism to the finished product.
SOAP Web Services
PayPal opened up some core functionality to the external world in 2004 with the release of the first version of the SOAP Web Services API. If you know how to call web services, you can add a ton of functionality to a website. As most web services do, they operate in a request-response format over a secure SSL connection. Developers with no object-oriented experience may find the request and response data types slightly confusing, but they add enough functionality that it’s worth the effort to sit down and figure out how to work with them. The table below lists PayPal’s publicly available web services and what they do:
PayPal Web Services
|TransactionSearch||Search historical transactions|
|GetTransactionDetails||Detailed info about a single transaction|
|RefundTransaction||Issue a refund|
|MassPay||Pay multiple recipients at once|
|DoDirectPayment||Process a credit card payment|
|DoAuthorization||Authorize a credit card payment|
|DoReauthorization||Reauthorize a credit card payment|
|DoCapture||Capture a previously authorized payment|
|DoVoid||Void a previously authorized payment|
|SetExpressCheckout||Initiate an Express Checkout transaction|
|GetExpressCheckoutDetails||Get info about an Express Checkout transaction|
|DoExpressCheckoutPayment||Complete an Express Checkout transaction|
Express Checkout – “PayPal Wallet”
Express Checkout is API-based checkout flow, typically offered at the very first checkout screen, which gives you more control over the checkout process. You first redirect the customer to PayPal to login. They are then returned to the business’ site to confirm and complete the actual transaction. It’s cool for companies that want to offer upsells like overnight shipping, gift wrapping, or any other situation where you want the customer to click the final ‘Pay’ button on your site, not PayPal’s. Express Checkout also optionally returns the user’s shipping information so the merchant site can pre-fill any shipping screens. In this case, checkout becomes a simple three-click process for the buyer.
DirectPayment – Credit Card Processing
PayPal now offers direct credit card processing, so if the site you’re building needs to accept credit cards directly, that’s now possible to do without the need for setting up a relationship with an additional payment gateway. It works in such a way that the customer doesn’t even know that PayPal is involved in the transaction. A quick note on fraud: PayPal’s Seller Protection Policy doesn’t cover these transactions – only transactions where buyers pay with their PayPal accounts. Additionally, if you use PayPal to process credit cards, you must also offer your customers the opportunity to pay with their PayPal accounts. There’s a monthly fee associated with this feature as well, which is currently $20/month.
Authorize & Capture
Authorize & Capture allows you to place a customer’s funds on hold but not actually capture them until a later time (up to 30 days after the authorization). For instance, an online music retailer may authorize a customer’s funds when they purchase a CD, but not capture the funds until the next day when the product is actually shipped out. If, for some reason, the retailer didn’t have any more of the CD in stock, they could just void the authorization and not have to worry about going through the process of issuing a refund. Authorize & Capture is used in conjunction with standard payment buttons, Direct Payment transactions, and Express Checkout.
There’s plenty of reasons to learn more about the different options PayPal makes available to you as a developer. Online shoppers simply like to use PayPal. At the end of February 2006, there were over 100 million registered PayPal accounts with well over a billion dollars in stored value. On average, over a thousand bucks flows through PayPal every second. Those numbers are hard to ignore. If you’re building an e-commerce site, PayPal can help you open your business to millions of proven online shoppers around the world that prefer to use PayPal. When considering payment options, PayPal could be the right choice for yourself and your customers.
If you wish to research any of these topics further, you can find developer resources and a wealth of technical information at the PayPal Integration Center, www.paypal.com/integration.
Save The Date
eBay Developer Conference
June 10-12, 2006
Mandalay Bay, Las Vegas