PP WebsitePaymentsStandard IntegrationGuide
PP WebsitePaymentsStandard IntegrationGuide
PP WebsitePaymentsStandard IntegrationGuide
Standard Integration
Guide
© 2008 PayPal, Inc. All rights reserved. PayPal is a registered trademark of PayPal, Inc. The PayPal logo is a trademark of PayPal, Inc. Other
trademarks and brands are the property of their respective owners.
The information in this document belongs to PayPal, Inc. It may not be used, reproduced or disclosed without the written approval of PayPal, Inc.
PayPal Europe S.à.r.l. & Cie, S.C.A. is authorized and regulated by the Commission de Surveillance du Secteur Financier in Luxembourg as a bank.
PayPal RCS registration number: 118349
Notice of non-liability:
PayPal, Inc. is providing the information in this document to you “AS-IS” with all faults. PayPal, Inc. makes no warranties of any kind (whether express,
implied or statutory) with respect to the information contained herein. PayPal, Inc. assumes no liability for damages (whether direct or indirect), caused
by errors or omissions, or resulting from the use of this document or the information contained in this document or resulting from the application or use
of the product or service described herein. PayPal, Inc. reserves the right to make changes to any information herein without further notice.
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
How to Use This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Auto Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Getting Contact Telephone Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Automatic Calculation of Sales Tax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Setting Up Domestic Sales Tax Rates . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Setting Up International Sales Tax Rates . . . . . . . . . . . . . . . . . . . . . . . . 45
Resolving Overlapping Sales Tax Rates. . . . . . . . . . . . . . . . . . . . . . . . . 45
Overriding Sales Tax Calculations on Individual Transactions . . . . . . . . . . . . . 46
Editing or Deleting Sales Tax Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Automatic Calculation of Shipping Charges (U.S. Merchants Only) . . . . . . . . . . . . 46
Shipping Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Shipping Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Shipping Rate Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Shipping Rate Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Shipping Rates and Currencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Adding Shipping Rates for the First Time . . . . . . . . . . . . . . . . . . . . . . . . 49
Adding One or More Shipping Methods for a Shipping Region Using a Wizard. . . . . 49
Viewing, Editing, and Adding Shipping Rates . . . . . . . . . . . . . . . . . . . . . . 51
Viewing the Configuration of an Existing Shipping Method . . . . . . . . . . . . . . . 53
Editing the Configuration Settings of an Existing Shipping Method . . . . . . . . . . . 53
Deleting One or More Shipping Methods . . . . . . . . . . . . . . . . . . . . . . . . 54
Examples of Rate Bases and Shipping Calculations . . . . . . . . . . . . . . . . . . 55
Overriding Shipping Calculations on Individual Transactions . . . . . . . . . . . . . . 56
Automatic Calculation of Shipping Charges (non-U.S. Merchants Only) . . . . . . . . . . 57
Examples of Cost Methods and Shipping Calculations . . . . . . . . . . . . . . . . . 59
Overriding Shipping Calculation on Individual Transactions . . . . . . . . . . . . . . . 60
Blocking Certain Kinds of Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Accessing Your Payment Receiving Preferences to Block Payments . . . . . . . . . . 61
Blocking Payments from U.S. Payers without a Confirmed Address . . . . . . . . . . 62
Blocking Payments in Currencies that You Do Not Hold. . . . . . . . . . . . . . . . . 63
Blocking Payments from Payers with Non-U.S. PayPal Accounts. . . . . . . . . . . . 63
Blocking Payments Initiated through the Pay Anyone Subtab. . . . . . . . . . . . . . 63
Blocking Payments by Credit Card Instead of Bank Account . . . . . . . . . . . . . . 64
Blocking Payments Funded with eChecks . . . . . . . . . . . . . . . . . . . . . . . 64
Adding Your Credit Card Statement Name. . . . . . . . . . . . . . . . . . . . . . . . . . 64
Language Encoding Your Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
About Language Encoding for Exchanging Data with PayPal . . . . . . . . . . . . . . 66
Changing Your Default Language Encoding . . . . . . . . . . . . . . . . . . . . . . . 66
Allowing Multiple Users to Access Your PayPal Account . . . . . . . . . . . . . . . . . . 69
Adding a User Login to Your Account . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Changing the Privileges for a User Login . . . . . . . . . . . . . . . . . . . . . . . . 70
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
The Website Payments Standard Integration Guide describes how to integrate your website
with PayPal by using HTML buttons and forms. Website Payments Standard lets you accept
payments for:
z Single-item purchases with Buy Now buttons, which are suitable for items on websites that
offer single or mutually exclusive products.
z Multiple-item purchases with Add to Cart and View Cart buttons, which are suitable for
online stores with catalogs and shopping carts.
z Contribution payments with Donation buttons, which are suitable for giving financial
support to any cause.
Intended Audience
This manual is intended for:
z Website operators and developers who want to understand the payment page sequence that
people go through when they make payments with Website Payments Standard buttons
z Website operators and developers who want to understand how account profile settings
affect the way that Website Payments Standard works
z Developers who want to learn the technical details of implementing Website Payments
Standard
Revision History
Revision history for PayPal Website Payments Standard Integration Guide.
Date Description
March 2008 Changes to definition of authorization honor perioids; see “Honor Period and
Authorization Period” on page 129.”
January 2008 Separate page sequence and command for Donation buttons; see Chapter 5,
“Contribution Payment: Donation Buttons.”
August 2007 Shipping calculations with tiered rates in different destination regions; see
“Automatic Calculation of Shipping Charges (U.S. Merchants Only)” on
page 46.
May 2007 Added information on securing buttons.
July 2006 New chapter on using Authorization & Capture with Website Payments
Standard, including capturing multiple authorizations in batches on
https://www.paypal.com/. Miscellaneous updates.
Website Payments Standard uses HTML buttons and forms on your website to redirect people
to PayPal in order to pay you. People return to your website after they complete their
payments.
The basic page sequence for Website Payments Standard requires people to log in or sign up
for PayPal before they can complete their payments. Figure 1.1 , “Website Payments Standard
Basic Payment Page Sequence,” illustrates the basic page sequence that people experience
when they pay with Website Payments Standard.
Website Payments Standard offers variations on the basic payment page sequence that is
shown above. The HTML variables and their values that you include with the payment buttons
that you place on your website, as well as the settings that you make in your PayPal account
profile, control which variations the people who pay you see.
N O T E : The most common variation to the basic page sequence occurs when the PayPal
Account Optional profile setting is turned on. With the PayPal Account Optional page
sequence, people who are not currently PayPal members can pay by credit card without
first signing up for a PayPal account. For more information, see “PayPal Account
Optional” on page 30.
FIGURE 1.2 Basic Payment Page Sequence Begins on the Merchant Website
When buyers visit a merchant website for the first time or if they disabled cookies in their
browsers, they may see the following alternative log-in page:
The landing page that Steve returns to on the merchant website was specified with the return
variable of the Buy Now button that Steve clicked originally to begin the payment process.
The design of the merchant landing page is the responsibility of the merchant. Consider the
following when designing your own landing page:
z You must state clearly that the purchase made through PayPal was successful and that the
transaction has been completed.
z You must tell the buyer that the payment and transaction details will arrive in an email sent
to the buyer.
z Offer the buyer a few products that might be of interest based on what the buyer just
purchased.
z If you enabled Auto Return, let buyers view and print a receipt. The alternative payment
confirmation page on the PayPal website disappears quickly and the page does not offer a
View Printable Receipt link.
For more information, see “Auto Return” on page 38.
z Provide a link or button that lets the buyer return to your product catalog and continue
shopping.
Email
You receive email notification when:
z a successful payment is made.
z a payment is pending.
z a payment is canceled.
If you want to stop receiving email notification:
1. Click the Profile subtab of the My Account tab.
2. Under Account Information, click the Notifications link.
3. Under Payment Notifications, clear the I receive PayPal Website Payments and Instant
Purchase checkbox.
4. Click the Save button.
Transaction History
You transaction history is available from the History page. It provides information about your
payments and other account activity. The status of a payment can be:
z Completed: The transaction was successful and the money was credited to your account
z Cleared: The payment cleared the sender’s account and was credited to your account
z Uncleared: The payment has not cleared the sender’s account yet
To learn how to work with your transaction history, see the Order Management Integration
Guide.
This chapter describes how to use your PayPal account profile settings to control how
Website Payments Standard works for people who pay you and how it works to let you accept
the payments that they make.
Account Information
Use the Account Information column for basic account maintenance, including updating
your password, adding and confirming email addresses, managing your business information,
and for business accounts, configuring PayPal account for multi-user.
Financial Information
Use the Financial Information column to organize and maintain the financial instruments
associated with your PayPal account, including managing your credit cards and bank accounts,
activating and managing your PayPal Debit Card, managing multiple currency balances, and
viewing monthly account statements.
Selling Preferences
Use the Selling Preferences column to configure the way you collect payments with PayPal,
including:
z Branding the PayPal payment pages with your logo and colors
z Tailoring the Website Payments Standard payment experience with:
– Auto Return
– PayPal Account Optional
– Getting contact telephone numbers from payers
z Setting sales tax rates to calculate sales taxes automatically
z Setting shipping rates to calculate shipping charges automatically
z Blocking certain kinds of payments
z Setting the language and character encoding of your data
Figure 2.3 , “Custom Page Style with All Branding Options,” shows all the options that you
can specify for your own, custom payment page styles.
From this page, you can add, edit, preview, and remove page styles, and make one of the page
styles the primary page style.
N O T E : The PayPal page style is a default page style. You cannot edit or remove it.
IMPO RTANT: PayPal recommends that you enter an image URL only if the image is
stored on a secure (https) server. Otherwise, your payer’s web browser
displays a message that the payment page contains insecure items.
– Header Background Color (optional)
Enter the background color for the header using HTML hex code. The color code must
be six digits long and should not contain the # symbol. If the Header Image URL is
present, the header is a 750 pixel wide by 90 pixel high space at the top of the payment
page. If the Header Image URL is not present, the header height is only 45 pixels high.
– Header Border Color (optional)
Enter the border color for the header using HTML hex code. The color code must be six
digits long and should not contain the # symbol. The header border is a two-pixel
perimeter around the header space.
– Background Color (optional)
Enter the background color for the payment page using HTML hex code. The color
code must be six digits long and should not contain the # symbol.
3. Click the Preview button to view a mock-up of your page style, or click the Save button to
save it.
When you specify custom payment page variables on individual transactions, the page
variables override page styles set in your account profile or the page_style variable. The
custom payment page variables take precedence in the following order:
1 Custom Payment Page See Table A.7, “HTML Variables for Displaying PayPal Payment
Variables on Individual Pages,” on page 169.
Transactions
2 Primary Page Style on With the page_style variable, you can specify a page style on
Individual Transactions individual transactions that overrides any page styles set in your
account profile.
3 Primary Page Style in You can create and set the primary style in your account profile.
Profile
4 Default PayPal Page The default page style used when an alternative is not selected
Style in Profile and designated as primary.
Compare the preceding page sequence with the basic page sequence shown in Figure 1.1 ,
“Website Payments Standard Basic Payment Page Sequence” on page 13.
What Payers See With Account Optional On
Step 1: Bob goes to the DesignerFotos website, makes his selections, and clicks the Add to
Cart button.
Step 2: Since Bob is new to PayPal, he is taken to a billing information page. If he had a
PayPal account, he could log in here to access his saved information. He is not a PayPal
member, so he enters in his information and clicks the Review Payment button.
N O T E : IfPayment Receiving Preferences are set to accept payments from payers only with
confirmed addresses, Bob skips the shipping information page and goes directly to
billing information in Step 3.
Step 3: Bob is taken to a review page. He clicks the Pay $505.00 Now! button to complete his
purchase.
Step 4: Bob is taken to a payment completion page and will receive an email receipt.
Because Bob is not a PayPal member, he can choose to sign up for a PayPal account on this
page by entering his email address, selecting a password, and clicking the Create Account
button.
Step 5: Bob sees a page that confirms the creation of his account.
If he clicks the Return to Merchant button, his browser is redirected back to the merchant’s
website.
Step 6: Bob receives an email receipt that confirms his payment and includes a copy of the
payment details for this transaction.
5. Select the Off radio button to turn PayPal Account optional off.
6. Scroll to the bottom of the page, and click the Save button.
Auto Return
With Auto Return for Website Payments, you can avoid making your payers click an extra
button before returning to your website after they complete their payments. Auto Return
applies to all Website Payments, including Buy Now, Shopping Cart, Subscription, Gift
Certificate, and Donation buttons.
What Payers See with Auto Return On
With Auto Return on, instead of having to click a button on the payment receipt page
(identified in Figure 1.1 with a circled “3” and shown in Figure 1.6 ), payers see an alternative
payment confirmation page for a few seconds before their browsers redirect them
automatically to your website.
4. Under Auto Return for Website Payments, click the On radio button to enable Auto
Return.
5. In the Return URL field, enter the URL to which you want your payers redirected after
they complete their payments.
N O T E : If the Return URL you enter is invalid, PayPal displays the standard payment
confirmation page after people complete their payments.
6. Scroll to the bottom of the page, and click the Save button.
Setting Return URL on Individual Transactions
With Auto Return turned on in your account profile, you can set the value of the return
HTML variable on individual transactions, which overrides the value of the return UL that you
stored on PayPal as part of the Auto Return feature. For example, you might want to redirect
payers to a URL on your site that is specific to that person, perhaps with a session-id or other
transaction-related data included in the URL.
To set the return URL for individual transactions, include the return variable in the HTML
Form:
<INPUT TYPE=”hidden” NAME=”return” value=”URLspecificToThisTransaction”>
N O T E : To
receive transaction-related data from PayPal, you must turn PDT on. For more
information on PDT, see the Order Management Integration Guide.
Subscriptions Password Management and Auto Return
If you use or plan to use Subscriptions Password Management, you must make sure that Auto
Return is turned off in order to display the PayPal-generated username and password to the
subscriber.
N O T E : Youcan use Auto Return with Subscriptions, which is a separate feature from
Subscription Password Management. For more information about Subscriptions, see
the Subscriptions and Recurring Payments Guide.
IMPO RTANT: In accordance with the PayPal user agreement, you may use this contact
telephone number only to communicate with the payer about the related
payment. You may not use this number for unsolicited messages.
You can make the contact telephone number optional or required, or you can turn it off. “Off”
is the recommended default option because people value their privacy and prefer to minimize
unsolicited communications.
When you require payers’ contact telephone numbers, payers see the prompt during purchase.
6. Click the Create Another button to add the new rate and then add another domestic sales
tax rate.
To create a rate for a specific zip code
6. Click the Continue button to add the new rate and return to the Sales Tax page.
7. Click the Create Another button to add the new rate and then add another domestic sales
tax rate.
When multiple rates apply, the most specific rate is used. For a buyer in zip code 94044, the
most specific rate is the single zip code rate of 8.25%. For a buyer in zip code 94056, the most
specific rate is the range of zip codes with a rate of 7.75%.
Shipping Regions
Your organize your shipping rates primarily by the states and countries to which you ship your
products. Some merchants make only domestic shipments. Other merchants make both
domestic shipments and international shipments. Depending on territorial size, some
merchants divide their domestic markets into smaller shipping regions, each with their own
shipping rates.
Before you begin setting up the shipping rates that PayPal uses to calculate shipping charges,
decide whether:
z You ship only domestically or both domestically and internationally
z You want one set of rates for all U.S. domestic shipments or you want rates for different
domestic regions, such as Europe and Asia.
z You want one set of rates for all international shipments or you want rates for different
international regions
You can establish one set of shipping rates for all domestic and international destinations, but
your shipping rates should reflect your costs of shipping, which generally vary between
different domestic and international regions.
Shipping Methods
Within each shipping region that you define, you specify specific shipping rates for the
different shipping methods you want to offer buyers. A shipping method specifies a mode of
shipment and the general time frame for delivery. For example, you might offer your domestic
buyers two shipping methods: “Standard Shipping” and “Priority.”
For each region in which you offer a specified shipping method, you generally select different
delivery time frames and different rates. Otherwise, you should not set up separate shipping
regions.
For example, your “Standard Shipping” method for the region where your shipments originate
might specify a time frame of “2-3 Days.” A more distant domestic shipping region might
specify a time frame of “3-7 Days.” You set the same rates for “Standard Shipping” in all
regions, but delivery times are longer for more distant ones.
As an alternative to differentiating on delivery time, you might differentiate on rates. For
example, your “Standard Shipping” method for all domestic regions might specify the same
time frame of “2-3 Days.” You set more expensive rates for “Standard Shipping” in more
distant regions, but delivery times are the same for all regions.
calculate shipping charges, decide which basis is most suitable for the kinds of products you
sell and the typical orders that your buyers place.
For more information, see “Examples of Rate Bases and Shipping Calculations” on page 55
FIGURE 2.11 Shipping Rate Table With a Basis of Total Order Amount
Each row in a rate table represents a different tier. Each successive tier encompasses a
successively increasing range within the rate basis. You specify a separate rate for each tier.
In the preceding example rate table, each successive tier encompasses an increasing range of
order amounts. The first tier encompasses orders that total from $0.01 USD through and
including $10.00 USD. The shipping rate for orders that fall within the first tier is 5% of the
total order amount. The shipping charge for an order amount of $6.75 USD is $0.34 USD.
From the Shipping Calculations setup page, you can start a domestic or an international
shipping wizard.
z Click the Add Another Shipping Method link from the Shipping Calculations review
page, as shown in Figure 2.14 , “Shipping Calculations Review Page (U.S. Merchants
Only).
The steps in domestic and international shipping wizards are the same.
1. Setting Up the Shipping Region for a Shipping Wizard. Select the U.S. states or the foreign
countries for the shipping region, and select the currency in which you want to price the
shipping rates for the shipping region.
2. Configuring the Shipping Methods Within the Region of a Shipping Wizard. Select a name
and delivery time frame, a rate basis, and fill in the rate table. Repeat this step to configure
all of the shipping methods you want for the shipping region.
3. Saving the Shipping Methods Configured With a Shipping Wizard. Review the shipping
region and the shipping methods, and change them if you like before you save them.
The following sections describe each step in more detail.
Setting Up the Shipping Region for a Shipping Wizard
The first step of a shipping wizard lets you select the U.S. states or foreign countries for one or
your shipping regions. In addition, you select the currency in which you want to price the
shipping rates within the region.
N O T E : Youcan select the currency at the time you add shipping methods and rates. You
cannot change the currency later when you edit shipping methods. For more
information, see “Shipping Rates and Currencies” on page 48.
After you select the U.S. states or foreign countries you want for the shipping region, click the
Continue button to proceed to the second step of the shipping wizard.
Configuring the Shipping Methods Within the Region of a Shipping Wizard
As the second step of a shipping wizard, you configure the shipping methods that you want for
the shipping region. A shipping wizard lets you configure the name, delivery time frame, rate
basis, and rate table of shipping methods.
Repeat the second step of a shipping wizard to create additional shipping methods for the same
shipping region. Click the Create Another button after completing the configuration of the
current method to begin the configuration of the next one.
After you configure all the shipping methods for the shipping region, click the Continue
button to proceed to the third and final step of the shipping wizard.
Saving the Shipping Methods Configured With a Shipping Wizard
As the final step of a shipping wizard, you review the configuration of the shipping region and
the configuration of the shipping methods for the shipping region. You can change the
shipping region, and you can change and add shipping methods.
In addition, the final step of a shipping wizard lets you enable individual purchase transactions
to override the rates for the shipping methods you defined within the shipping region. Select
the Override profile shipping method... checkbox to permit individual transactions to
override automatic calculation of shipping charges. For more information, see “Overriding
Shipping Calculations on Individual Transactions” on page 56.
After you review the shipping region and its shipping methods, click the Save Shipping
Methods button to preserve the shipping methods that you set up with the shipping wizard.
The shipping methods become available to buyers as soon as you save them.
4. From the Shipping Calculations review page, perform one of the following actions:
– Viewing the Configuration of an Existing Shipping Method. Select the checkbox next to
the shipping method and click the View button.
– Editing the Configuration Settings of an Existing Shipping Method. Select the checkbox
next to the shipping method and click the Edit button.
– Deleting One or More Shipping Methods. Select the checkboxes next to the shipping
methods and click the Delete button.
– Adding One or More Shipping Methods for a Shipping Region Using a Wizard. Click the
Add Another Shipping Method link.
Setting Action
Setting Action
Override shipping methods Select whether the shipping rates can be overridden by individual
per transaction transactions if the information is passed to PayPal with HTML
variables in the transaction. Possible values are:
z Yes
z No
Shipping Method Name From the dropdown menu, select a name for the shipping method.
Delivery Time (Optional) From the dropdown menu, select a delivery time.
Based On Select the rate basis for the shipping method. Possible values are:
z By Amount: based on the total amount of the order
z By Weight: based on the total weight of items in the order
z By Quantity: based on total quantity of items in the order
Shipping Rates Reconfigure the rows in the rate table to change the shipping rates
that PayPal uses to calculate shipping charges when buyer select the
shipping method.
N O T E : Changes that you make to active shipping methods become
effective after a momentary delay.
IMPO RTANT: After you delete a shipping method, it cannot be recovered for use in future
shipping calculations.
To delete one or more shipping methods:
1. From the Shipping Calculations review page, select the checkboxes next to the shipping
methods that you want to delete.
notified that the payment has been denied and is credited with the payment amount. PayPal
does not charge fees for denied payments.
For a detailed description of how Confirmed Address and other settings affect the PayPal
billing and shipping addresses, see Appendix B, “Address Handling (U.S. Merchants Only).”
Setting Action
Credit Card Statement Enter up to 11 characters and spaces. Do not include special
Name characters, such as “&,” “#”, or “_”. The value is converted to all
capital letters and might be truncated by some credit card processors.
Extended Credit Card Enter up to 19 characters and spaces. Do not include special
Statement Name characters, such as “&,” “#”, or “_”.The value is converted to all
capital letters and might be truncated by some credit card processors.
6. Scroll to the bottom of the page and click the Save button.
exchange data with PayPal. The default settings are used for all transactions sent from your
website to PayPal and all automated notifications sent from PayPal to your website. You can
override the default settings on individual transactions with the charset HTML Form
variable.
For more information on overrides, see “Setting the Character Set: charset” on page 155.
N O T E : For a
complete list of supported language encodings, see “Table 10.2, “Character Sets
and Encodings Supported by PayPal,” on page 155.
Changing Your Default Website Language
To change your website language:
1. Log in to your PayPal account at https://www.paypal.com.
The My Account Overview page appears.
2. Click the Profile subtab.
The Profile Summary page appears.
3. In the Selling Preferences column, click the Language Encoding link.
The Language Encoding page appears, as shown below.
4. From the Your website’s language dropdown menu, select an appropriate setting.
5. Click the Save button.
Changing the Character Encoding Used by Your Website
Sometimes setting your website’s language is insufficient to set the language encoding
correctly. You may need to specify the character encoding explicitly. In addition, you may
need to select separately the encoding for data that your website sends to PayPal with Website
Payments Standard buttons and the data sent by PayPal through IPN, downloadable logs, and
email notifications.
To change the character encoding used by your website:
1. Log in to your PayPal account at https://www.paypal.com.
The My Account Overview page appears.
2. Click the Profile subtab.
The Profile Summary page appears.
6. From the Encoding dropdown menu, select the appropriate character encoding scheme for
data that your website sends to PayPal.
– If you want to use the encoding scheme for receiving data that PayPal sends to your
website, ensure that the Yes radio button is selected.
– If you want to use a different encoding scheme, select the No radio button and select the
encoding scheme you want to use to receive data from PayPal from the No, use
dropdown menu.
7. Click the Save button to preserve both the encoding options that you selected on this page
and the website language you selected on the previous page.
IMPO RTANT: You can click the Cancel button to return to the previous page and review
your choice for website language. However, selections that you made on
the More Encoding Options page are lost.
IMPO RTANT: Remember to remove user logins for people who leave your organization.
Setting Action
User’s Name Enter the first and last name of the person to whom you want to give
access to your account.
Re-enter User ID Enter the same combination of letters and numbers that you entered
for User ID.
Re-enter Password Enter the same combination of letters and numbers that you entered
for Password.
Setting Action
Multi-User Access Select any of the checkboxes to grant the user specific privileges
within your account:
z Send Money
z Mass Payments
z Request Money
z Add Funds
z Refunds
z Withdraw Money
z Cancel Payments
z View Balance
z View Profile
z Edit Profile
z History and Reports
z API Activation & Authorization
z Discuss Account with Customer
z Authorization & Settlement
z PayPal Shipping
z Recurring Payments
4. Select the radio button next to the User Name, and click the Edit button.
The Change Multi-User Access page appears, with the User Name and User ID
displayed as read-only text.
5. Select and deselect checkboxes for the privileges you want to grant to or revoke from the
user login.
6. Click the Save changes.
Setting Action
Re-enter Password Enter the same combination of letters and numbers that you entered
for Password.
Euro EUR
N O T E : Use
the IS0-4217 code for the currency_code HTML variable of HTML buttons with
monetary amounts in currencies in other than USD.
Receiving fees are assessed in the currency in which the funds were sent. Payments converted
to your primary currency are converted at a competitive exchange rate.
Use Buy Now buttons to accept single-item purchase payments. A Buy Now button can sell
one or more units of a single item. Make additional Buy Now buttons for additional items that
you want to sell. “The Basic Page Sequence for Website Payments Standard” on page 14
shows how Buy Now buttons work.
You can make Buy Now buttons in two ways:
z Create the HTML code by using a tool on the PayPal website.
Follow the procedures in “Creating Buy Now Buttons” on page 75.
z Write the HTML code yourself using HTML authoring tools of your choice.
Use the example in “Sample HTML Code for a Buy Now Button” on page 83 and the
reference information in Appendix A, “HTML Variables for Website Payments Standard”
as guides.
IMPO RTANT: PayPal recommends that you enter an a price so that you collect an
appropriate amount for the item.
– Currency: From the dropdown menu, select the currency in which you priced the item
or in which you want the prices that buyers name to be denominated. The dropdown
menu automatically selects the currency of your primary balance.
– Buyer’s default country: From the dropdown menu, select a country for the PayPal log-
in or sign-up page that buyers see when they click the button. The content on the page
will be appropriate for the country you select. Buyers can change the country that you
select, after the log-in or sign-up page appears.
5. Choose a button style for your Buy Now button.
If you are going to be receiving payments from your website instead of using an email
payment link, select the radio button next to the image that you want to use. The image that
you select is hosted by PayPal.
IMPO RTANT: Merchants with significant payment volume are required by the PayPal
user agreement to take precautions on securing Website Payment Standard
buttons.
7. Specify a shipping method option.
– Select the Use my shipping calculations radio button if you set up shipping rates for
your account and you want the shipping charges for the item to be calculated
automatically.
– or –
– Select the Use a flat rate amount this radio button if you have not set up shipping rates
for your account or you want to exclude the item from automatic calculation of shipping
charges.
In the text box, enter a fixed amount that will be added to the shipping charges for
purchases that include the item. Enter zero (0.00) for items that do not incur shipping
charges. The currency for the amount that you enter is the same as the currency for the
item.
For more information, see “Automatic Calculation of Shipping Charges (U.S. Merchants
Only)” on page 46 or “Automatic Calculation of Shipping Charges (non-U.S. Merchants
Only)” on page 57.
8. Specify a sales tax option.
– Select the Use my sales tax calculations radio button if you set up tax rates for your
account and you want taxes on the item to be calculated automatically.
– or –
– Select the Use a flat rate amount radio button if you have not set up sales tax
calculations for your account or you want to exclude the item from automatic calculation
of taxes.
In the text box, enter a fixed amount that will be added to the taxes for purchases that
include the item. Enter zero (0.00) for non-taxable items. The currency for the amount
that you enter is the same as the currency for the item.
For more information, see “Automatic Calculation of Sales Tax” on page 42.
9. If you have additional details to specify for your button, such as option fields or a custom
payment page style, click the Add More Options button and follow the instructions for
“Adding More Details to the Buy Now Button” on page 78.
– or –
If you entered all the details and options for your button, go to “Copying and Pasting the
Buy Now Code” on page 81.
IMPO RTANT: Option fields cannot be used if you are creating an email payment link. To
include Buy Now links in email messages for items with options, either
send HTML emails with links to Buy Now buttons on your website that
have option fields, or ask buyers to enter the option information in the Note
field.
2. Customize your payment pages.
Use these settings to give donors a visually seamless payment experience by customizing
the PayPal payment pages to match the visual style of your website.
– Primary Page Style: (display only) The payment pages that your donors see are
displayed with the page style that is specified here, unless you select a different custom
payment page style below.
– Custom Payment Page Style: (optional) If you already added Custom Payment Page
Styles in your account profile, they are listed here. Choose the page style you would like
to appear when donors click your Donation button.
To learn more about creating page styles, see “Branding the PayPal Payment Pages” on
page 25.
– Preview: Click the Preview button to see a mock-up of the payment page style that
donors see when they click your Donation button.
– Successful Payment URL: (optional) Enter the URL for the page on your website that
you want buyers redirected to after they complete their payments.
If Auto Return is off, the button uses the Successful Payment URL that you specify
here.
If Auto Return is on, this field contains the Return URL that you specified when you
turned Auto Return on. Click the Edit button to change the Return URL and the
Successful Payment URL that this button uses.
For more information, see “Auto Return” on page 38.
– Payment Data Transfer: Click the Edit button to turn PDT on or off for all your
payment buttons.
For more information about PDT, see the Order Management Integration Guide.
– Cancel Payment URL: (optional) Enter the URL for the page on your website that you
want buyers redirected to if they cancel their payments at any point in the basic payment
page sequence.
If you do not enter a cancel payment URL, buyers who cancel their payments are taken
to a PayPal webpage.
– Select the Yes radio button to let buyers purchase more than one unit of the item or
service when they click the Buy Now button that you are creating.
If you leave the No radio button selected, buyers can purchase only a single unit of the
item when they click the Buy Now button.
– Select the radio button that matches your need to collect shipping addresses from buyers:
Make shipping optional. Select this radio button if you want to prompt buyers to enter
their shipping addresses as an option.
– or –
Yes, require shipping. Select this radio button if you want to require buyers to enter
their shipping addresses.
– or –
No shipping needed. Select this radio button if the product does not require shipping,
such as a digital good that buyers download, or if the item is a service that does not
require on-site delivery.
– Select the Yes radio button if you want buyers to enter notes to you when they make their
payments. If you leave the No radio button selected, buyers cannot include notes.
– Note Title: If you selected the Yes radio button, change the default value for the field
label to prompt buyers for specific information, such as their customer IDs or special
handling instructions. Enter no more than 30 characters.
6. Select an email address to receive payment.
(optional) In the Email Address dropdown menu, select the email address through which
you want to receive payments when people click the payment button that you are creating.
The dropdown menu selects your primary email address by default.
You can add up to eight email addresses to your PayPal account. Multiple email addresses
are useful to track payments accepted for different business purposes. All payments are
deposited to your PayPal account balance, regardless of which email address receives a
particular payment. Only confirmed email addresses can be used to receive payments.
7. If you want to change any of the details that you entered on the previous page, click the
Edit button and follow the instructions for “Creating Buy Now Buttons” on page 75,
beginning with Step 4.
– or –
If you have entered all the details and options for your button, go to “Copying and Pasting
the Buy Now Code” on page 81.
The Add a Buy Now button to your website page displays the generated code.
Copying and Pasting the HTML Code for the Buy Now Button
To copy and paste the HTML code for the Buy Now payment button:
1. Select everything in the HTML code for Websites text box, by:
– clicking the text with your mouse.
– or –
– clicking the Select All bottom that appears below the text box.
2. Copy the text that you selected to the clipboard, by:
– pressing Ctrl+C.
– or –
– right-clicking your mouse, and selecting Copy.
3. Open the webpage where you want the Buy Now button to be seen.
4. Paste the text that you copied from the clipboard onto your webpage where you want the
button to appear, by:
– pressing Ctrl+V.
– or –
– right-clicking your mouse, and selecting Paste.
Copying and Pasting the Code for the Buy Now Email Payment Link
PayPal does not generate code for email payment links if you select the Yes radio button in the
Button Encryption section on the first page of the button creation tool. To turn button
encryption off, return to the first page and click the No radio button in the Button Encryption
section. Then click the Create Button Now button again.
N O T E : Youcannot use Encrypted Website Payments (EWP) to encrypt the code for email
payment links. Secure the payments you receive from email payment links by using an
alternative method that does not involve encryption, as described in Chapter 8,
“Securing Your Website Payments Standard Buttons.”
To copy and paste the code for the Buy Now email payment link:
1. Select everything in the Link for Emails text box, by:
– clicking the text with your mouse.
– or –
– clicking the Select All bottom that appears below the text box.
2. Copy the text that you selected to the clipboard, by:
– pressing Ctrl+C.
– or –
– right-clicking your mouse, and selecting Copy.
IMPO RTANT: Merchants with significant payment volume are required by the PayPal user
agreement to take precautions on securing Website Payment Standard
buttons.
You can use the following HTML code as a starting point for writing your own HTML code
for Buy Now buttons.The value for the business variable must match a confirmed email
address on file with your PayPal account. You can change the values for other variables, with
the exception of cmd.
method="post">
<input type=”hidden” name=”business" value="[email protected]">
<!-- Specify details about the item that buyers will purchase. -->
<input type="hidden" name="item_name" value="Baseball Hat">
<input type="hidden" name="item_number" value="12345">
<input type=”hidden” name=”amount” value=”12.95”>
<input type="hidden" name="currency_code" value="USD">
<!-- Provide the buyer with a dropdown menu option field. -->
<table>
<tr>
<td>
<input type="hidden" name="on0" value="Size">Size
</td>
<td>
<select name="os0">
<option value="Select a Size">Select a Size
<option value="Small">Small
<option value="Medium">Medium
<option value="Large">Large
</select>
</td>
</tr>
</table>
Paste the code onto your webpage below an image or a text description of the item.
Use shopping carts to let people select multiple items and pay for them with a single purchase
payment. Shoppers browses your entire catalog of products and add the ones they want to
purchase to their virtual shopping carts. Shoppers review the items in their carts before
checking out and making their payments.
Shopping carts comes in two basic forms:
z The PayPal Shopping Cart, which is hosted by PayPal
z Third party shopping carts that are compatible with PayPal and Website Payments
Standard.
One distinction between the PayPal Shopping Cart and third party carts is the use of the
following HTML variables:
z add or display: Use these variables with the PayPal Shopping Cart.
z upload: Use this variable with third party shopping carts.
For more information, see Appendix A, “HTML Variables for Website Payments Standard.”
The Stuff Shop is using Add to Cart buttons created with the button creation tool described in
“Creating PayPal Shopping Cart Buttons” on page 90.
N O T E : Fordetails about the HTML code for Add to Cart buttons, see “Sample HTML Code
for an Add to Cart Button” on page 99.
Bob is taken to the PayPal website where enters his PayPal username and password and clicks
the Log In button.
Because The Stuff Shop has not set up shipping preferences in its account profile, no shipping
charges are calculated and added to the order. For information about automatic shipping
calculation, see “Automatic Calculation of Shipping Charges (U.S. Merchants Only)” on
page 46 or “Automatic Calculation of Shipping Charges (non-U.S. Merchants Only)” on
page 57.
Bob clicks the Pay $12.95 Now! button to complete the payment. He is taken to a thank you
page upon payment completion.
FIGURE 4.4 PayPal Shopping Cart Example: Thank You Page After Payment
Bob receives an email receipt for this transaction that confirms the payment and payment
details.
With the button creation tool for the PayPal Shopping Cart, you create individual Add to Cart
buttons for the items that you want to sell, and you place the generated HTML code for the
buttons next to the items on your website.
The tool also generates HTML code for View Cart buttons. You need to create only one View
Cart button for the PayPal Shopping Cart. Place copies of the generated HTML code for the
View Cart button wherever you want shoppers to click to view their shopping cart and begin
the checkout process.
N O T E : If
you are familiar with HTML programming, you can use the variables in
Appendix A, “HTML Variables for Website Payments Standard” to write the HTML
code yourself.
IMPO RTANT: The button creation tool for PayPal Shopping Cart buttons does not support
encryption of the code it generates. Secure your button code for Add to Cart
buttons by using an alternative strategy described in Chapter 8, “Encrypting
Buttons Dynamically With Encrypted Website Payments (EWP).” View Cart
buttons do not require encryption.
To create HTML code for an Add to Cart button using the button creation tool:
1. Log in to your PayPal account at https://www.paypal.com.
2. Click the Merchant Services tab.
3. Click the Add to Cart Button link.
4. Enter the details of your item.
– Item name/service: Enter the name of your item or service.
– Item ID/number: (optional) Enter the inventory ID or tracking number of your item.
The value you enter is displayed to shoppers at the time of payment, and it is displayed
in the transaction details that both merchants and shoppers can view on the PayPal
website.
– Price: Enter a fixed price of your item.
– Currency: From the dropdown menu, select the currency in which you priced the item.
The dropdown menu automatically selects the currency of your primary balance.
For more information, see “Pricing Items in Multiple Currencies” on page 99.
– Buyer’s default country: From the dropdown menu, select a country for the PayPal log-
in or sign-up page that shoppers see when they click the button. The content on the page
will be appropriate for the country you select. Shoppers can change the country that you
select, after the log-in or sign-up page appears.
– Weight (optional): Enter the weight of the item. Select Lbs or Kgs from the dropdown
menu to specify the unit of measure. If you set up shipping rates for your account with a
basis of weight, PayPal uses the value you enter here to calculate shipping charges for
orders that include the item.
5. Choose a button style for your Add to Cart button.
Select the radio button next to the image you want to use, which is hosted by PayPal.
– or –
To display your own image that you host on your website:
– Click the Use your own button image link.
An additional radio button and text box appear.
– In the Button Image URL text box, enter the URL of your button image.
If your image is hosted securely, change the entry to begin with https//.
6. Specify a shipping method option.
– Select the Use my shipping calculations radio button if you set up shipping rates for
your account and you want the shipping charges for the item to be calculated
automatically.
– or –
– Select the Use a flat rate amount this radio button if you have not set up shipping rates
for your account or you want to exclude the item from automatic calculation of shipping
charges.
In the text box, enter a fixed amount that will be added to the shipping charges for
purchases that include the item. Enter zero (0.00) for items that do not incur shipping
charges. The currency for the amount that you enter is the same as the currency for the
item.
For more information, see “Automatic Calculation of Shipping Charges (U.S. Merchants
Only)” on page 46 or “Automatic Calculation of Shipping Charges (non-U.S. Merchants
Only)” on page 57.
7. Specify a sales tax option.
– Select the Use my sales tax calculations radio button if you set up tax rates for your
account and you want taxes on the item to be calculated automatically.
– or –
– Select the Use a flat rate amount radio button if you have not set up sales tax
calculations for your account or you want to exclude the item from automatic calculation
of taxes.
In the text box, enter a fixed amount that will be added to the taxes for purchases that
include the item. Enter zero (0.00) for non-taxable items. The currency for the amount
that you enter is the same as the currency for the item.
For more information, see “Automatic Calculation of Sales Tax” on page 42.
8. If you have additional details to specify for your button, such as option fields or a custom
payment page style, click the Add More Options button and follow the instructions for
“Adding More Details to the PayPal Shopping Cart Button” on page 93.
– or –
If you entered all the details and options for your button, go to “Copying and Pasting the
PayPal Shopping Cart HTML Code” on page 97.
– or –
To display your own image that you host on your website:
– Click the Use your own button image link.
An additional radio button and text box appear.
– In the Button Image URL text box, enter the URL of your button image.
If your image is hosted securely, change the entry to begin with https//.
N O T E : You
need to create only one View Cart button for the PayPal Shopping Cart. Place
copies of the generated HTML code for the View Cart button wherever you want
shoppers to click to view their shopping cart and begin the checkout process.
3. Customize your payment pages.
Use these settings to give shoppers a visually seamless payment experience by customizing
the PayPal payment pages to match the visual style of your website.
– Primary Page Style (display only): The payment pages that your shoppers see are
displayed with the page style that is specified here, unless you select a different custom
payment page style below.
– Custom Payment Page Style (optional): If you already added Custom Payment Page
Styles in your account profile, they are listed here. Choose the page style you would like
to appear when shoppers check out and pay from the PayPal Shopping Cart.
To learn more about creating page styles, see “Branding the PayPal Payment Pages” on
page 25.
– Preview: Click the Preview button to see a mock-up of the payment page style that
shoppers see.
– Successful Payment URL: (optional) Enter the URL for the page on your website that
you want shoppers redirected to after they complete their payments.
If Auto Return is off, the button uses the Successful Payment URL that you specify
here.
If Auto Return is on, this field contains the Return URL that you specified when you
turned Auto Return on. Click the Edit button to change the Return URL and the
Successful Payment URL that this button uses.
For more information, see “Auto Return” on page 38.
– Payment Data Transfer: Click the Edit button to turn PDT on or off for all your
payment buttons.
For more information about PDT, see the Order Management Integration Guide.
– Cancel Payment URL: (optional) Enter the URL for the page on your website that you
want shoppers redirected to if they cancel their payments at any point in the PayPal
Shopping Cart payment page sequence.
If you do not enter a cancel payment URL, shoppers who cancel their payments are
taken to a PayPal webpage.
– Select the Yes radio button if you want shoppers to enter notes to you when they make
their payments. If you leave the No radio button selected, shoppers cannot include notes.
– Note Title: If you selected the Yes radio button, change the default value for the field
label to prompt shoppers for specific information, such as their customer IDs or special
handling instructions. Enter no more than 30 characters.
7. Select an email address to receive payment.
(optional) In the Email Address dropdown menu, select the email address through which
you want to receive payments when people click the payment button that you are creating.
The dropdown menu selects your primary email address by default.
You can add up to eight email addresses to your PayPal account. Multiple email addresses
are useful to track payments accepted for different business purposes. All payments are
deposited to your PayPal account balance, regardless of which email address receives a
particular payment. Only confirmed email addresses can be used to receive payments.
8. If you want to change any of the details that you entered on the previous page, click the
Edit button and follow the instructions for “Creating PayPal Shopping Cart Buttons” on
page 90, beginning with Step 4.
– or –
If you have entered all the details and options for your button, go to “Copying and Pasting
the PayPal Shopping Cart HTML Code” on page 97.
To copy and past the HTML code for the View Cart button:
1. Scroll down the Add a shopping cart to your site page to the View Cart Button section.
2. Select everything in the “View Cart” button code text box, by:
– clicking the text with your mouse.
– or –
– clicking the Select All bottom that appears below the text box.
3. Copy the text that you selected to the clipboard, by:
– pressing Ctrl+C.
– or –
– right-clicking your mouse, and selecting Copy.
4. Open the webpage where you want the View Cart button to be seen.
5. Paste the text that you copied from the clipboard onto your webpage where you want the
button to appear, by:
– pressing Ctrl+V.
– or –
– right-clicking your mouse, and selecting Paste.
Creating More Add to Cart Buttons
After you copy and paste the PayPal Shopping Cart code, you can create another Add to Cart
button for a different item. Scroll to the bottom of the Add a shopping cart to your site page
and click the Create Another Button button. Then follow the instructions for “Creating
PayPal Shopping Cart Buttons” on page 90, beginning with Step 4. The pages of the button
creation tool retain the options that you specified previously.
IMPO RTANT: Merchants with significant payment volume are required by the PayPal user
agreement to take precautions on securing Website Payment Standard
buttons.
Use the following HTML code as a starting point for writing your own HTML code for Add to
Cart buttons. The value for the business variable must match a confirmed email address on
file with your PayPal account. You can change the values for other variables, with the
exception of cmd and add.
EXAMPLE 4.1 HTML for PayPal Shopping Cart “Add to Cart” Button
<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr"
method="post">
<input type="hidden" name="business" value="[email protected]">
<!-- Provide the shopper with a dropdown menu option field. -->
<table>
<tr>
<td>
<input type="hidden" name="on0" value="Size">Size
</td>
<td>
<select name="os0">
<option value="Select a Size">Select a Size
<option value="Small">Small
<option value="Medium">Medium
<option value="Large">Large
</select>
</td>
</tr>
</table>
Paste the code onto your webpage below an image or a text description of the item.
EXAMPLE 4.2 HTML for PayPal Shopping Cart “View Cart” Button
Paste the code onto the pages or your website wherever you want shoppers to click to view the
contents of their PayPal Shopping Carts and begin the checkout process.
In this example integration, the third party shopping cart is programmed by the vendor to
display the contents of the cart each time Bob clicks an Add to Cart button. In addition, Bob
can click the View Cart link at any time to review the items already in the cart and to begin the
PayPal payment page sequence.
After selecting the items he wants to buy and specifying their quantities, Bob clicks the
Proceed to Checkout button.
Bob’s browser is redirected to the PayPal website. Shoppers with PayPal accounts can enter
their PayPal account credentials and click the Log In button to access information already on
file with PayPal, such as shipping addresses.
FIGURE 4.8 Third Party Shopping Cart: PayPal Payment Login Page
Bob does not have a PayPal account, so he enters his payment and billing information on the
payment login page and clicks the Review Payment button. Bob is taken to a review page that
shows the details of his payment.
FIGURE 4.9 Third Party Shopping Cart: PayPal Payment Review Page
DesignerFotos has set up Shipping Calculations in the account profile, so PayPal calculates
shipping costs automatically and adds them to the order.
Bob clicks the Pay $505.00 Now! button to complete the payment.
In response, the browser takes Bob to a payment confirmation page. DesignerFotos has Auto
Return turned off in the account profile, so the page displays a button to return to the
DesignerFotos website.
Bob can:
z Click the Return to DesignerFotos button to return to the merchant website.
z Click the View Printable Receipt link to view and print a PayPal payment receipt.
z Click the Create Account button to sign up for a PayPal account.
Bob does not have a PayPal account yet, and he chooses to open one by entering his email
address, a password, and clicking the Create Account button. The payment and shipping
information he used for the transaction is added to his PayPal account automatically.
N O T E : DesignerFotos
(the user [email protected]) can also see the payment in the
PayPal account history.
Name Description
amount_1 Price of a single item or the total price of all items in the
shopping cart
item_name_1 Name of the item or a name for the entire shopping cart
There are two ways to integrate your third party shopping cart with PayPal and Website
Payments Standard:
z Pass the details of the individual items.
z Pass the aggregate amount of the total cart payment, rather than the individual item details.
quantity_2; the third item with variables like item_name_3, amount_3, and
quantity_3; and so on.
IMPO RTANT: The _x values must increment by one continuously in order to be recognized.
If you skip from item #1 to item #3 without defining an item #2, the third
item will be ignored.
The minimum required HTML for your post to PayPal looks similar to the following.
Use Donation buttons to collect contribution payments. Donation buttons can collect pre-
determined amounts or amounts entered by donors.
You can make Donation buttons in two ways:
z Create the HTML code by using a tool on the PayPal website.
Follow the procedures in “Creating Donation Buttons” on page 119.
z Write the HTML code yourself using HTML authoring tools of your choice.
Use the example in “Sample HTML Code for a Donation Button” on page 126 and the
reference information in Appendix A, “HTML Variables for Website Payments Standard”
as guides.
Unlike Mary, donors who do not have PayPal accounts click the continue link to complete
their contribution payments. Clicking the link leads to a page where they can make their
payments and sign up for their new PayPal accounts at the same time.
FIGURE 5.3 Non-Members Pay and Sign Up for New Accounts at the Same Time
FIGURE 5.4 Donors Review Contribution Details Before Submitting Their Payments
IMPO RTANT: PayPal recommends that you always turn PDT on when you turn Auto
Return on. With Auto Return on, PayPal redirects people to your website
from an alternative PayPal payment confirmation page that does not
display a View Printable Receipt link, so people cannot print PayPal
contribution receipts.
Email
You receive email notification when:
z a successful payment is made.
z a payment is pending.
z a payment is canceled.
If you want to stop receiving email notification:
1. Click the Profile subtab of the My Account tab.
2. Under Account Information, click the Notifications link.
3. Under Payment Notifications, clear the I receive PayPal Website Payments and Instant
Purchase checkbox.
4. Click the Save button.
Transaction History
You transaction history is available from the History page. It provides information about your
payments and other account activity. The status of a payment can be:
z Completed: The transaction was successful and the money was credited to your account.
z Cleared: The payment cleared the sender’s account and was credited to your account.
z Uncleared: The payment has not cleared the sender’s account.
To learn how to work with your transaction history, see the Order Management Integration
Guide.
– Donation name/service: Enter the reason for the donation or the name of your
organization. If you do not enter anything in this field, your donors can complete this
field.
– Donation ID/number: (optional) Enter a value to help identify different kinds of
contribution payments. For example, you might enter the name of your current fund-
raising campaign. The value that you enter is displayed to donors at the time of payment,
and it is displayed in the transaction details that both contribution coordinators and
donors can view on the PayPal website.
– Amount: (optional) Enter a fixed contribution amount. If you leave the field blank,
donors enter their own contribution amount after they click the Donation button.
– Currency: From the dropdown menu, select the currency in which you specified the
fixed contribution amount or in which you want the amounts that donors enter to be
denominated. The dropdown menu automatically selects the currency of your primary
balance.
– Buyer’s default country: From the dropdown menu, select a country for the PayPal log-
in or sign-up page that donors see when they click the button. The content on the page
will be appropriate for the country you select. Donors can change the country that you
select, after the log-in or sign-up page appears.
5. Choose a button style for your Donation button.
If you are going to be receiving payments from your website instead of by using an email
payment link, select the radio button next to the image that you want to use. The image you
select is hosted by PayPal.
– Select the Yes radio button to encrypt the generated code for the payment button.
– or –
– Select the No radio button to leave the generated code for the payment button and the
email payment link as clear text.
PayPal highly recommends that you use button encryption to protect the HTML code of
your payment button. Encryption protects payment details from fraudulent alteration by
third parties, thus increasing the security of the payments you accept. However, consider
the limitations that encryption imposes:
– Encrypted HTML code cannot be edited.
Select the No radio button if you want to edit the HTML code for your button after the
code is generated.
– Encrypted HTML code cannot be used for email payment links.
Select the No radio button if you want to create an email payment link instead of or in
addition to your button.
If you select the No radio button for any reason, use an alternative strategy described in
Chapter 8, “Securing Your Website Payments Standard Buttons” to secure the payments
you receive from the payment button or the email payment link.
IMPO RTANT: Merchants with significant payment volume are required by the PayPal
user agreement to take precautions on securing Website Payment Standard
buttons.
7. If you have additional details to specify for your button, such as custom payment pages,
click the Add More Options button and follow the instructions for “Adding More Details
to the Donation Button” on page 121.
– or –
If you entered all the details and options for your button, go to “Copying and Pasting the
Donation Code” on page 124.
– Preview: Click the Preview button to see a mock-up of the payment page style that
donors see when they click your Donation button.
2. Customize your donor’s experience.
Use these settings to give donors a payment experience that is easy to navigate.
– Successful Payment URL: (optional) Enter the URL for the page on your website that
you want donors redirected to after they complete their payments.
If Auto Return is off, the button uses the Successful Payment URL that you specify
here.
If Auto Return is on, this field contains the Return URL that you specified when you
turned Auto Return on. Click the Edit button to change the Return URL and the
Successful Payment URL that this button uses.
For more information, see “Auto Return” on page 38.
– Payment Data Transfer: Click the Edit button to turn PDT on or off for all your
payment buttons.
For more information about PDT, see the Order Management Integration Guide.
– Cancel Payment URL: (optional) Enter the URL for the page on your website that you
want donors redirected to if they cancel their payments at any point in the donation
payment page sequence.
If you do not enter a cancel payment URL, donors who cancel their payments are taken
to a PayPal webpage.
– Select the Yes radio button if you want donors to enter notes to you when they make their
payments. If you leave the No radio button selected, donors cannot include notes.
– Note Title: If you selected the Yes radio button, change the default value for the field
label to prompt donors for specific information, such as In memory of. Enter no more
than 30 characters.
5. Choose an email address to receive payment.
(optional) In the Email Address dropdown menu, select the email address through which
you want to receive payments when people click the payment button that you are creating.
The dropdown menu selects your primary email address by default.
You can add up to eight email addresses to your PayPal account. Multiple email addresses
are useful to track payments accepted for different contribution purposes. All payments are
deposited to your PayPal account balance, regardless of which email address receives a
particular payment. Only confirmed email addresses can be used to receive payments.
6. If you want to change any of the details that you entered on the previous page, click the
Edit button and follow the instructions for “Creating Donation Buttons” on page 119,
beginning with Step 4.
– or –
If you have entered all the details and options for your button, go to “Copying and Pasting
the Donation Code” on page 124.
N O T E : Youcannot use Encrypted Website Payments (EWP) to encrypt the code for email
payment links. Secure the payments you receive from email payment links by using an
alternative method that does not involve encryption, as described in Chapter 8,
“Securing Your Website Payments Standard Buttons.”
To copy and paste the code for the Donation email payment link:
1. Select everything in the Link for Emails text box, by:
– clicking the text with your mouse.
– or –
– clicking the Select All bottom that appears below the text box.
2. Copy the text that you selected to the clipboard, by:
– pressing Ctrl+C.
– or –
– right-clicking your mouse, and selecting Copy.
3. Open the email that you want to send.
4. Paste the text that you copied from the clipboard into your email, by:
– pressing Ctrl+V.
– or –
– right-clicking your mouse, and selecting Paste.
Creating More Donation Buttons
After you copy and paste the Donation code, you can create another Donation button for a
different item. Scroll to the bottom of the Add a Donation button to your website page and
click the Create Another Button button. Then follow the instructions for “Creating Donation
Buttons” on page 119, beginning with Step 4. The pages of the button creation tool retain the
options that you previously specified.
IMPO RTANT: Organizations with significant payment volume are required by the PayPal
user agreement to take precautions on securing Website Payment Standard
buttons.
Use the following HTML code as a starting point for writing your own HTML code for
Donation buttons. The value for the business variable must match a confirmed email
address on file with your PayPal account. You can change the values for other variables, with
the exception of cmd.
Paste the code onto your website wherever you want donors to click and make a contribution
in amounts that donors choose.
PayPal Authorization & Capture is a settlement solution that provides merchants increased
flexibility in obtaining payments from their buyers. During a traditional sale at PayPal, the
authorization and capture action is completed simultaneously. PayPal Authorization &
Capture separates the authorization of payment from the capture of the authorized payment.
Authorization & Capture is for merchants who have a delayed order fulfillment process and
who typically make a $1 USD authorization at checkout. It enables merchants to modify the
original authorization amount due to order changes occurring after the initial order is placed
(such as taxes, shipping, or item availability). This chapter discusses the authorization and
capture process and provides steps to help you authorize, capture, reauthorize, and void funds.
There are two ways to use Authorization & Capture:
1. Create an order or authorization with Website Payments Standard HTML and capture or
void the authorization on the PayPal website (https://www.paypal.com/).
2. Use the Authorization & Capture Application Programming Interface (API), which is not
discussed in this book. For more information about the Authorization & Capture API, see
the Website Payments Pro Integration Guide.
After a successful authorization (or reauthorization), PayPal will honor authorized funds for
three days, but PayPal cannot ensure that 100% of the funds will be available. A day is defined
as the start of the calendar day on which the authorization or reauthorization was made (from
12AM PST to 11:50PM PST).
You can settle without a reauthorization from day 4 to day 29 of the authorization period, but
PayPal cannot ensure that 100% of the funds will be available after the three-day honor period.
However, PayPal will not allow you to capture funds if the buyer’s account is restricted,
locked, or a fraudulent case occurs, or if your account has a high restriction level. You can use
Authorization & Capture only when your account has a low restriction level.
The honor period and authorization period for authorizations are described below:
If you attempt to capture funds outside the honor period, PayPal applies best efforts to capture
funds. However, there is a possibility that funds will not be available at that time.
The accounts of buyers and merchants cannot be closed if there is a pending (unsettled)
authorization.
Supported PayPal Payment Products
You can use Authorization & Capture with the PayPal products listed in Table 6.1 , “PayPal
Products Supporting Authorization & Capture.”
By default, these products assume that a transaction is a final sale. You must explicitly specify
that a transaction is a basic or order authorization.
N O T E : Youmust capture and void orders and order authorizations using the Authorization &
Capture APIs. That is, you cannot process order authorizations on the PayPal website
(https://www.paypal.com). The PayPal website supports processing only basic
authorizations, not order authorizations.
Donations paymentaction=”authorization”
3. On the displayed page, click the Batch Capture link that is located in the introductory
paragraph.
4. On the displayed page, either use the dropdown menu to choose a defined date or date
range, or enter a specific date range in the provided fields.
5. On the displayed page, check the authorizations you want to capture, set their capture
amount, choose whether you will make an additional capture later, and optionally enter a
note to the buyer.
6. Review the capture transactions, make any desired changes, and submit them for
processing.
Voiding an Authorization
If you initiated an authorization and now want to refund the buyer, you need to void the
authorization. Once you void an authorization, you cannot capture any funds associated with
the authorization, and the funds are returned to the buyer.
N O T E : Voiding an authorization cancels the entire open amount.
You can initiate a void in the following cases:
z The authorization is pending
z The authorized amount was captured at less than 100%
To void an authorization:
1. Click the Void button associated with the authorization.
2. Confirm the void details on the Void Authorization page, and then click the Void button.
N O T E : PayPal
recommends that you explain any unique circumstance to your buyer in the
Note field.
PayPal sends the buyer an email with the details of the voided authorization.
8. Your buyer files a complaint that the textbook from the first shipment is damaged. You
issue a partial refund for the first capture.
Your Transaction Details shows the following:
Capture Up to 115%
1. Your buyer places an order from your website.
2. Your buyer enters payment information and authorizes payment.
3. Send your buyer to PayPal using a hosted flow, specifying the variable
paymentaction=authorization.
4. PayPal initiates the authorization.
5. You add shipping charges to the order and capture funds on day 1.
Your Transaction Details shows the completed transaction. The capture results in a total not
greater than 115% of the original authorization.
Authorization Expires
1. Your buyer orders a desktop computer from your website.
2. Your buyer enters payment information and authorizes payment.
3. Send your buyer to PayPal using a hosted flow, specifying the variable
paymentaction=authorization.
4. PayPal initiates the authorization.
5. Before you process the transaction, your buyer contacts you to cancel the order.
6. You do not capture funds for the transaction.
7. The authorization expires.
Your Transaction Details shows the authorization with an Expired status.
Void
1. Your buyer orders a stereo system from your website.
2. Your buyer enters payment information and authorizes payment.
3. Send your buyer to PayPal using a hosted flow, specifying the variable
paymentaction=authorization.
4. PayPal initiates the authorization.
5. Before you process the transaction, your buyer contacts you to cancel the order.
6. You void the transaction.
Your History shows the transaction with a Voided status.
Reattempted Capture
1. Your buyer orders two sweatshirts from your website.
2. Your buyer enters payment information and authorizes payment.
3. Send your buyer to PayPal using a hosted flow, specifying the variable
paymentaction=authorization.
4. PayPal initiates the authorization.
5. On day 3, you attempt to capture funds, but the capture fails. You receive an error message
similar to the following:
We are sorry, we cannot process the settlement at this time.
There was a restriction on the buyer’s account.
6. You contact the buyer to resolve the problem.
7. Your buyer resolves the account problem.
8. You reattempt and successfully capture funds. You ship the order to your buyer.
N O T E : The reauthorization scenario is similar to the Reattempted Capture scenario, as detailed
above.
IMPO RTANT: If you want to update any details of the purchase that change the original
authorization amount, PayPal requires that you obtain consent from the buyer
at the time of purchase or at the time of capture.
When you issue a refund, the gross amount of the refund is sent to the buyer. The gross amount
equals the net amount of the original transaction plus the refunded fee from PayPal.
Gross Amount = Net Amount + Refund Fee
Because non-encrypted buttons are in clear text in the source view of your webpages, the
button code can be viewed by anyone. A malicious user could copy a page, change button
variables such as price, and make a fraudulent payment.
IMPO RTANT: Merchants with significant payment volume are required by the PayPal user
agreement to take precautions on securing Website Payment Standard
buttons.
PayPal provides the following strategies for securing Website Payments Standard buttons. Use
one or more of the following security strategies to prevent and/or detect tampering with your
buttons:
Creating an Encrypted Button on the Create an encrypted button by using a button creation tool
PayPal Website on the PayPal website.
Best if you sell just a few items and don’t need to change
pricing often. This is also the easiest way to secure your
buttons.
Verifying Each Payment Manually Manually check the price of each payment in your PayPal
account before shipping.
Good if you accept donations or you sell items individually
with prices thad do not change. You can review transaction
history on the PayPal website, or you can download a
transaction report from the PayPal website.
You are required to reconcile your payments, especially if
you have non-encrypted buttons.
Verifying Payments with Instant With Instant Payment Notification (IPN), PayPal posts a
Payment Notification (IPN) message to your server when someone pays you.
You are required to reconcile your payments, especially if
you have non-encrypted buttons. With IPN, you can
automate the reconciliation process or perform it manually.
Encrypting Buttons Dynamically Using a script and open-source libraries from OpenSSL,
With Encrypted Website Payments encrypt your buttons dynamically when rendering your
(EWP) webpages.
Good if you have previously built a custom payment
solution by using Buy Now or Donation buttons, or you are
using Add to Cart buttons with the PayPal Shopping Cart.
You must be comfortable programming in scripts like PHP
and ASP to use EWP.
Blocking Non-encrypted Website To add extra security to your encrypted buttons, update your
Payments PayPal account to block non-encrypted payments.
For detailed instructions on using the History subtab, see the Order Management Integration
Guide.
key, such as when the key expires and who the key belongs to. PayPal accepts public
certificates in OpenSSL PEM format from any established certificate authority, such as
VeriSign.
You can also generate your own private key and public certificate using open source software
such as OpenSSL (http://www.openssl.org), which is detailed in the following section.
Creating Your Private Key Using OpenSSL
Using the openssl program, enter the following command to generate your private key. The
command generates a 1024-bit RSA private key that is stored in the file my-prvkey.pem:
openssl genrsa -out my-prvkey.pem 1024
7. Store the certificate ID that PayPal assigned to your public certificate in a secure place.
You need the certificate ID that PayPal assigned to encrypt your payment buttons by using
the Encrypted Website Payments program provided by PayPal.
Downloading the PayPal Public Certificate
To download the PayPal public certificate:
1. Log in to your Business or Premier PayPal account.
2. Click the Profile subtab.
3. In the Seller Preferences column, click the Encrypted Payment Settings link.
4. Scroll down the page to the PayPal Public Certificate section.
5. Click the Download button, and save the file in a secure location on your local computer.
Removing Your Public Certificate
IMPO RTANT: If you remove your public certificate, its associated certificate ID is no longer
valid for encrypting buttons, and any buttons made by your website that use
the ID will not function correctly.
To remove one or more of your public certificates:
1. Log in to your Business or Premier account.
2. Click the Profile subtab.
3. In the Seller Preferences column, click the Encrypted Payment Settings link.
4. Scroll down the page to the Your Public Certificates section.
5. Select the radio button next to the certificate you want to remove, and click the Remove
button.
The Remove Certificate page appears.
6. Click the Remove button to confirm the removal of the public certificate that you selected.
2. Run the encryption program. with the appropriate syntax shown in Table 8.2 , “Command
Line Syntax for PayPal Encrypted Website Payments Software.”
3. Copy the encrypted code to your website.
TABLE 8.2 Command Line Syntax for PayPal Encrypted Website Payments Software
where:
Argument Description
[Sandbox] The optional word Sandbox to test EWP code in the PayPal Sandbox
IMPO RTANT: IPN notifications coming from the Sandbox cannot be verified against the
live PayPal website, and IPN notifications coming from the live PayPal
website cannot be verified against the Sandbox.
z Payment Data Transfer (PDT): Test your identity token, return URL, and PDT settings.
For more information about implementing PDT, see the Order Management Integration
Guide.
z Simulated transactions: Test scenarios, such as successful and failed eChecks.
To test in the Sandbox, you must first create a Developer Central account. With this account,
you can create multiple PayPal test accounts for buyers and merchants to simulate different
scenarios.
For complete details about using Developer Central and the Sandbox, see the Sandbox User
Guide.
This chapter describes in technical terms the basic functionality of Website Payments Standard
and its use of HTML Forms. Use the information in this chapter as a guide to writing the
HTML code yourself for Website Payments Standard payment buttons. A wide variety of
HTML authoring tools exist. This guide does not describe all the possibilities.
People who pay you through Website Payments Standard interact with HTML forms and
hidden HTML input variables that you place on your website. When someone clicks a
payment button in an HTML form on a webpage, the form submits the variables and their
values to PayPal. You set the values of the variables to produce the desired effect, such as
invoking the Buy Now, the PayPal Shopping Cart, or the Donation payment page sequences
and various other PayPal features.
N O T E : The
PayPal website offers tools that let you create the HTML code for Buy Now,
PayPal Shopping Cart, and Donation buttons. For more information, see Chapter 3,
“Single-Item Payment: Buy Now Buttons”, Chapter 4, “Multiple-Item Payment:
Shopping Carts”, and Chapter 5, “Contribution Payment: Donation Buttons”.
IMPO RTANT: Do not change these values.These attributes are required for all Buy Now
buttons, shopping cart buttons, and Donation buttons.
_cart For shopping cart buttons; use these additional variables to specify the specific
shopping cart action of the button:
z add="1" for Add to Cart buttons used with the PayPal Shopping Cart
z display="1" for View Cart buttons used with the PayPal Shopping Cart
z upload="1" for third party shopping carts that upload to PayPal
IMPO RTANT: These INPUT tags are required exactly as shown above. Do not alter them.
To set the return URL for a transaction, include the return variable in the HTML FORM:
<INPUT TYPE="hidden" NAME="return" value="URLspecificToThisTransaction">
Prepopulating FORMs
With Account Optional turned on in your account profile, you can accept payments from
people without a PayPal account. However, checking out with PayPal is often faster than
forcing people to re-enter information that is stored on PayPal. For repeat customers, it is to
your advantage to get people to sign up for their own PayPal accounts.
During a payment transaction, you can prepopulate a FORM by including HTML input
variables specifically for this purpose. A complete description of these variables is found in
“HTML Variables for Prepopulating PayPal Payment Pages” on page 171.
For a detailed description of how prepopulated forms and other settings affect the PayPal
billing and shipping addresses, see Appendix B, “Address Handling (U.S. Merchants Only).”
1. A payment or a refund triggers IPN. This payment can be via Website Payments Standard
FORMs or via the PayPal Web Services APIs for Express Checkout, MassPay, or
RefundTransaction. If the payment has a “Pending” status, you receive another IPN when
the payment clears, fails, or is denied.
2. PayPal posts HTML FORM variables to a program at a URL you specify. You can specify
this URL either in your account profile or with the notify_url variable on each
transaction. This post is the heart of IPN. Included in the notification is the payment
information, such as the payer’s name and the amount paid. All possible variables in IPN
posts are detailed in the Order Management Integration Guide.When your server receives a
notification, it must process the incoming data.
3. Your server must then validate the notification to ensure that it is legitimate. For details, see
the Order Management Integration Guide.
This appendix provides reference information for all HTML variables supported for use with
Buy Now, Add to Cart, View Cart, and Donation buttons, as well as HTML variables
supported for use by third party shopping carts and custom carts that integrate PayPal by using
Website Payments Standard.
Variables are grouped by:
z “Technical HTML Variables” on page 161
z “HTML Variables for Individual Items” on page 162
z “HTML Variables for Payment Transactions” on page 164
z “HTML Variables for Shopping Carts” on page 166
z “HTML Variables for Displaying PayPal Payment Pages” on page 169
z “HTML Variables for Prepopulating PayPal Payment Pages” on page 171
_xclick The button that the person clicked was a Buy Now button.
_cart The button that the person clicked was an Add to Cart button or a
View Cart button for the PayPal Shopping Cart, or the command was
sent by a third party shopping cart or a custom cart uploading the
cart contents to PayPal.
_oe-gift-certificate The button that the person clicked was a Gift Certificate button.
_donations The button that the person clicked was a Donation button.
_s-xclick The button that the person clicked is protected from tampering by
using encryption.
Required or Character
Name Description Optional Length
notify_url The URL to which PayPal posts information about the Optional 255
transaction.
Required
or Character
Name Description Optional Length
amount The price or amount of the product, service, or contribution, not See
including shipping, handling, or tax. If omitted from Buy Now or description
Donation buttons, payers enter their own amount at the time of .
payment.
z Optional for Buy Now or Donation buttons
z Required for Add to Cart buttons
item_name Description of item. If omitted in Buy Now or Donation buttons, See 127
payers enter their own name at the time of payment. description
z Optional for Buy Now or Donation buttons .
z Required for Add to Cart buttons
item_number Pass-through variable for you to track product or service Optional 127
purchased or the contribution made. The value you specify
passed back to you upon payment completion.
quantity Number of items. If profile-based shipping rates are configured Optional
with a basis of quantity, the sum of quantity values is used to
calculate the shipping charges for the transaction. PayPal
appends a sequence number to uniquely identify the item in the
PayPal Shopping Cart (e.g., quantity1, quantity2).
N O T E : The value for quantity must be a positive integer. Null,
zero, or negative numbers are not allowed.
undefined_ 1: allows buyers to specify the quantity. Optional 1
quantity z Optional for Buy Now buttons
z Not allowed for Add to Cart buttons
Required
or Character
Name Description Optional Length
weight Weight of items. If profile-based shipping rates are configured Optional
with a basis of weight, the sum of weight values is used to
calculate the shipping charges for the transaction.
weight_unit The unit of measure if weight is specified. Possible values are: Optional
z lbs
z kgs
Defaults to lbs.
on0 First option field name. If omitted, no variable is passed back to Optional 64
you. The os0 variable contains the corresponding value for the
label specified in this variable. For example, if on0 is size, os0
could be large.
on1 Second option field name. If omitted, no variable is passed back Optional 64
to you. The os1 variable contains the corresponding value for
the label specified in this variable. For example, if on1 is color
then os1 could be blue.
os0 Option selected by the buyer from the first set of option values. If Optional 64 or 200
this option is selected through a text box or radio button, each See
value should be no more than 64 characters. If buyers enter this description.
value in a text field, there is a 200-character limit. If omitted, no
variable is passed back to you.
N O T E : on0 must also be defined set. For example, it could be
size.
os1 Option selected by the buyer from the Second set of option Optional 64 or 200
values. If this option is selected through a text box or radio See
button, each value should be no more than 64 characters. If description.
buyers enter this value in a text field, there is a 200-character
limit. If omitted, no variable is passed back to you.
N O T E : on1 must also be set. For example, it could be color.
Required
or Character
Name Description Optional Length
address_ 1: The address specified in prepopulation variables overrides the Optional 1
override PayPal member’s stored address. See Table A.8, “HTML
Variables for Prepopulating Payment Pages With Payer
Information.” The payer is shown the passed-in address but
cannot edit it. No address is shown if the address is not valid,
such as missing required fields like country, or is not included at
all,.
currency_ The currency of the payment. Defines the currency in which the Optional 3
code monetary variables (amount, shipping, shipping2, handling, tax)
are denoted.
Default: all monetary fields are interpreted as U.S. Dollars.
custom Passthrough variable never presented to the payer. Optional 256
Default: no variable is passed back to you.
handling Handling charges. This is not quantity-specific. The same Optional
handling cost applies, regardless of the number of items on the
order.
Default: no handling charges are included.
invoice Passthrough variable you can use to identify your invoice Optional 127
number for this purchase.
Default: no variable is passed back to you.
Required
or Character
Name Description Optional Length
shipping The cost of shipping this item, if you enabled the override of Optional
automatic shipping calculations per transaction through your
Account Profile. If you specify shipping and shipping2 is
not defined, this flat amount is charged regardless of the quantity
of items purchased.
N O T E : If you use this variable, you do not need to set up
shipping rates in your Account Profile. However,
shipping rates you set up in your Profile take priority over
values specified with this variable, unless you select the
Override shipping methods per transaction
checkboxes in the shipping methods you defined; the
checkboxes are deselected by default. For more
information, see “Overriding Shipping Calculations
on Individual Transactions” on page 56.
Default: if profile-based shipping rates are configured, buyers are
charged an amount according to the shipping methods they
choose.
shipping2 The cost of shipping each additional item. If omitted and profile- Optional
based shipping rates are configured, buyers are charged an
amount according to the shipping methods they choose.
tax Transaction-based tax override variable. Set this to a flat tax Optional
amount to apply to the transaction regardless of the buyer’s
location. This value overrides any tax settings set in your account
profile. Default: Profile tax settings (if any) apply.
tax_cart Cart-wide tax, overriding any individual item tax_x value Optional
weight_cart If profile-based shipping rates are configured with a basis of Optional
weight, this value is used to calculate the shipping charges for the
transaction. This value overrides the weight values of
individual items.
weight_unit The unit of measure if weight_cart is specified. Possible Optional
values are:
z lbs
z kgs
Defaults to lbs.
Required
or
Name Optional Description Allowable Values
add See Add an item to the PayPal Shopping Cart. 1
description This variable must be set as follows:
add=1
The alternative is the display=1 variable, which
displays the contents of the PayPal Shopping Cart
to the buyer.
If both add and display are specified, display
takes precedence.
amount Required Price of the item or the total price of all items in the Any valid currency
shopping cart. amount
business Required An email address associated with your PayPal Your email address
account.
display See Display the contents of the PayPal Shopping Cart 1
description. to the buyer. This variable must be set as follows:
display=1
The alternative is the add=1 variable, which adds
an item to the PayPal Shopping Cart.
If both add and display are specified, display
takes precedence.
handling_ Optional Single handling fee to be charged cart-wide. If Any valid currency
cart handling_cart is used in multiple Add to Cart amount
buttons, the handling_cart value of the first
item is used.
item_name Required Name of the item or a name for the entire Shopping
Cart
Required
or
Name Optional Description Allowable Values
paymentaction Optional Indicates whether the transaction is payment on a sale
final sale or an authorization for a final sale, to be authorization
captured later using the PayPal Authorization & order
Capture API. The default value is sale. Set the
value to authorization to set up the
authorization for a single capture. Set the value to
order to set up the authorization for multiple
captures.
For more information, see the Website Payments
Pro Integration Guide.
I M P O R T A N T : If you set paymentaction to
authorization or order, you
must capture payment with the
Authorization & Capture API. You
cannot capture payments with the
merchant tools on PayPal.
upload See Upload the contents of a third party shopping cart 1
description or a custom shopping cart.
This variable must be set as follows:
upload=1
The alternatives are the add=1 variable and the
display=1 variable, which are used with the
PayPal Shopping Cart.
TABLE A.6 HTML Variables for Individual Items in Third Party Shopping Carts
Required
or Character
Name Optional Description Length
amount_x Required Price of item #x. This is only required if you specify
upload=1.
handling_x Optional The cost of handling for item #x.
item_name_x Required Name of item #x in the cart. Must be alphanumeric. 127
item_number_x Optional Passthrough variable for you to track order or other 127
purchase.
Default: no variable is passed back to you.
on0_x Optional First option field name for item #x 64
on1_x Optional Second option field name for item #x. 64
TABLE A.6 HTML Variables for Individual Items in Third Party Shopping Carts
Required
or Character
Name Optional Description Length
os0_x Optional First set of option value(s) for item #x. Requires that on0_x 200
also be set.
os1_x Optional Second set of option value(s) for item #x. Requires that 200
on1_x also be set.
quantity_x Optional Quantity of the item #x. If profile-based shipping rates are
configured with quantity as the basis, the sum of all
quantity_x values are used to calculate the shipping
charges.
N O T E : The value of quantity_x must be a positive
integer. Null, zero, or negative numbers are not
allowed.
shipping_x Optional The cost of shipping #x. This variable excludes the item
from automatic shipping calculations; the amount is added
to the shipping charges calculated automatically on other
items in the cart.
tax_x Optional The tax amount for item #x. This variable excludes the item
from automatic tax calculations; the amount is added to the
taxes calculated automatically on other items in the cart.
weight_x Optional The weight of item #x.
weight_unit Optional The unit of measure if weight_x is specified. Possible
values are:
z lbs
z kgs
Defaults to lbs.
Required
or Character
Name Description Optional Length
cancel_ A URL to which the payer’s browser is redirected if payment is Optional 1,024
return cancelled; for example, a URL on your website that displays a
“Payment Canceled” page.
Default: Browser is redirected to a PayPal web page.
cbt Sets the text for the Continue button on the PayPal Payment Optional 60
Complete page.
N O T E : The return variable must also be set.
cn Label above the note field. This value is not saved and does not Optional 40
appear in any of your notifications. If omitted, no variable is
passed back to you.
cpp_header_ Sets the image at the top left of the payment page. The image’s Optional No limit
image maximum size is 750 pixels wide by 90 pixels high. PayPal
recommends that you provide an image that is stored only on a
secure (https) server. For more information, see “Branding the
PayPal Payment Pages” on page 25.
cpp_ Sets the background color for the header of the payment page. Optional
headerback_ Valid value is case-insensitive six-character HTML hexadecimal
color color code in ASCII.
cpp_ Sets the border color around the header of the payment page. The Optional
headerborder_ border is a 2-pixel perimeter around the header space, which has
color a maximum size of 750 pixels wide by 90 pixels high.
Valid value is case-insensitive six-character HTML hexadecimal
color code in ASCII.
cpp_payflow_ Sets the background color for the payment page below the Optional
color header. Valid value is case-insensitive six-character HTML
hexadecimal color code in ASCII.
N O T E : Background colors that conflict with PayPal’s error
messages are not allowed; in these cases, the default color
is white.
cs Sets the background color of your payment pages. Optional
Default or 0 = background color is white.
1 = background color is black.
Required
or Character
Name Description Optional Length
image_url The URL of the 150x50-pixel image displayed as your logo in Optional 1,024
the upper left corner of PayPal’s pages.
Default: your business name (if you have a business account) or
your email address (if you have premier account).
no_note Prompt payer to include a note with payment. Allowed values Optional 1
are:
z 0: (default) payer is prompted to include a note
z 1: payer is not prompted to include a note
no_shipping Prompt buyer for shipping address. Allowed values are: Optional 1
z 0: (default) buyer is prompted to include a shipping address.
z 1: buyer is not asked for a shipping address
z 2: buyer must provide a shipping address
page_style Sets the Custom Payment Page Style for payment pages Optional 30
associated with this button/link. Allowed values are:
z somePageStyleName: the name of a page style you have
defined
z primary: always use the page style set in the account profile
as primary.
z paypal: use the PayPal page style.
TABLE A.8 HTML Variables for Prepopulating Payment Pages With Payer Information
Character
Variable Description Requirements Limit
address1 Street (1 of 2 fields) Alphanumeric 100
address2 Street (2 of 2 fields) Alphanumeric 100
city City Alphanumeric 40
country Sets shipping and billing country. See Alphabetic 2
Appendix C for allowable country codes.
first_name First name Alphabetic 32
last_name Last name Alphabetic 64
lc Defines the payer’s language for the Login Alphabetic 2
page only.
Allowable values: any two-character
country code listed in Appendix C,
“Country Codes.”
Any other value will default to US.
night_ The area code for U.S. phone numbers, or Numeric
phone_a the country code for phone numbers
outside the U.S. This will prepopulate the
payer’s home phone number.
night_ The three-digit prefix for U.S. phone Numeric
phone_b numbers, or the entire phone number for
phone numbers outside the U.S.,
excluding country code. This will
prepopulate the payer’s home phone
number.
night_ The four-digit phone number for U.S. Numeric 4
phone_c phone numbers. This will prepopulate the
payer’s home phone number.
state State Must be two-character official 2
U.S. abbreviation.
zip Postal code Numeric 32
Various HTML variables and PayPal account settings determine whether buyers can change,
add, or override the billing and shipping addresses on PayPal payment pages.
TABLE B.1 HTML Variables and Account Profile Settings for Buyer Addresses
Variables or Settings
In the following diagram, the letters “A” through “E” represent endpoints for the influence that
HTML variables and account profile settings have on how PayPal payment pages let buyers
handle billing and shipping addresses.
FIGURE B.1 How HTML Variables and Profile Account Setting Affect Buyer Addresses
The following sections describe the endpoints are under different scenarios:
z Address Handling in the Website Payments Standard Basic Page Sequence
z Address Handling in the PayPal Account Optional Page Sequence
Endpoint A
If the prepopulated address is a confirmed address, the Shipping Address on the Review
Your Payment page displays the prepopulated address. The buyer cannot change the shipping
address.
If the prepopulated address is not confirmed, PayPal displays the Add Credit Card or Debit
Card page with the prepopulated address as the billing address. The page displays a message
that the address must match the one displayed on their statement. The Cancel button is
displayed if the merchant has provided a cancel_return URL.
Endpoints B, C, and D
The Shipping Address on the Review Your Payment page displays the prepopulated address.
The buyer cannot change the shipping address.
If the prepopulated address is invalid, the payment cannot be processed. PayPal displays an
error message.
Endpoint E
If the prepopulated address is a confirmed address, the Shipping Address on the Review
Your Payment page displays the prepopulated address. The buyer can select or add another
address. If the buyer selects Add New Address, PayPal displays the Add Credit Card or
Debit Card page.
If the prepopulated address is not a confirmed address or there is no confirmed address in the
profile, PayPal displays the Add Credit Card or Debit Card page with the address
prepopulated.
Endpoints F and H
The Shipping Address on the Review Your Payment page displays the prepopulated address.
The buyer can select or add another address.
If the prepopulated address is invalid, the address is dropped and the address in the profile is
displayed, if available. The buyer can select or add another address directly in the page.
Endpoints G and K
The Review Your Payment page does not contain a Shipping Address.
Endpoint I
If there is a confirmed address in the account, PayPal displays the Review Your Payment
page. The buyer can select another confirmed address or add another address. If the buyer
selects Add New Address, they are taken to the Add Credit Card or Debit Card page.
If there is not a confirmed address in the account, PayPal displays the Add Credit Card or
Debit Card page.
Endpoints J and L
The Shipping Address on the Review Your Payment page displays the buyer’s primary
address. The buyer can select another address or add another address directly in the page.
Endpoint A
The billing page displays the prepopulated address. If the buyer modifies the address and
attempts to submit the page, PayPal returns an error that the address cannot be modified. The
Shipping Address on the Review Your Payment page displays this address. The buyer
cannot change the shipping address.
If the prepopulated address is bad, PayPal displays an error page indicating the buyer cannot
proceed with payment because the merchant provided an invalid address.
Endpoints B, C, and D
The billing page displays the prepopulated address. The buyer can modify the billing address.
The Shipping Address on the Review Your Payment page displays this address. The buyer
cannot change the shipping address.
If the prepopulated address is bad, PayPal prepopulates the billing page and the buyer can
modify it. There is no Shipping Address on the Review Your Payment page.
Endpoint E
The billing page displays the prepopulated address. The buyer can modify the billing address.
The Shipping Address on the Review Your Payment page displays the address from the
billing page. The buyer cannot change the shipping address. The shipping address always
matches the billing address, so modifications to the billing address updates the shipping
address.
If the prepopulated address is invalid, the billing page displays the address and the buyer can
modify it.
Endpoints F and H
The billing page displays the prepopulated address. The buyer can modify the billing address.
The Shipping Address on the Review Your Payment page displays the address from the
billing page. The buyer can change the shipping address.
If the prepopulated address is invalid, the billing page displays the address and the buyer can
modify it.
Endpoint G
The billing page displays the prepopulated address. The buyer can modify the billing address.
There is no Shipping Address on the Review Your Payment page.
Endpoint I
The Shipping Address on the Review Your Payment page displays the address from the
billing page. The buyer cannot change the shipping address. The shipping address should
always match the billing address, so if the user modifies the billing information and address,
the shipping address will be updated as well.
Endpoints J and L
The Shipping Address on the Review Your Payment page displays the address from the
billing page. The buyer can change the shipping address.
Endpoint K
There is no Shipping Address on the Review Your Payment page.
Country Code
AFGHANISTAN AF
ÅLAND ISLANDS AX
ALBANIA AL
ALGERIA DZ
AMERICAN SAMOA AS
ANDORRA AD
ANGOLA AO
ANGUILLA AI
ANTARCTICA AQ
ANTIGUA AND BAR- AG
BUDA
ARGENTINA AR
ARMENIA AM
ARUBA AW
AUSTRALIA AU
AUSTRIA AT
AZERBAIJAN AZ
BAHAMAS BS
BAHRAIN BH
BANGLADESH BD
BARBADOS BB
Country Code
BELARUS BY
BELGIUM BE
BELIZE BZ
BENIN BJ
BERMUDA BM
BHUTAN BT
BOLIVIA BO
BOSNIA AND HERZE- BA
GOVINA
BOTSWANA BW
BOUVET ISLAND BV
BRAZIL BR
BRITISH INDIAN IO
OCEAN TERRITORY
BRUNEI DARUSSALAM BN
BULGARIA BG
BURKINA FASO BF
BURUNDI BI
CAMBODIA KH
CAMEROON CM
CANADA CA
CAPE VERDE CV
CAYMAN ISLANDS KY
CENTRAL AFRICAN CF
REPUBLIC
CHAD TD
CHILE CL
CHINA CN
Country Code
CHRISTMAS ISLAND CX
COCOS (KEELING) CC
ISLANDS
COLOMBIA CO
COMOROS KM
CONGO CG
CONGO, THE DEMO- CD
CRATIC REPUBLIC OF
THE
COOK ISLANDS CK
COSTA RICA CR
COTE D'IVOIRE CI
CROATIA HR
CUBA CU
CYPRUS CY
CZECH REPUBLIC CZ
DENMARK DK
DJIBOUTI DJ
DOMINICA DM
DOMINICAN REPUBLIC DO
ECUADOR EC
EGYPT EG
EL SALVADOR SV
EQUATORIAL GUINEA GQ
ERITREA ER
ESTONIA EE
ETHIOPIA ET
Country Code
FALKLAND ISLANDS FK
(MALVINAS)
FAROE ISLANDS FO
FIJI FJ
FINLAND FI
FRANCE FR
FRENCH GUIANA GF
FRENCH POLYNESIA PF
FRENCH SOUTHERN TF
TERRITORIES
GABON GA
GAMBIA GM
GEORGIA GE
GERMANY DE
GHANA GH
GIBRALTAR GI
GREECE GR
GREENLAND GL
GRENADA GD
GUADELOUPE GP
GUAM GU
GUATEMALA GT
GUERNSEY GG
GUINEA GN
GUINEA-BISSAU GW
GUYANA GY
HAITI HT
Country Code
Country Code
KYRGYZSTAN KG
LAO PEOPLE'S DEMO- LA
CRATIC REPUBLIC
LATVIA LV
LEBANON LB
LESOTHO LS
LIBERIA LR
LIBYAN ARAB JAMA- LY
HIRIYA
LIECHTENSTEIN LI
LITHUANIA LT
LUXEMBOURG LU
MACAO MO
MACEDONIA, THE MK
FORMER YUGOSLAV
REPUBLIC OF
MADAGASCAR MG
MALAWI MW
MALAYSIA MY
MALDIVES MV
MALI ML
MALTA MT
MARSHALL ISLANDS MH
MARTINIQUE MQ
MAURITANIA MR
MAURITIUS MU
MAYOTTE YT
MEXICO MX
Country Code
MICRONESIA, FEDER- FM
ATED STATES OF
MOLDOVA, REPUBLIC MD
OF
MONACO MC
MONGOLIA MN
MONTSERRAT MS
MOROCCO MA
MOZAMBIQUE MZ
MYANMAR MM
NAMIBIA NA
NAURU NR
NEPAL NP
NETHERLANDS NL
NETHERLANDS ANTI- AN
LLES
NEW CALEDONIA NC
NEW ZEALAND NZ
NICARAGUA NI
NIGER NE
NIGERIA NG
NIUE NU
NORFOLK ISLAND NF
NORTHERN MARIANA MP
ISLANDS
NORWAY NO
OMAN OM
PAKISTAN PK
Country Code
PALAU PW
PALESTINIAN TERRI- PS
TORY, OCCUPIED
PANAMA PA
PAPUA NEW GUINEA PG
PARAGUAY PY
PERU PE
PHILIPPINES PH
PITCAIRN PN
POLAND PL
PORTUGAL PT
PUERTO RICO PR
QATAR QA
REUNION RE
ROMANIA RO
RUSSIAN FEDERATION RU
RWANDA RW
SAINT HELENA SH
SAINT KITTS AND KN
NEVIS
SAINT LUCIA LC
SAINT PIERRE AND PM
MIQUELON
SAINT VINCENT AND VC
THE GRENADINES
SAMOA WS
SAN MARINO SM
Country Code
Country Code
TAIWAN, PROVINCE OF TW
CHINA
TAJIKISTAN TJ
TANZANIA, UNITED TZ
REPUBLIC OF
THAILAND TH
TIMOR-LESTE TL
TOGO TG
TOKELAU TK
TONGA TO
TRINIDAD AND TT
TOBAGO
TUNISIA TN
TURKEY TR
TURKMENISTAN TM
TURKS AND CAICOS TC
ISLANDS
TUVALU TV
UGANDA UG
UKRAINE UA
UNITED ARAB EMIR- AE
ATES
UNITED KINGDOM GB
UNITED STATES US
UNITED STATES MINOR UM
OUTLYING ISLANDS
URUGUAY UY
UZBEKISTAN UZ
VANUATU VU
Country Code
VENEZUELA VE
VIET NAM VN
VIRGIN ISLANDS, BRIT- VG
ISH
VIRGIN ISLANDS, U.S. VI
WALLIS AND FUTUNA WF
WESTERN SAHARA EH
YEMEN YE
ZAMBIA ZM
ZIMBABWE ZW
downloadable history log 20, 119 item_name 84, 99, 156, 162, 166
item_name_1 108, 110
item_name_x 167
E item_number 84, 99, 126, 155, 156, 162
eChecks 64 item_number_x 155, 167
email notification 19, 118
disabling 20, 118
encoding 66
J
Encrypted Website Payments 82, 125, 145 jpg 28
EWP. See “Encrypted Website Payments.”
example
HTML for BUY Now 83, 126 L
HTML for individual items in shopping cart 109 language encoding 66
HTML for overriding PayPal-stored shipping last_name 156, 158, 171
address 157 lc 171
shopping cart with aggregated item information 110
M
F
METHOD 170
Financial Information 23
first_name 156, 158, 171
FORM ACTION and METHOD definitions 153 N
funding sources 16, 114 night_phone_a 157, 171
night_phone_b 157, 171
G night_phone_c 157, 171
no_note 170
gif 28 no_shipping 170
notify_url 162
H
handling 164 O
handling_cart 56, 60, 166 on0 84, 100, 163
handling_x 109, 167 on0_x 167
Honor Period 129 on1 163
HTML on1_x 167
for aggregated shopping cart 110 OpenSSL 147
for Buy Now button 83, 126 order 129
shopping cart with individual items 109 Order Management Integration Guide 21
os0 84, 100, 163
os0_x 168
I
os1 163
image_url 170 os1_x 168
INPUT tag 154 overriding
Instant Payment Notification 19, 20, 21, 118, 119, 145 page styles 29
Sandbox testing 151 PayPal-stored shipping address 157, 164
invoice 155, 164 return URL on individual transactions 40, 155
IPN. See “Instant Payment Notification.”
U
undefined_quantity 84, 154, 162
upload 87, 108, 167
example of aggregate cart 110
example of individual item detail 109
UTF-8 155
V
variables
display information 169
for shopping carts 166
general format of 153
hidden 153
individual items in shopping carts 167
item information 162
prepopulating PayPal FORMs 171
transaction information 164
VAT 42
verified members, defined 64
View Cart buttons
button creation tool 90
W
webscr 99, 101, 109, 110, 153, 156, 157
weight_cart 110
weight_unit 109, 110
weight_x 109, 110
X
X.509 146
Z
zip 157, 158, 171