Customizing Express Checkout

PayPal Review Page Order Details

When a buyer logs in to PayPal to check out, you can present the buyer with detailed information about each item being purchased. PayPal order details are available with API version 53.0 or later.

Note: The DoExpressCheckoutPayment request includes the same order details as SetExpressCheckout. PayPal recommends that you submit the same parameters in both API calls.

The following diagram shows all of the details that you can include:



(1) – Item name. The item name can identify this item to distinguish it from other line items in the order.

(2) – Item description. This field identifies which of several items the buyer is purchasing. For example, you may be offering an item in different sizes. Knowing the size helps the buyer decide whether the one they selected was appropriate. If the item is an eBay auction item, it is recommended that you provide the phrase "eBay item" in this field.

(3) – Item number. Each item can be further identified by an item number. If the item is an eBay auction item, it is recommended that you provide the eBay item number in this field.

(4) – Item unit price. This field specifies exactly how much one unit of the item costs. It can be a positive or negative value but not zero.

(5) – Item unit quantity. This field identifies the number of units the buyer is ordering.

PayPal calculates the value in the Amount (6) column as the product of line-item unit price and line-item unit quantity.

You can also show other detailed information about the order:

(7) – Item total and tax, which are the total of all items in the order and the tax, respectively.

(8) – Shipping and handling, which is the sum of the shipping and handling amounts.

Note: You must determine actual shipping and handling amounts.

(9) – Shipping discount. If the buyer is receiving a discount on shipping, the value appears as a credit in this field.

(10) – Insurance. This field shows the insurance fee when there is insurance on shipping.

(11) – Total. This is the total of the order, including shipping, handling, tax, and other price adjustment-related items.

Note: The Enter gift certificate, reward, or discount link enables the buyer to redeem certificates, rewards, or discounts that PayPal issues. The link does not enable the buyer to redeem incentives that you issue.

Special Instructions to Merchant

You can allow the buyer to send you special instructions about an order. This feature is especially helpful to buyers who want to customize merchandise. A buyer also might want to tell you to ship their order at a later date because they are out of the country.

Note: Users of this feature should be sure to read the instructions the buyer sends.

This feature appears as the link on the Review your information page. When the buyer clicks Add, a Note to seller text box opens in which the buyer can enter special instructions to the merchant and click Save. The instructions are returned in the responses to GetExpressCheckoutDetails and DoExpressCheckoutPayment.

Integrating Order Details into the Express Checkout Flow

To integrate order details into the checkout flow, pass any of the following Express Checkout parameters to SetExpressCheckout.

NVP Field

SOAP Field

Description and Comments

L_PAYMENTREQUEST_n_NAMEm Name Item name.
L_PAYMENTREQUEST_n_NUMBERm Number Item number.
L_PAYMENTREQUEST_n_DESCm Description Item description.

The DESC (NVP) and OrderDescription (SOAP) fields still exist for backwards compatibility. However, L_DESCn and Description enable you to provide a more precise description for each different item purchased, such as hiking boots or cooking utensils rather than one general purpose description such as camping supplies.

L_PAYMENTREQUEST_n_AMTm Amount Item unit price. PayPal calculates the product of the item unit price and item unit quantity (below) in the Amount column of the cart review area. The item unit price can be a positive or a negative value, but not 0. You may provide a negative value to reflect a discount on an order, for example.
L_PAYMENTREQUEST_n_QTYm Quantity Item unit quantity.
ITEMAMT ItemTotal Sum of costs of all items in this order.
TAXAMT TaxTotal Sum of tax for all items in this order.
SHIPPINGAMT ShippingTotal Total shipping cost for this order (8). PayPal calculates the sum of the shipping cost and the handling cost.

Although you may change the value later, try to pass in a shipping amount that is reasonably accurate.

PAYMENTREQUEST_n_HANDLINGAMT HandlingTotal Total handling cost for this order.
PAYMENTREQUEST_n_SHIPDISCAMT ShippingDiscount Shipping discount for this order. You specify this value as a negative number.
PAYMENTREQUEST_n_INSURANCEAMT InsuranceTotal Total shipping insurance cost for this order.
PAYMENTREQUEST_n_AMT OrderTotal Total of order, including shipping, handling, tax, and any other billing adjustments such as a credit due.
ALLOWNOTE AllowNote  

If you pass the generic order description parameter (PAYMENTREQUEST_n_DESC) along with any two of the following line-item parameters, the order description value does not display.

  • L_PAYMENTREQUEST_n_NAMEm
  • L_PAYMENTREQUEST_n_NUMBERm
  • L_PAYMENTREQUEST_n_DESCm

If you pass in unit price information (L_PAYMENTREQUEST_n_AMTm) without passing in the unit quantity (L_PAYMENTREQUEST_n_QTYm), the unit price does not display. To show both values, you must pass in values for both parameters. You can pass in a value of 1 even if the item purchase is uncountable.

The following example shows how to set line-item parameters in the call to SetExpressCheckout.

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=http://...
&CANCELURL=http://...
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&L_PAYMENTREQUEST_0_NAME0=10% Decaf Kona Blend Coffee
&L_PAYMENTREQUEST_0_NUMBER0=623083
&L_PAYMENTREQUEST_0_DESC0=Size: 8.8-oz
&L_PAYMENTREQUEST_0_AMT0=9.95
&L_PAYMENTREQUEST_0_QTY0=2
&L_PAYMENTREQUEST_0_NAME1=Coffee Filter bags
&L_PAYMENTREQUEST_0_NUMBER1=623084
&L_PAYMENTREQUEST_0_DESC1=Size: Two 24-piece boxes
&L_PAYMENTREQUEST_0_AMT1=39.70
&L_PAYMENTREQUEST_0_QTY1=2
&PAYMENTREQUEST_0_ITEMAMT=99.30
&PAYMENTREQUEST_0_TAXAMT=2.58
&PAYMENTREQUEST_0_SHIPPINGAMT=3.00
&PAYMENTREQUEST_0_HANDLINGAMT=2.99
&PAYMENTREQUEST_0_SHIPDISCAMT=-3.00
&PAYMENTREQUEST_0_INSURANCEAMT=1.00
&PAYMENTREQUEST_0_AMT=105.87
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&ALLOWNOTE=1

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706494P

Providing Gift Options

You can provide the buyer with gift options on PayPal. To use this feature, you must implement line-item details.

Note: Gift options are available with API Version 61.0 or later.

You can enable any of the following gift options:

  • Gift message – This feature displays a text box in which the buyer can enter a gift message.
  • Gift receipt – This feature provides a checkbox for the buyer to check if they would like a gift receipt included.
  • Gift wrap – This feature provides a checkbox for the buyer to check if they would like to have the gift wrapped. The gift wrap feature can include a label describing the gift wrapping, for example, "Decorator box and bow." Optionally, you can provide the amount to be charged to the buyer for gift wrapping.

The following SetExpressCheckout request example sets these options:

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&GIFTMESSAGEENABLE=1 
&GIFTRECEIPTENABLE=1 
&GIFTWRAPENABLE=1 
&GIFTWRAPNAME="Bow and Ribbon" 
&GIFTWRAPAMOUNT=6.00 

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706495P

The following figure shows how the gift options appear to the buyer.



Note: You can also configure this option from your profile. For details, see the Merchant Setup and Administration Guide.

Obtaining Buyer Consent to Receive Promotional Email

You can obtain the buyer's consent to receive email promotions on PayPal pages. PayPal returns the email address in the response to GetExpressCheckoutDetails and DoExpressCheckoutPayment.

Note: Obtaining buyer consent to receive promotional email is available with API Version 61.0 or later.

To obtain the buyer's email address, set the BUYEREMAILOPTINENABLE field to 1 in the call to SetExpressCheckout.

The following request example sets this field:

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&BUYEREMAILOPTINENABLE=1

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706495P

The following figure shows how this appears to the buyer in the cart review area.



Note: You can also configure this feature in your profile. For details, see the Merchant Setup and Administration Guide.

Overriding Your Customer Service Number

You can display your Customer Service number to the buyer on Express Checkout pages by configuring it in your profile. You can override this number by specifying another number in the SetExpressCheckout request.

Note: This feature is available with API Version 61.0 or later.

Displaying your Customer Service number to the buyer enables you to quickly answer the buyer's questions through a telephone call. To override the Customer Service number configured in your profile with a different number on Express Checkout pages, set the CUSTOMERSERVICENUMBER field in the call to SetExpressCheckout.

The following request example sets this field:

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&CUSTOMERSERVICENUMBER=1-800-FLOWERS

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706494P
Note: For details on configuring the Customer Service number on the PayPal Profile page, see the Merchant Setup and Administration Guide.

Adding a Survey Question

You can add one survey question to the PayPal pages. PayPal returns the choice that the buyer selected in the response to GetExpressCheckoutDetails and DoExpressCheckoutPayment.

Note: This feature is available with API Version 61.0 or later.

The survey question displays in the format of a text string on the PayPal Review your information page. The buyer responds by selecting from choices in a drop-down menu.

To enable the display of the survey question and choices, set the SURVEYENABLE field to 1 in the call to SetExpressCheckout.

  • Set the SURVEYENABLE field to 1 in the call to SetExpressCheckout.
  • Set SURVEYQUESTION to the string containing your question.
  • Provide at least two L_SURVEYCHOICEn options from which the buyer can select one.

The following request example sets these fields:

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&SURVEYENABLE=1
&SURVEYQUESTION="How did you hear about us?" 
&L_SURVEYCHOICE0="friend"
&L_SURVEYCHOICE1="newspaper ad"

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706495P

The survey question appears to the buyer in the cart review area.

Note: You can also configure this feature in your profile. For details, see the Merchant Setup and Administration Guide.

PayPal Page Style

You can change the overall appearance of the PayPal pages by defining a custom page style or by customizing individual page style characteristics.

You define a custom page style in your profile and pass the resulting page style name when you call SetExpressCheckout. Typically you customize individual page style characteristics in your profile as well. However, you can also call SetExpressCheckout and pass in individual page characteristics dynamically.

Custom Page Style

When your buyer logs in to PayPal to check out, you can make the PayPal pages the buyer sees appear to have a similar look and feel to those on your website. You can customize any of these page characteristics and save the results as a Page Style Name. You can define up to three unique Page Style Names, in which you can specify the following characteristics:

  • Header image
  • Header border color
  • Header background color
  • Page background color

For instructions on how to customize page styles and create Page Style Names, see the Merchant Setup and Administration Guide.

To set a custom page style in a call to SetExpressCheckout:

  1. Include the optional PAGESTYLE parameter in the call to SetExpressCheckout.
  2. Set PAGESTYLE to the Page Style Name you defined in your account.

The following example sets PAGESTYLE to the Page Style Name:

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAGESTYLE=TestMerchant

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706494P

Individual Page Style Characteristics

Typically, you create a custom page style for the PayPal pages using the custom payment pages in your Account Profile. In cases where you do not want to use the Account Profile option, you can specify these individual page style characteristics using variables in your program code:

  • Logo image — a URL to an image of your logo.
  • Cart review area border color — your principal identifying color. PayPal blends your color to white in a gradient fill that borders the cart review area.

To define your logo image:

  1. Create a logo image up to 90 pixels wide by 60 pixels high and save it in a valid graphics format, such as .gif, .jpg, or .png.
  2. Store the URL to the image on a secure (https) server so your buyer's web browser does not display a message that the payment contains insecure items.
  3. Assign the URL to the LOGOIMG parameter in the call to SetExpressCheckout.

To display the border in your principal identifying color, set the CARTBORDERCOLOR parameter to the 6-digit hexadecimal value of that color in the call to SetExpressCheckout.

The following example sets a custom header image and adds a border color.

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&MAXAMT=...
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&LOGOIMG=https://www.../YourLogo.gif
&CARTBORDERCOLOR=0000CD

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706494P

The figure below shows the cart review area with a custom logo and border color around it that were set in the call to SetExpressCheckout.



Request Parameters

Changing the Locale

You can change the locale of PayPal pages to match the language on your website.

To change the language displayed on the PayPal pages, set the LOCALECODE parameter to one of the following allowable values in the SetExpressCheckout call:

  • 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)

The following example sets LOCALCODE to ES (Spain).

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=EUR
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&LOCALECODE=ES

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706494P

The following figure shows the Log in to PayPal page when the is set to ES:

The following figure shows the PayPal Choose a way to pay page when the LOCALECODE is set to ES:



Handling Shipping Addresses

You can specify several shipping address options that affect the PayPal pages.

In your SetExpressCheckout request, you can specify the following options:

  • Require a confirmed address.
  • Do not display the shipping address on the review page.
  • Display an alternative address on the review page.

Confirmed Address

A confirmed address is a shipping address that PayPal has established as belonging to the PayPal account holder. To be protected by PayPal's Seller Protection Policy, you must require the shipping address to be a confirmed address.

Note: Because many buyers prefer to ship to a non-confirmed address (they may, for example, be shipping a gift to someone), PayPal does not recommend requiring a confirmed address unless you are selling high-risk merchandise. If you prefer that confirmed addresses be used, then do not set ADDROVERRIDE.

To require a confirmed address for the shipping address, ensure that the shipping address matches the address on record with PayPal. You can do this through your account profile, as described in the Merchant Setup and Administration Guide. Alternately, you can set a flag in the call to SetExpressCheckout, as follows:

  1. Include the optional REQCONFIRMSHIPPING parameter in the call to SetExpressCheckout.
  2. Set REQCONFIRMSHIPPING to 1.

The following example shows how to require the shipping address to be a confirmed address.

Note: The value of REQCONFIRMSHIPPING overrides the setting in your Merchant Account Profile.

Request Parameters

[requiredSecurityParameters] 
&METHOD=SetExpressCheckout 
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&REQCONFIRMSHIPPING=1
&PAYMENTREQUEST_0_SHIPTOSTREET=1 Main St
&PAYMENTREQUEST_0_SHIPTOCITY=San Jose
&PAYMENTREQUEST_0_SHIPTOSTATE=CA
&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
&PAYMENTREQUEST_0_SHIPTOZIP=95131
&PAYMENTREQUEST_0_SHIPTOPHONENUM=408-967-4444

Response Parameters

[successResponseFields]
&TOKEN=EC-6UA07551EA393551U

Suppressing the Buyer's Shipping Address

You can suppress the display of the buyer's shipping address on the PayPal pages. You might want to do this in these cases:

  • You are selling a product or service that does not require shipping.
  • You prefer to handle addresses completely on your own and do not want to let buyers choose from their PayPal address book.

To suppress the display of the buyer's shipping address, set the NOSHIPPING parameter to 1 in the call to SetExpressCheckout. No shipping address displays on Express Checkout pages.

The following example suppresses the shipping address.

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout 
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&NOSHIPPING=1
&PAYMENTREQUEST_0_SHIPTONAME=J Smith
&PAYMENTREQUEST_0_SHIPTOSTREET=1 Main St
&PAYMENTREQUEST_0_SHIPTOCITY=San Jose
&PAYMENTREQUEST_0_SHIPTOSTATE=CA
&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
&PAYMENTREQUEST_0_SHIPTOZIP=95131
&PAYMENTREQUEST_0_SHIPTOPHONENUM=408-967-4444

Response Parameters

[successResponseFields]
&TOKEN=EC-17C76533PL706494P

The PayPal Review your information page does not display a shipping address when NOSHIPPING is set to 1.

Shipping Address Override

You can override the buyer's shipping address stored on PayPal. You would want to do this if, for example, your website registration already requested the buyer's shipping address.

Overriding the shipping address stored on PayPal replaces it with one you specify in the call to SetExpressCheckout. The buyer cannot edit the overridden address.

Note: If you prefer to override addresses, PayPal recommends that you do not require confirmed addresses, as described in Confirmed Address.

To override the shipping address:

  1. Set the ADDROVERRIDE parameter to 1 in the call to SetExpressCheckout.
  2. Set the following shipping address parameters in the call to SetExpressCheckout to the address values you want to use for the new address.
    • PAYMENTREQUEST_0_SHIPTONAME
    • PAYMENTREQUEST_0_SHIPTOSTREET
    • PAYMENTREQUEST_0_SHIPTOCITY
    • PAYMENTREQUEST_0_SHIPTOSTATE (Optional)
    • PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE
    • PAYMENTREQUEST_0_SHIPTOZIP
    • PAYMENTREQUEST_0_SHIPTOSTREET2 (Optional)

The following example overrides the shipping address with the address values shown.

Request Parameters

[requiredSecurityParameters]
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_CURRENCYCODE=USD
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&ADDROVERRIDE=1
&PAYMENTREQUEST_0_SHIPTOSTREET=1 Second St
&PAYMENTREQUEST_0_SHIPTOSTREET2=Ste 210
&PAYMENTREQUEST_0_SHIPTOCITY=San Jose
&PAYMENTREQUEST_0_SHIPTOSTATE=CA
&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
&PAYMENTREQUEST_0_SHIPTOZIP=95131
&PAYMENTREQUEST_0_SHIPTOPHONENUM=408-967-4444

Response Parameters

[successResponseFields]
&TOKEN=EC-57K68322WE343022B

The PayPal Review your information page shows the shipping address parameter values you specified in the SetExpressCheckout request.

Automatically Filling Out Shipping and Contact Information

PayPal can automatically fill out form fields for the buyer based on the buyer's shipping contact information passed in the call to SetExpressCheckout.

When you pass the buyer's shipping address, telephone number and email address in the call to SetExpressCheckout, PayPal automatically fills out this information in the debit or credit card form fields on the PayPal Choose a way to pay page.

After the call to SetExpressCheckout, the buyer is redirected to the PayPal. On the Choose a way to pay page, buyers having a PayPal account can log in with their email address and password. Buyers who do not have an account can use their debit or credit card to pay and will have their shipping and contact information filled out.

See the following SetExpressCheckout example:

Request Parameters

[requiredSecurityParameters] 
&METHOD=SetExpressCheckout 
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_SHIPTOSTREET=1 Main Street
&PAYMENTREQUEST_0_SHIPTOCITY=San Jose
&PAYMENTREQUEST_0_SHIPTOSTATE=CA
&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
&PAYMENTREQUEST_0_SHIPTOZIP=95131
&PAYMENTREQUEST_0_EMAIL=jsmith01@example.com
&PAYMENTREQUEST_0_SHIPTOPHONENUM=408-559-5948

Response Parameters

[successResponseFields]
&TOKEN=EC-6UA07551EA393551U

The figure below shows the Pay with debit or credit card section expanded with the buyer shipping and contact fields filled out.



Buyer Pays on PayPal

With Express Checkout, you can shorten your checkout flow to let buyers complete their purchases on PayPal. Then, you can skip your order confirmation page.

Generally, buyers select payment methods as the last step before they complete their purchases. If you collect no additional information after buyers return from PayPal, you can skip the confirm-order page on your website. If you collect additional information that does not affect the payment, PayPal recommends that you collect it after buyers complete their purchases.

The useraction URL parameter in your redirect to PayPal determines whether buyers complete their purchases on PayPal or on your website. If you set useraction to commit, PayPal sets the button text to Pay Now on the PayPal Review your informaton page. This text lets buyers know that they complete their purchases if they click the button.



After PayPal redirects buyers to your site, call GetExpressCheckoutDetails and DoExpressCheckoutPayment to have PayPal complete the payment successfully. Call DoExpressCheckoutPayment without waiting for buyer interaction. Use information in the GetExpressCheckoutDetails response to fill out your order confirmation page.

Express Checkout Redirect to Let Buyers Pay on PayPal

The following sample code shows the redirect to let buyers pay on PayPal:

https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=valueFromSetExpressCheckoutResponse