SetExpressCheckout API Operation (NVP)

The SetExpressCheckout API operation initiates an Express Checkout transaction.

SetExpressCheckout Request Message

SetExpressCheckout Request Fields

Field Description
METHOD

(Required) Must be SetExpressCheckout.

PAYMENTREQUEST_n_AMT

(Required) Total cost of the transaction to the buyer. If shipping cost and tax charges are known, include them in this value. If not, this value should be the current sub-total of the order. If the transaction includes one or more one-time purchases, this field must be equal to the sum of the purchases. Set this field to 0 if the transaction does not include a one-time purchase such as when you set up a billing agreement for a recurring payment that is not immediately charged. When the field is set to 0, purchase-specific fields are ignored.

You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports only single payments (set n to 0).

Character length and limitations:

MAXAMT

(Optional) The expected maximum total amount of the complete order, including shipping cost and tax charges. If the transaction includes one or more one-time purchases, this field is ignored.

For recurring payments, you should pass the expected average transaction amount (default 25.00). PayPal uses this value to validate the buyer's funding source.

Character length and limitations:

Note This field is required when implementing the Instant Update API callback. PayPal recommends that the maximum total amount be slightly greater than the sum of the line-item order details, tax, and the shipping options of greatest value.

RETURNURL

(Required) URL to which the buyer's browser is returned after choosing to pay with PayPal. For digital goods, you must add JavaScript to this page to close the in-context experience.

Note PayPal recommends that the value be the final review page on which the buyer confirms the order and payment or billing agreement.

Character length and limitations: 2048 single-byte characters.

CANCELURL

(Required) URL to which the buyer is returned if the buyer does not approve the use of PayPal to pay you. For digital goods, you must add JavaScript to this page to close the in-context experience.

Note PayPal recommends that the value be the original page on which the buyer chose to pay with PayPal or establish a billing agreement.

Character length and limitations: 2048 single-byte characters.

CALLBACK

(Optional) URL to which the callback request from PayPal is sent. It must start with HTTPS for production integration. It can start with HTTPS or HTTP for sandbox testing.

Character length and limitations: 1024 single-byte characters.

This field is available since version 53.0.
CALLBACKTIMEOUT

(Optional) An override for you to request more or less time to be able to process the callback request and respond. The acceptable range for the override is 1 to 6 seconds. If you specify a value greater than 6, PayPal uses the default value of 3 seconds.

Character length and limitations: An integer between 1 and 6.

REQCONFIRMSHIPPING

Indicates whether or not you require the buyer's shipping address on file with PayPal be a confirmed address. For digital goods, this field is required, and you must set it to 0. It is one of the following values:

  • 0 – You do not require the buyer's shipping address be a confirmed address.
  • 1 – You require the buyer's shipping address be a confirmed address.

Note Setting this field overrides the setting you specified in your Merchant Account Profile.

Character length and limitations: 1 single-byte numeric character.

NOSHIPPING

Determines where or not PayPal displays shipping address fields on the PayPal pages. For digital goods, this field is required, and you must set it to 1. It is one of the following values:

  • 0 – PayPal displays the shipping address on the PayPal pages.
  • 1 – PayPal does not display shipping address fields whatsoever.
  • 2 – If you do not pass the shipping address, PayPal obtains it from the buyer's account profile.

Character length and limitations: 1 single-byte numeric characters.

ALLOWNOTE

(Optional) Enables the buyer to enter a note to the merchant on the PayPal page during checkout. The note is returned in the GetExpressCheckoutDetails response and the DoExpressCheckoutPayment response. It is one of the following values:

  • 0 – The buyer is unable to enter a note to the merchant.
  • 1 – The buyer is able to enter a note to the merchant.

Character length and limitations: 1 single-byte numeric character
This field is available since version 53.0.

ADDROVERRIDE

(Optional) Determines whether or not the PayPal pages should display the shipping address set by you in this SetExpressCheckout request, not the shipping address on file with PayPal for this buyer. Displaying the PayPal street address on file does not allow the buyer to edit that address. It is one of the following values:

  • 0 – The PayPal pages should not display the shipping address.
  • 1 – The PayPal pages should display the shipping address.

Character length and limitations: 1 single-byte numeric character.

CALLBACKVERSION

Version of the callback API. This field is required when implementing the Instant Update Callback API. It must be set to 61.0 or a later version.

This field is available since version 61.0.

LOCALECODE

(Optional) Locale of pages displayed by PayPal during Express Checkout. It is one of the following values supported by PayPal:

  • AU – Australia
  • AT – Austria
  • BE – Belgium
  • BR – Brazil
  • CA – Canada
  • CH – Switzerland
  • CN – China
  • DE – Germany
  • ES – Spain
  • GB – United Kingdom
  • FR – France
  • IT – Italy
  • NL – Netherlands
  • PL – Poland
  • PT – Portugal
  • RU – Russia
  • US – United States
  • The following 5-character codes are also supported for languages in specific countries:
    • da_DK – Danish (for Denmark only)
    • he_IL – Hebrew (all)
    • id_ID – Indonesian (for Indonesia only)
    • ja_JP – Japanese (for Japan only)
    • no_NO – Norwegian (for Norway only)
    • pt_BR – Brazilian Portuguese (for Portugal and Brazil only)
    • ru_RU – Russian (for Lithuania, Latvia, and Ukraine only)
    • sv_SE – Swedish (for Sweden only)
    • th_TH – Thai (for Thailand only)
    • tr_TR – Turkish (for Turkey only)
    • zh_CN – Simplified Chinese (for China only)
    • zh_HK – Traditional Chinese (for Hong Kong only)
    • zh_TW – Traditional Chinese (for Taiwan only)

Note If the locale code is not supplied or the supplied value is not one of the above-listed values, it is defaulted by PayPal. The default is determined using information about the current merchant, user, and other information for the session.

Character length and limitations: A 2-character country code or 5-character code as specified above.

PAGESTYLE

(Optional) Name of the Custom Payment Page Style for payment pages associated with this button or link. It corresponds to the HTML variable page_style for customizing payment pages. It is the same name as the Page Style Name you chose to add or edit the page style in your PayPal Account profile.

Note You can customize up to 3 different page styles in your PayPal account.

Character length and limitations: 30 single-byte alphabetic characters.

HDRIMG

(Optional) URL for the image you want to appear at the top left of the payment page. The image has a maximum size of 750 pixels wide by 90 pixels high. PayPal recommends that you provide an image that is stored on a secure (https) server. If you do not specify an image, the business name displays.

Character length and limitations: 127 single-byte alphanumeric characters.

PAYFLOWCOLOR

(Optional) Sets the background color for the payment page. By default, the color is white.

Character length and limitations: 6-character HTML hexadecimal ASCII color code.

CARTBORDERCOLOR

(Optional) The HTML hex code for your principal identifying color. PayPal blends your color to white in a gradient fill that borders the cart review area of the PayPal checkout user interface.

Character length and limitation: 6 single-byte hexadecimal characters that represent an HTML hex code for a color.

LOGOIMG

(Optional) A URL to your logo image. Use a valid graphics format, such as .gif, .jpg, or .png. Limit the image to 190 pixels wide by 60 pixels high. PayPal crops images that are larger. PayPal places your logo image at the top of the cart review area.

Note: PayPal recommends that you store the image on a secure (https) server. Otherwise, web browsers display a message that checkout pages contain non-secure items.

Character length and limit: 127 single-byte alphanumeric characters.

PAYMENTREQUEST_n_PAYMENTACTION

How you want to obtain payment. When implementing parallel payments, this field is required and must be set to Order. When implementing digital goods, this field is required and must be set to Sale. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only. If the transaction does not include a one-time purchase, this field is ignored. It is one of the following values:

  • Sale – This is a final sale for which you are requesting payment (default).
  • Authorization – This payment is a basic authorization subject to settlement with PayPal Authorization and Capture.
  • Order – This payment is an order authorization subject to settlement with PayPal Authorization and Capture.

Note You cannot set this field to Sale in SetExpressCheckout request and then change the value to Authorization or Order in the DoExpressCheckoutPayment request. If you set the field to Authorization or Order in SetExpressCheckout, you may set the field to Sale.

Character length and limitations: Up to 13 single-byte alphabetic characters.

EMAIL

(Optional) Email address of the buyer as entered during checkout. PayPal uses this value to pre-fill the PayPal membership sign-up portion on the PayPal pages.

Character length and limitations: 127 single-byte alphanumeric characters.

SOLUTIONTYPE

(Optional) Type of checkout flow. It is one of the following values:

  • Sole – Buyer does not need to create a PayPal account to check out. This is referred to as PayPal Account Optional.
  • Mark – Buyer must have a PayPal account to check out.

Note You can pass Mark to selectively override the PayPal Account Optional setting if PayPal Account Optional is turned on in your merchant account. Passing Sole has no effect if PayPal Account Optional is turned off in your account.

LANDINGPAGE

(Optional) Type of PayPal page to display. It is one of the following values:

  • Billing – Non-PayPal account
  • Login – PayPal account login
CHANNELTYPE

(Optional) Type of channel. It is one of the following values:

  • Merchant – Non-auction seller
  • eBayItem – eBay auction

TOTALTYPE

(Optional) Type declaration for the label to be displayed in MiniCart for UX. It is one of the following values:

  • Total

  • EstimatedTotal

GIROPAYSUCCESSURL

(Optional) The URL on the merchant site to redirect to after a successful giropay payment.

Note Use this field only if you are using giropay or bank transfer payment methods in Germany.

GIROPAYCANCELURL

(Optional) The URL on the merchant site to redirect to after a successful giropay payment.

Note Use this field only if you are using giropay or bank transfer payment methods in Germany.

BANKTXNPENDINGURL

(Optional) The URL on the merchant site to transfer to after a bank transfer payment.

Note Use this field only if you are using giropay or bank transfer payment methods in Germany.

BRANDNAME

(Optional) A label that overrides the business name in the PayPal account on the PayPal hosted checkout pages.

Character length and limitations: 127 single-byte alphanumeric characters.

CUSTOMERSERVICENUMBER

(Optional) Merchant Customer Service number displayed on the PayPal pages.

Character length and limitations: 16 single-byte characters.

GIFTMESSAGEENABLE

(Optional) Enables the gift message widget on the PayPal pages. It is one of the following values:

  • 0 – Do not enable gift message widget.
  • 1 – Enable gift message widget.
GIFTRECEIPTENABLE

(Optional) Enable gift receipt widget on the PayPal pages. It is one of the following values:

  • 0 – Do not enable gift receipt widget.
  • 1 – Enable gift receipt widget.
GIFTWRAPENABLE

(Optional) Enable gift wrap widget on the PayPal pages. It is one of the following values:

  • 0 – Do not enable gift wrap widget.
  • 1 – Enable gift wrap widget.

Note If you pass the value 1 in this field, values for the gift wrap amount and gift wrap name are not passed, the gift wrap name is not displayed, and the gift wrap amount displays as 0.00.

GIFTWRAPNAME

(Optional) Label for the gift wrap option such as "Box with ribbon".

Character length and limitations: 25 single-byte characters.

GIFTWRAPAMOUNT

(Optional) Amount to be charged to the buyer for gift wrapping.

Character length and limitations:

BUYEREMAILOPTINENABLE

(Optional) Enables the buyer to provide their email address on the PayPal pages to be notified of promotions or special events. Is one of the following values:

  • 0 – Do not enable buyer to provide email address.
  • 1 – Enable the buyer to provide email address.
SURVEYQUESTION

(Optional) Text for the survey question on the PayPal pages. If the survey question is present, at least 2 survey answer options must be present.

Character length and limitations: 50 single-byte characters.

SURVEYENABLE

(Optional) Enables survey functionality. It is one of the following values:

  • 0 – Disables survey functionality.
  • 1 – Enables survey functionality.
L_SURVEYCHOICEn

(Optional) Possible options for the survey answers on the PayPal pages. Answers are displayed only if a valid survey question is present.

Character length and limitations: 15 single-byte characters.

PAYMENTREQUEST_n_PAYMENTREASON

Indicates the type of transaction. It is one of the following values:

  • None – Transaction is not identified as a particular type.
  • Refund – Identifies the transaction as a refund.

AddressType Fields

Field Description
PAYMENTREQUEST_n_SHIPTONAME

xs:string
Person's name associated with this shipping address. It is required if using a shipping address.

Character length and limitations: 32 single-byte characters.

PAYMENTREQUEST_n_SHIPTOSTREET First street address. It is required if using a shipping address.

Character length and limitations: 100 single-byte characters.

PAYMENTREQUEST_n_SHIPTOSTREET2

(Optional) Second street address.

Character length and limitations: 100 single-byte characters.

PAYMENTREQUEST_n_SHIPTOCITY

Name of city. It is required if using a shipping address.

Character length and limitations: 40 single-byte characters.

PAYMENTREQUEST_n_SHIPTOSTATE State or province.
It is required if the address is in one of the following countries: Argentina, Brazil, Canada, China, Indonesia, India, Japan, Mexico, Thailand or USA. PayPal accepts State codes for some countries.

Character length and limitations: 40 single-byte characters.

PAYMENTREQUEST_n_SHIPTOZIP U.S. ZIP code or other country-specific postal code. It is required if using a U.S. shipping address and may be required for other countries.

Character length and limitations: 20 single-byte characters.

PAYMENTREQUEST_n_SHIPTOCOUNTRYCODE

Country code. It is required if using a shipping address.

Character length and limitations: 2 single-byte characters.

PAYMENTREQUEST_n_SHIPTOPHONENUM

(Optional) Phone number.

Character length and limitations: 20 single-byte characters.

Payment Details Type Fields

When implementing parallel payments, you can create up to 10 sets of payment details type parameter fields, each representing one payment you are hosting on your marketplace.

Field Description

PAYMENTREQUEST_n_AMT

(Required) Total cost of the transaction to the buyer. If shipping cost and tax charges are known, include them in this value. If not, this value should be the current sub-total of the order. If the transaction includes one or more one-time purchases, this field must be equal to the sum of the purchases. Set this field to 0 if the transaction does not include a one-time purchase such as when you set up a billing agreement for a recurring payment that is not immediately charged. When the field is set to 0, purchase-specific fields are ignored. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only.

Character length and limitations:

PAYMENTREQUEST_n_CURRENCYCODE

(Optional) A 3-character currency code (default is USD). You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only.

Note When multiple payments are passed in one transaction, all of the payments must have the same currency code.

PAYMENTREQUEST_n_ITEMAMT

Sum of cost of all items in this order. For digital goods, this field is required. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only.

Note PAYMENTREQUEST_n_ITEMAMT is required if you specify L_PAYMENTREQUEST_n_AMTm.

Character length and limitations:

PAYMENTREQUEST_n_SHIPPINGAMT

(Optional) Total shipping costs for this order. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Note If you specify a value for PAYMENTREQUEST_n_SHIPPINGAMT, you must also specify a value for PAYMENTREQUEST_n_ITEMAMT.

Character length and limitations:

PAYMENTREQUEST_n_INSURANCEAMT

(Optional) Total shipping insurance costs for this order. The value must be a non-negative currency amount or null if insurance options are offered. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Character length and limitations:

PAYMENTREQUEST_n_SHIPDISCAMT

(Optional) Shipping discount for this order, specified as a negative number. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive. For example (PAYMENTREQUEST_0_SHIPDISCAMT, PAYMENTREQUEST_1_SHIPDISCAMT).

Character length and limitations:

PAYMENTREQUEST_n_INSURANCEOPTIONOFFERED

(Optional) Indicates whether insurance is available as an option the buyer can choose on the PayPal Review page. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive. Is one of the following values:

  • true – The Insurance option displays the string 'Yes' and the insurance amount. If true, the total shipping insurance for this order must be a positive number.
  • false – The Insurance option displays 'No.'

PAYMENTREQUEST_n_HANDLINGAMT

(Optional) Total handling costs for this order. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Note If you specify a value for PAYMENTREQUEST_n_HANDLINGAMT, you must also specify a value for PAYMENTREQUEST_n_ITEMAMT.

Character length and limitations:

PAYMENTREQUEST_n_TAXAMT

(Optional) Sum of tax for all items in this order. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only.

Note PAYMENTREQUEST_n_TAXAMT is required if you specify L_PAYMENTREQUEST_n_TAXAMTm

Character length and limitations:

PAYMENTREQUEST_n_DESC

(Optional) Description of items the buyer is purchasing. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only.

Note The value you specify is available only if the transaction includes a purchase. This field is ignored if you set up a billing agreement for a recurring payment that is not immediately charged.

Character length and limitations: 127 single-byte alphanumeric characters.

PAYMENTREQUEST_n_CUSTOM

(Optional) A free-form field for your own use. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Note The value you specify is available only if the transaction includes a purchase. This field is ignored if you set up a billing agreement for a recurring payment that is not immediately charged.

Character length and limitations: 256 single-byte alphanumeric characters.

PAYMENTREQUEST_n_INVNUM

(Optional) Your own invoice or tracking number.You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only.

Note PayPal recommends using this field to associate transactions with your internal tracking IDs or invoice numbers; populating the invoice ID field will help you pull transaction information at a later date using only your internal ID.

Important: The value you specify is available only if the transaction includes a purchase. This field is ignored if you set up a billing agreement for a recurring payment that is not immediately charged.

Character length and limitations: 256 single-byte alphanumeric characters.

PAYMENTREQUEST_n_NOTIFYURL

(Optional) Your URL for receiving Instant Payment Notification (IPN) about this transaction. If you do not specify this value in the request, the notification URL from your Merchant Profile is used, if one exists.You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only.

Important: The notify URL applies only to DoExpressCheckoutPayment. This value is ignored when set in SetExpressCheckout or GetExpressCheckoutDetails.

Character length and limitations: 2,048 single-byte alphanumeric characters.

PAYMENTREQUEST_n_MULTISHIPPING

(Optional) The value 1 indicates that this payment is associated with multiple shipping addresses.

Character length and limitations: Four single-byte numeric characters.

PAYMENTREQUEST_n_NOTETEXT

(Optional) Note to the merchant. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Character length and limitations: 255 single-byte characters.

PAYMENTREQUEST_n_TRANSACTIONID

(Optional) Transaction identification number of the transaction that was created. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Note This field is only returned after a successful transaction for DoExpressCheckout has occurred.

PAYMENTREQUEST_n_ALLOWEDPAYMENTMETHOD

(Optional) The payment method type. Specify the value InstantPaymentOnly. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

PAYMENTREQUEST_n_PAYMENTACTION

How you want to obtain payment. When implementing parallel payments, this field is required and must be set to Order. When implementing digital goods, this field is required and must be set to Sale. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive; except for digital goods, which supports single payments only. If the transaction does not include a one-time purchase, this field is ignored. It is one of the following values:

  • Sale – This is a final sale for which you are requesting payment (default).
  • Authorization – This payment is a basic authorization subject to settlement with PayPal Authorization and Capture.
  • Order – This payment is an order authorization subject to settlement with PayPal Authorization and Capture.

Note You cannot set this field to Sale in SetExpressCheckout request and then change the value to Authorization or Order in the DoExpressCheckoutPayment request. If you set the field to Authorization or Order in SetExpressCheckout, you may set the field to Sale.

Character length and limitations: Up to 13 single-byte alphabetic characters.

PAYMENTREQUEST_n_PAYMENTREQUESTID

A unique identifier of the specific payment request, which is required for parallel payments. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Character length and limitations: Up to 127 single-byte characters.

PAYMENTREQUEST_n_BUCKETCATEGORYTYPE (Optional) The category of a payment. It is one of the following values:
  • 1 - International shipping
  • 2 - Local delivery

Payment Details Item Type Fields

Field Description
L_PAYMENTREQUEST_n_NAMEm

Item name. This field is required when L_PAYMENTREQUEST_n_ITEMCATEGORYm is passed. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment; except for digital goods, which supports single payments only. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_NAME0, L_PAYMENTREQUEST_n_NAME1).

Character length and limitations: 127 single-byte characters.

L_PAYMENTREQUEST_n_DESCm

(Optional) Item description. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment; except for digital goods, which supports single payments only. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_DESC0, L_PAYMENTREQUEST_n_DESC1).

Character length and limitations: 127 single-byte characters.

L_PAYMENTREQUEST_n_AMTm

(Required) Cost of item. This field is required for the payment details to appear to the buyer at checkout. It is also required when L_PAYMENTREQUEST_n_ITEMCATEGORYm is passed.

You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment; except for digital goods, which supports single payments only. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_AMT0, L_PAYMENTREQUEST_n_AMT1).

Note If you specify a value for L_PAYMENTREQUEST_n_AMTm, you must specify a value for PAYMENTREQUEST_n_ITEMAMT.

Character length and limitations:

L_PAYMENTREQUEST_n_NUMBERm

(Optional) Item number. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_NUMBER0, L_PAYMENTREQUEST_n_NUMBER1).

Character length and limitations: 127 single-byte characters.

L_PAYMENTREQUEST_n_QTYm Item quantity. This field is required when L_PAYMENTREQUEST_n_ITEMCATEGORYm is passed. For digital goods (L_PAYMENTREQUEST_n_ITEMCATEGORYm=Digital), this field is required. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment; except for digital goods, which only supports single payments. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_QTY0, L_PAYMENTREQUEST_n_QTY1).

Character length and limitations: Any positive integer.

L_PAYMENTREQUEST_n_TAXAMTm

(Optional) Item sales tax. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment; except for digital goods, which only supports single payments. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_TAXAMT0, L_PAYMENTREQUEST_n_TAXAMT1).

Character length and limitations:

L_PAYMENTREQUEST_n_ITEMWEIGHTVALUEm, L_PAYMENTREQUEST_n_ITEMWEIGHTUNITm

(Optional) Item weight corresponds to the weight of the item. You can pass this data to the shipping carrier as is without having to make an additional database query. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment;. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_ITEMWEIGHTVALUE0, L_PAYMENTREQUEST_n_ITEMWEIGHTVALUE1).

Character length and limitations: Any positive integer.

L_PAYMENTREQUEST_n_ITEMLENGTHVALUEm, L_PAYMENTREQUEST_n_ITEMLENGTHUNITm

(Optional) Item length corresponds to the length of the item. You can pass this data to the shipping carrier as is without having to make an additional database query. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_ITEMLENGTHVALUE0, L_PAYMENTREQUEST_n_ITEMLENGTHVALUE1).

Character length and limitations: Any positive integer.

L_PAYMENTREQUEST_n_ITEMWIDTHVALUEm, L_PAYMENTREQUEST_n_ITEMWIDTHUNITm

(Optional) Item width corresponds to the width of the item. You can pass this data to the shipping carrier as is without having to make an additional database query. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_ITEMWIDTHVALUE0, L_PAYMENTREQUEST_n_ITEMWIDTHVALUE1).

Character length and limitations: Any positive integer.

L_PAYMENTREQUEST_n_ITEMHEIGHTVALUEm, L_PAYMENTREQUEST_n_ITEMHEIGHTUNITm

(Optional) Item height corresponds to the height of the item. You can pass this data to the shipping carrier as is without having to make an additional database query. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_ITEMHEIGHTVALUE0, L_PAYMENTREQUEST_n_ITEMHEIGHTVALUE1).

Character length and limitations: Any positive integer.

L_PAYMENTREQUEST_n_ITEMURLm

(Optional) URL for the item. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_ITEMURL0, L_PAYMENTREQUEST_n_ITEMURL1).

L_PAYMENTREQUEST_n_ITEMCATEGORYm Indicates whether an item is digital or physical. For digital goods, this field is required and must be set to Digital. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment; except for digital goods, which only supports single payments. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_ITEMCATEGORY0, L_PAYMENTREQUEST_n_ITEMCATEGORY1). It is one of the following values:
  • Digital
  • Physical

This field is available since version 65.1.

Seller Details Type Field

Field Description
PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID Unique identifier for the merchant. For parallel payments, this field is required and must contain the Payer Id or the email address of the merchant. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive.

Character length and limitations: 127 single-byte alphanumeric characters.

EbayItemPaymentDetailsItem Type Fields

Field Description
L_PAYMENTREQUEST_n_EBAYITEMNUMBERm

(Optional) Auction item number. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_EBAYITEMNUMBER0, L_PAYMENTREQUEST_n_EBAYITEMNUMBER1).

Character length: 765 single-byte characters.

L_PAYMENTREQUEST_n_EBAYITEMAUCTIONTXNIDm

(Optional) Auction transaction identification number. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_EBAYITEMAUCTIONTXNID0, L_PAYMENTREQUEST_n_EBAYITEMAUCTIONTXNID1).

Character length: 255 single-byte characters.

L_PAYMENTREQUEST_n_EBAYITEMORDERIDm

(Optional) Auction order identification number. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_EBAYITEMORDERID0, L_PAYMENTREQUEST_n_EBAYITEMORDERID1).

Character length: 64 single-byte characters.

L_PAYMENTREQUEST_n_EBAYCARTIDm

(Optional) The unique identifier provided by eBay for this order from the buyer. You can specify up to 10 payments, where n is a digit between 0 and 9, inclusive, and m specifies the list item within the payment. These parameters must be ordered sequentially beginning with 0 (for example L_PAYMENTREQUEST_n_EBAYITEMCARTID0, L_PAYMENTREQUEST_n_EBAYITEMCARTID1).

Character length: 255 single-byte characters.

Buyer Details Fields

Field Description
BUYERID

(Optional) The unique identifier provided by eBay for this buyer. The value may or may not be the same as the username. In the case of eBay, it is different.

Character length and limitations: 255 single-byte characters.

BUYERUSERNAME

xs:string

(Optional) The user name of the user at the marketplaces site.

BUYERREGISTRATIONDATE

xs:dateTime

(Optional) Date when the user registered with the marketplace.

Character length and limitations:

FundingSourceDetailsType Fields

Field Description
ALLOWPUSHFUNDING

(Optional) Indicates whether the merchant can accept push funding. It is one of the following values:

  • 0 – Merchant cannot accept push funding.
  • 1 – Merchant can accept push funding.

Note This field overrides the setting in the merchant's PayPal account.

USERSELECTEDFUNDINGSOURCE

(Optional) This element could be used to specify the preferred funding option for a guest user. However, the LANDINGPAGE element must also be set to Billing. Otherwise, it is ignored.

  • BML – Bill Me Later
  • ChinaUnionPay
  • CreditCard
  • ELV

Shipping Options Type Fields

Field Description
L_SHIPPINGOPTIONISDEFAULTn

Default shipping optio displayed on the PayPal pages. This field is required if you specify the Callback URL. It is one of the following values:

  • true – This is the default flat-rate shipping option. PayPal displays this option and its amount by default.
  • false – This flat-rate shipping option and its amount are not displayed as the default.

Note There must be ONE and ONLY ONE default. It is not OK to have no default.

L_SHIPPINGOPTIONNAMEn

Internal name of the shipping option such as Air, Ground, Expedited, and so forth. This field is required if you specify the Callback URL.

Character length and limitations: 50 character-string.

L_SHIPPINGOPTIONAMOUNTn

Amount of the flat rate shipping option. This field is required if you specify the Callback URL.

Character length and limitations:

Billing Agreement Details Type Fields

Field Description
L_BILLINGTYPEn

(Required) Type of billing agreement. For recurring payments, this field must be set to RecurringPayments. In this case, you can specify up to ten billing agreements. Other defined values are not valid.

Type of billing agreement for reference transactions. You must have permission from PayPal to use this field. This field must be set to one of the following values:

  • MerchantInitiatedBilling - PayPal creates a billing agreement for each transaction associated with buyer. You must specify version 54.0 or higher to use this option.
  • MerchantInitiatedBillingSingleAgreement - PayPal creates a single billing agreement for all transactions associated with buyer. Use this value unless you need per-transaction billing agreements. You must specify version 58.0 or higher to use this option.
L_BILLINGAGREEMENTDESCRIPTIONn Description of goods or services associated with the billing agreement. This field is required for each recurring payment billing agreement. PayPal recommends that the description contain a brief summary of the billing agreement terms and conditions. For example, buyer is billed at "9.99 per month for 2 years".

Character length and limitations: 127 single-byte alphanumeric characters.

L_PAYMENTTYPEn

(Optional) Type of PayPal payment you require for the billing agreement. It is one of the following values:

  • Any
  • InstantOnly

Note For recurring payments, this field is ignored.

L_BILLINGAGREEMENTCUSTOMn

(Optional) Custom annotation field for your own use.

Note For recurring payments, this field is ignored.

Character length and limitations: 256 single-byte alphanumeric bytes.

Tax Id Details Type Fields

Field Description
TAXIDTYPE

Buyer's tax ID type. This field is required for Brazil and used for Brazil only.

For Brazil use only: The tax ID type is BR_CPF for individuals and BR_CNPJ for businesses.

This field is introduced in API version 72.0.

TAXID

Buyer's tax ID. This field is required for Brazil and used for Brazil only.

For Brazil use only: The tax ID is 11 single-byte characters for individuals and 14 single-byte characters for businesses.

This field is introduced in API version 72.0.

SetExpressCheckout Response Message

SetExpressCheckout Response Fields

Field Description
TOKEN A timestamped token by which you identify to PayPal that you are processing this payment with Express Checkout. The token expires after three hours.

Character length and limitations: 20 single-byte characters.

Deprecated Fields

The following fields have been deprecated since version 63.0. Use the newer fields in the following tables instead.

Deprecated SetExpressCheckout Request Fields

Field Use this field instead
AMT PAYMENTREQUEST_n_AMT
HDRBORDERCOLOR (No replacement)

(Optional) Sets the border color around the header of the payment page. The border is a 2-pixel perimeter around the header space, which is 750 pixels wide by 90 pixels high. By default, the color is black.

Character length and limitations: 6-character HTML hexadecimal ASCII color code.
HDRBACKCOLOR (No replacement)

(Optional) Sets the background color for the header of the payment page. By default, the color is white.

Character length and limitations: 6-character HTML hexadecimal ASCII color code.
PAYMENTACTION PAYMENTREQUEST_n_PAYMENTACTION

Deprecated Address Type Fields

Field Use this field instead
SHIPTONAME PAYMENTREQUEST_n_SHIPTONAME
SHIPTOSTREET PAYMENTREQUEST_n_SHIPTOSTREET
SHIPTOSTREET2 PAYMENTREQUEST_n_SHIPTOSTREET2
SHIPTOCITY PAYMENTREQUEST_n_SHIPTOCITY
SHIPTOSTATE PAYMENTREQUEST_n_SHIPTOSTATE
SHIPTOZIP PAYMENTREQUEST_n_SHIPTOZIP
SHIPTOCOUNTRY PAYMENTREQUEST_n_SHIPTOCOUNTRYCODE
SHIPTOPHONENUM PAYMENTREQUEST_n_SHIPTOPHONENUM

Deprecated Payment Details Type Fields

Field Use this field instead
AMT PAYMENTREQUEST_n_AMT
CURRENCYCODE PAYMENTREQUEST_n_CURRENCYCODE
ITEMAMT PAYMENTREQUEST_n_ITEMAMT
SHIPPINGAMT PAYMENTREQUEST_n_SHIPPINGAMT
INSURANCEAMT PAYMENTREQUEST_n_INSURANCEAMT
SHIPPINGDISCAMT PAYMENTREQUEST_n_SHIPDISCAMT
INSURANCEOPTIONOFFERED PAYMENTREQUEST_n_INSURANCEOPTIONOFFERED
HANDLINGAMT PAYMENTREQUEST_n_HANDLINGAMT
TAXAMT PAYMENTREQUEST_n_TAXAMT
DESC PAYMENTREQUEST_n_DESC
CUSTOM PAYMENTREQUEST_n_CUSTOM
INVNUM PAYMENTREQUEST_n_INVNUM
NOTIFYURL PAYMENTREQUEST_n_NOTIFYURL
NOTETEXT PAYMENTREQUEST_n_NOTETEXT
TRANSACTIONID PAYMENTREQUEST_n_TRANSACTIONID
ALLOWEDPAYMENTMETHOD PAYMENTREQUEST_n_ALLOWEDPAYMENTMETHOD
PAYMENTACTION PAYMENTREQUEST_n_PAYMENTACTION
PAYMENTREQUESTID PAYMENTREQUEST_n_PAYMENTREQUESTID

Deprecated Payment Details Item Type Fields

Field Use this field instead
L_NAMEn L_PAYMENTREQUEST_n_NAMEm
L_DESCn L_PAYMENTREQUEST_n_DESCm
L_AMTn L_PAYMENTREQUEST_n_AMTm
L_NUMBERn L_PAYMENTREQUEST_n_NUMBERm
L_QTYn L_PAYMENTREQUEST_n_QTYm
L_TAXAMTn L_PAYMENTREQUEST_n_TAXAMTm
L_ITEMWEIGHTTVALUEn L_PAYMENTREQUEST_n_ITEMWEIGHTVALUEm
L_ITEMWEIGHTUNITn L_PAYMENTREQUEST_n_ITEMWEIGHTUNITm
L_ITEMLENGTHVALUEn L_PAYMENTREQUEST_n_ITEMLENGTHVALUEm
L_ITEMLENGTHUNITn L_PAYMENTREQUEST_n_ITEMLENGTHUNITm
L_ITEMWIDTHVALUEn L_PAYMENTREQUEST_n_ITEMWIDTHVALUEm
L_ITEMWIDTHUNITn L_PAYMENTREQUEST_n_ITEMWIDTHUNITm
L_ITEMHEIGHTVALUEn L_PAYMENTREQUEST_n_ITEMHEIGHTVALUEm
L_ITEMHEIGHTUNITn L_PAYMENTREQUEST_n_ITEMHEIGHTUNITm
L_ITEMURLn L_PAYMENTREQUEST_n_ITEMURLm

Deprecated EbayItemPaymentDetailsItemType Fields

Field Use this field instead
L_EBAYITEMNUMBERn L_PAYMENTREQUEST_n_EBAYITEMNUMBERm
L_EBAYAUCTIONTXNIDn L_PAYMENTREQUEST_n_EBAYAUCTIONTXNIDm
L_EBAYITEMORDERIDn L_PAYMENTREQUEST_n_EBAYITEMORDERIDm
L_EBAYITEMCARTIDn L_PAYMENTREQUEST_n_EBAYITEMCARTIDm