Notice of non-liability:
PayPal, Inc. is providing the information i n this document t o you “AS-IS” with all faults. PayPal, Inc. makes no warranties of any kind (whether express,
implied or statutory) with respect to the information co ntained 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 f rom 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.
HTML Variables for Filling Out PayPal Checkout Pages Automatically . . . . . . . . . . . 74
HTML Variables for the Instant Update API . . . . . . . . . . . . . . . . . . . . . . . . . 75
4April 2012
Preface
This document describes the Button Manager API for SOAP.
Intended Audience
This document is intended for merchants and developers implementing PayPal Payment
Standard (previously known as Website Payments Standard) buttons using an API.
Revision History
Revision history for Button Manager API (SOAP).
TABLE P.1 Revision History
DateDescription
04/03/12Updated references to Website Payments Standard and Website Payments Pro to
PayPal Payments Standard and PayPal Payments Pro, respectively.
02/13/12Maintenance release.
05/10/10Added information about installment plans, automatic billin g, and subscribe
buttons.
02/03/10Added error code.
01/11/10Added download key information and updated for version 61.0.
06/03/09Added HTML Variable appendi x and updated for version 57.0.
03/31/09Initial draft.
Button Manager SOAP APIApril 20125
Revision History
6April 2012Button Manager SOAP API
1
PayPal Payments Standard
Button Manager API Overview
The PayPal Payments Standard (previously known as Website Payments Standard) Button
Manager API lets you programatically create, manage, edit, and delete PayPal Payment
Standard buttons, which are the same kind of buttons that you can create from the PayPal
Profile. Hosted buttons created by this API reside on PayPal and can use all features, including
inventory management; however, you can use this API to create code for non-hosted S tandard
buttons as well.
Button Manager Introduction
Generated Button Code
Button Hosting
Hosted Button Manipulation
Inventory Management Using Hosted Buttons
Inventory Management for Digital Downloads
Button Manager API Summary
Hosted Solution Links
Granting Third-Party Permission for APIs
Button Manager Introduction
You should consider creating and managing your buttons with the Button Manager API when
you are creating more than just a few PayPal Payment Standard buttons or when you manage
buttons for others; for example, if you provide a shopping cart for merchants.
The Button Manager API enables you to manage PayPal Payment Standard buttons
programatically in the same way that you can manage them on PayPal from the My Saved
Buttons page of your Profile.
NOTE: You can access your My Saved Buttons page on PayPal by choosing My Saved
Buttons from the Profile’s My selling tools. If no buttons exist, the menu item is
Create New Button.
You can use the API to create these Website Payment Standard and Hosted Sole Solution
buttons:
Buy Now
Add to Cart and View Cart
Donate
Buy Gift Certificate
Button Manager SOAP APIApril 20127
PayPal Payments Standard Button Manager API Overview
1
Generated Button Code
Subscribe and Unsubscribe
Pay Now (Hosted Sole Solution only)
Installment Plan
Automatic Billing
The following buttons are some of those that you can create using the Button Manager API:
Generated Button Code
When you create a button, PayPal responds by generating code that you can paste into your
web page or document.
The generated code includes:
HTML code for including the button in web pages
URL link code for adding buttons to email and documents that support links
NOTE: Not all merchants in every country can use all the buttons that can be created. For
example, German merchants cannot use Subscribe buttons even though they can be
8April 2012Button Manager SOAP API
PayPal Payments Standard Button Manager API Overview
Generated Button Code
created through the API. If you can create the button for the specified country using
Create PayPal payment button on PayPal, your merchant will be able to use the button.
This example shows the PayPal code for displaying a hosted Add to Cart button to sell a
wireless mouse:
For a link, PayPal does not generate code for options.
Button Manager SOAP APIApril 20129
PayPal Payments Standard Button Manager API Overview
1
Button Hosting
Button Hosting
The Button Manager API can create four kinds of buttons: hosted, encrypted, clear text, and
token buttons. Buttons that you can view on the My Saved Buttons page of your PayPal profile
are called hosted buttons.
Hosted buttons are stored on PayPal. The parameters associated with this kind of button
are secure.
Hosted buttons provide the greatest flexibility because you can instruct PayPal to change
them dynamically, and PayPal maintains information about their state, such as the
inventory level associated with the button.
NOTE: You cannot use hosted buttons with Hosted Sole Solution; you should use token
buttons instead.
Encrypted buttons are not stored on PayPal. The parameters associated with this kind of
button are encrypted.
Encrypted buttons are similar to hosted buttons with regard to secure operation; however,
you must update the web pages that use an encrypted button each time the button or its
associated information changes. You should use an encrypted button only if a hosted button
cannot be used.
Clear text buttons are not stored on PayPal. The parameters associated with this kind of
button are not encrypted.
Clear text buttons are not hosted and are not encrypted. They can be used dynamically
because you can change the value of a parameter “on the fly.” However, if you use them,
recognize the risk that sensitive information can be altered or stolen.
Token buttons are not stored on PayPal. They are only used with Hosted Solution and the
parameters associated with this kind of button are secure.
Token buttons are dynamic and initiate the Hosted Solution checkout flow. They have a
lifetime of approximately 2 hours if not used.
Hosted Button Manipulation
When you create a hosted button, the response includes an ID that allows you to manipulate
the button using the Button Manager API. Do not confuse a hosted button with a button used
as part of Hosted Solution, which is a product that supports token, encrypted, and cleartext
buttons.
With hosted buttons, you can:
Get a list of all hosted buttons, which lets you identify buttons for further programmatic
manipulation
Get details about a hosted button, which lets you to identify the parameters and values
associated with a button
10April 2012Button Manager SOAP API
PayPal Payments Standard Button Manager API Overview
Inventory Management Using Hosted Buttons
Update a hosted button, which lets you to change individual parameters, such as price, in a
hosted button
Manage hosted button status; currently, you can only delete a button
Get and set inventory information associated with the button
Inventory Management Using Hosted Buttons
You can get or set the inventory level for the item associated with a hosted button. You can
also track inventory on options within an item, such as color or size.
If you enable inventory management for a button, PayPal tracks inventory for you and also lets
your buyer know if the item is sold out. You can specify inventory tracking on an item-by-item
basis, and also by option, such as color or size, within the item.
An e-mail alerts you if inventory falls below the threshold you specify. If an item is sold out,
you can specify whether or not to accept a payment anyway. Optionally, you can specify a
URL where your buyer’s browser is redirected if the item is sold out.
1
You can also enable profit and loss tracking for an item or option associated with a button. If
you enable this feature, you must provide the cost of the item or option. PayPal then calculates
your gross profit, which is the selling price of the item less the specified cost.
Inventory Management for Digital Downloads
If you use hosted buttons, you can chose to specify a list of download key s, which are keys
that you define and are associated with the item being sold. These keys are useful when you
want to sell digital goods with a key to enable access.
T o use this feature, you set the inventory for the button to include one or more download keys,
up to a maximum of 1,000 keys. These keys are then available when you get the inventory for
a button.
For example, when a customer orders software or music, you could obtain an unused key from
the list of download keys and email it to your customer so they can download the item. You are
responsible for choosing the appropriate key from the list and how it is used. PayPal only
stores the inventory of keys and does not track how a specific key is used, although PayPal
does provide options for making this process simpler.
When you specify the inventory for a button, you can specify the usage of download keys:
Whether the keys you specify should be appended to the current list of keys or whether the
list of keys should be replaced, which allows you to replen ish the list of keys or replace the
list entirely
Whether the list of keys are to be reused or not
If you do not reuse keys, PayPal will also notify you when the item is “sold out,” meaning that
there are no more keys available.
Button Manager SOAP APIApril 201211
PayPal Payments Standard Button Manager API Overview
1
Button Manager API Summary
Button Manager API Summary
The Button Manager API is available for both NVP and SOAP.
API OperationDescription
BMCreateButtonCreate button code
BMUpdateButtonUpdate a hosted button
BMManageButtonStatusDelete a button
BMGetButtonDetailsObtain information about the parameters associated with a button
BMButtonSearchObtain a list of all buttons
BMGetInventoryObtain the inventory levels associated with a button
BMSetInventorySpecify the inventory levels associated with a button
Hosted Solution Links
Hosted Solution links are URLs you create with the Button Manager API to initiate the Hosted
Solution checkout flow.
NOTE: Although you can use the Button Manager API to create buttons that initiate the
Hosted Solution checkout flow, do not confuse a button for Hosted Solution with
hosted buttons that you also create with the Button Manager API.
You create the Hosted Solution checkout link dynamically when your buyer attempts to check
out. For example, when your buyer clicks your check out button, you call the
BMCreateButton API operation to create the link and then redirect the buyer’s browser to
PayPal using the link. The buyer then pays on the PayPal Hosted Solution page. After making
the payment, PayPal returns the buyer to the page you specified when you created the link.
Granting Third-Party Permission for APIs
If you allow a shopping cart or another party to create buttons on your behalf, you must grant
the party permission to execute Button Manager API operations for you.
To grant third-party permissions
1. Log in to your PayPal account.
2. Select My Account Profile.
3. Click API Access from the Profile Summary.
4. Click Grant API Permission.
12April 2012Button Manager SOAP API
PayPal Payments Standard Button Manager API Overview
Granting Third-Party Permission for APIs
5. Click Configure a custom API authorization.
6. Enter your Partner API username, as specified by your shopping cart or third party.
7. Check each Button Manager API you want to provide access to:
8. Click Submit.
1
Button Manager SOAP APIApril 201213
PayPal Payments Standard Button Manager API Overview
1
Granting Third-Party Permission for APIs
14April 2012Button Manager SOAP API
Using the Button Manager API
2
With SO AP
These examples show basic Button Manager API capabilities. The examples show how to
create buttons and set inventory levels.
Specifying HTML Variables
Creating a Button Using SOAP
Tracking Inventory for a Button Using SOAP
Specifying HTML Variables
When you create or update a button using the Button Manager API, you must specify the same
HTML variables that you specify when creating any PayPal Payments Standard button.
Although you can use the ButtonVar field to specify any HTML variables, some variables
are commonly used in specific ways.
The following table provides additional information about some of these variables:
HTML VariableNotes
item_nameName or description of item. Must be specified for Add to Cart buttons.
Character length and limitations: 127 single-byte alphanumeric characters.
amountThe price or amount of the item. Required for Add to Cart buttons. May not
be used when a dropdown with price (L_OPTION0PRICE
Limitations: Value must be a positive number. No currency symbol. Must have
two decimal places, decimal separator must be a period (.), and the optional
thousands separator must be a comma (,).
a3Price of subscription. Must be specified for Subscribe buttons. Value must be
a positive number. No currency symbol. Must have two decimal places,
decimal separator must be a period (.), and the optional thousands separator
must be a comma (,).
p3Regular billing cycl e. Must be specified for Subscribe buttons. Limitations:
Must be a positive integer greater than 0 and less than or equal to 30
t3Regular billing cycle units. Must be specified for Subscribe buttons.
shopping_urlURL where recipients can shop and redeem gift certificates. Required for Gift
Certificate buttons. Character length and limitations: 255 single-byte
alphanumeric characters
n) is defined.
Button Manager SOAP APIApril 201215
Using the Button Manager API With SOAP
2
Creating a Button Using SOAP
HTML VariableNotes
no_noteMust be specified for Subscribe buttons. Enables a subscriber to not be
prompted to include a note with the subscription, a function which PayPal
subscriptions does not support. This variable must be included, and the value
must be set to 1.
businessSecure Merchant ID or Email Address. When omitted, defaults to the secure
merchant ID of the merchant. If an email address is specified then it the
following requirements apply:
A merchant or 3rd Party calling the API directly may specify an
unregistered email and create an unencrypted button only.
A 3rd Party calling the API on behalf of a registered merchant must specify
an email address associated with the merchant account.
Character length and limitations: 127 single-byte characters.
item_numberItem number or ID. Character length and limitations: 127 single-byte
alphanumeric characters.
lcIf specified, it overrides the value set in the ButtonCode field.
For a complete list of HTML variables and complete information, see HTML Variables for
PayPal Payments Standard.
Creating a Button Using SOAP
The example sets up a SOAP request message to create a button.
The Button Manager API enables you to programatically create, edit, and delete PayPal
Payments Standard buttons hosted on PayPal, and track product inventory associated with
these buttons. You can also create non-hosted buttons with the Button Manager API; however,
only hosted buttons support button maintenance and inventory management.
BMCreateButton API Operation
BMUpdateButton API Operation
BMButtonSearch API Operation
BMGetButtonDetails API Operation
BMManageButtonStatus API Operation
BMSetInventory API Operation
BMGetInventory API Operation
BMCreateButton API Operation
Use the BMCreateButton API operation to create a PayPal Payments Standard button. You
can create either a button that is hosted on PayPal or a non-hosted button.
The request fields specify the characteristics of your button, which include associated menu
items related to the button. You can specify up to 5 menu items, each of which can include up
to 10 possible selections.
Button Manager SOAP APIApril 201219
Button Manager API Reference
3
BMCreateButton API Operation
20April 2012Button Manager SOAP API
BMCreateButton Request Fields
FieldDescription
ButtonCodeebl:ButtonCodeType
(Optional) The kind of button code to create. It is one of the following values:
HO STED - A secure button stored on PayPal; default for all buttons except
View Cart, Unsubscribe, and Pay Now
EN CRYPTED - An encrypted button, not stored on PayPal; default for View
Cart button
CL EARTEXT - An unencrypted button, not stored on PayPal; default for
Unsubscribe button
TO KEN - A secure button, not stored on PayPal, used only to initiate the
Hosted Solution checkout flow; default for Pay Now button. Since version
65.1
ButtonTypeebl:ButtonTypeType
(Required) The kind of button you want to create. It is one of the following
values:
BU YNOW - Buy Now button
CA RT - Add to Cart button
GI FTCERTIFICATE - Gift Certificate button
SU BSCRIBE - Subscribe button
DO NATE - Donate button
UN SUBSCRIBE - Unsubscribe button
VI EWCART - View Cart button
PA YMENTPLAN - Installment Plan button; since version 63.0
AU TOBILLING - Automatic Billing button; since version 63.0
PA YMENT - Pay Now button; since version 65.1
NOTE: Do not specify BUYNOW if BUTTONCODE=TOKEN; specify PAYMENT
instead. Do not specify PAYMENT if BUTTONCODE=HOSTED.
Button Manager API Reference
BMCreateButton API Operation
3
ButtonSubTypeebl:ButtonSubTypeType
(Optional) The use of button you want to create. It is one of the following
values:
PR ODUCTS - button is used to purchase products; default for Buy Now and
(Optional) The price associated with the first menu item
NOTE: If you specify a price, you cannot set a button variable to amount.
OptionTypeebl:OptionTypeListType
(Optional) The installment option type for an OPTION
the following values:
FU LL - Payment in full
VA RIABLE - Variable installments
EM I - Equal installments
NOTE: Only available for Installment Plan buttons.
nNAME, which is one of
PaymentPeriodns:InstallmentDetailsType
(Optional) Information about an installment option
Installment Details
BillingPeriodebl:BillingPeriodType
(Optional) The installment cycle unit, which is one of the following values:
No BillingPeriodType - None (default)
Da y
We ek
Se miMonth
Mo nth
Ye ar
BillingFrequencyxs:int
(Optional) The installment cycle frequency in units, e.g. if the billing
frequency is 2 and the billing period is Month, the billing cycle is every 2
months. The default billing frequency is 1.
TotalBillingCyclesxs:int
(Optional) The total number of billing cycles, regardless of the duration of a
cycle; 1 is the default
Amountxs:string
(Optional) The base amount to bill for the cycle.
22April 2012Button Manager SOAP API
ShippingAmountxs:string
(Optional) The shipping amount to bill for the cycle, in addition to the base
amount.
TaxAmountxs:string
(Optional) The tax amount to bill for the cycle, in addition to the base amount.
Button Language Options
The button language must be compatible with the country identified by the country code.
CountryButton Language Options
Button Manager API Reference
BMCreateButton API Operation
3
All countries not identified below
Austria
Belgium
Canada
China (worldwide)
France
Germany
Hong Kong
Italy
Japan
en - English; default
de - German; default
en - English
en - English; default
nl - Dutch
fr - French
en - English; default
fr - French
en - English; default
zh - Chinese
fr - French; default
en - English
de - German; default
en - English
zh - Chinese; default
en - English
it - Italian; default
en - English
ja - Japanese; default
en - English
Mexico
Netherlands
Poland
Spain
es - Spanish; default
en - English
nl - Dutch; default
en - English
pl - Polish; default
en - English
es - Spanish; default
en - English
Button Manager SOAP APIApril 201223
Button Manager API Reference
3
BMCreateButton API Operation
CountryButton Language Options
Switzerland
United States
de - German; default
fr - French
en - English
en - English; default
fr - French
es - Spanish
zh - Chinese
BMCreateButton Response
The response contains an ID if the button is hosted on PayPal, and code for HTML in a
website and for a link in email.
BMCreateButton Response Fields
FieldDescription
Websitexs:string
HTML code for web pages
Emailxs:string
Code for email links, links in other documents that support external links, and
links to the Hosted Solution checkout flow
24April 2012Button Manager SOAP API
Loading...
+ 54 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.