DoExpressCheckoutPayment API Operation (SOAP)
Last updated: Sept 18th, 6:07pm
Completes an Express Checkout transaction. If you set up a billing agreement in your SetExpressCheckout API call, the billing agreement is created when you call the DoExpressCheckoutPayment API operation.
DoExpressCheckoutPayment Request Message
DoExpressCheckoutPayment Request Fields
Field | Description |
---|---|
|
(Required) The timestamped token value that was returned in the Character length and limitations: 20 single-byte characters. |
|
(Required) Unique PayPal buyer account identification number as returned in the Character length and limitations: 13 single-byte alphanumeric characters. |
|
(Optional) Unique ID passed for each API request to help prevent duplicate payments. This ID is passed directly back in the response. For more information, see Idempotency. Character length and limits: 38 single-byte characters maximum. |
|
(Required) Information about the payment. |
|
(Optional) Shipping options and insurance selected by the buyer. |
|
(Optional) The buyer email address opted in by the buyer on the PayPal pages. Character length and limitations: 127 single-byte characters |
|
(Optional) Identification code for use by third-party applications to identify transactions. Character length and limitations: 32 single-byte alphanumeric characters |
SkipBACreation |
(Optional) Merchant specified flag which indicates whether to create a billing agreement as part of |
|
(Optional) Flag to indicate whether you want the results returned by Fraud Management Filters. By default, you do not receive this information. Value is:
|
PaymentDetailsType 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 |
---|---|
|
(Required) The total cost of the transaction to the buyer. If shipping cost (not applicable to digital goods) 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. For digital goods, the following must be true:
When multiple payments are passed in one transaction, all of the payments must have the same currency code. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
Sum of cost of all items in this order. For digital goods, this field is required. PayPal recommends that you pass the same value in the call to Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
(Optional) Total shipping costs for this order. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
(Optional) Total shipping insurance costs for this order. The value must be a non-negative currency amount or Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period (
|
|
(Optional) Shipping discount for this order, specified as a negative number. Character length and limitations: Value is a negative number. It includes no currency symbol. Most currencies require 2 decimal places. The decimal separator must be a period (
|
|
(Optional) Indicates whether insurance is available as an option the buyer can choose on the PayPal Review page. Is one of the following values:
|
|
(Optional) Total handling costs for this order. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
(Optional) Sum of tax for all items in this order. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
(Optional) Description of items the buyer is purchasing. Character length and limitations: 127 single-byte alphanumeric characters |
|
(Optional) A free-form field for your own use. Character length and limitations: 256 single-byte alphanumeric characters |
|
(Optional) Your own invoice or tracking number. Character length and limitations: 256 single-byte alphanumeric characters |
|
(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. Character length and limitations: 2,048 single-byte alphanumeric characters |
|
(Optional) Address to which the order is shipped. |
|
(Optional) The value 1 indicates that this payment is associated with multiple shipping addresses. Character length and limitations: Four single-byte numeric characters. |
|
(Optional) Details about each individual item included in the order. |
|
(Optional) Enhanced Data section to accept channel-specific data (eBay). |
PaymentCategoryType |
(Optional) Category of a payment. Value is: |
|
(Optional) Note to the merchant. Character length and limitations: 255 single-byte characters |
|
<PP*|PAYPAL*><Merchant descriptor in Payment Receiving Preferences> <1 space><soft descriptor> Character length and limitations: The soft descriptor can contain only the following characters:
, ), PayPal returns an error code.The soft descriptor can also include a phone number, which can be toggled between the merchant's customer service number and PayPal's customer service number. The maximum length of the soft descriptor is 22 characters. The PayPal prefix uses either four or eight characters of the data format. The maximum length of the soft descriptor information that you can pass in this field is: 22 - len(<PP * | PAYPAL *>) - len(<var>Descriptor in Payment Receiving Preferences</var> + 1) For example, assume the following conditions:
PAYPAL *EBAY JanesFlow
|
|
(Optional) Details about the merchant. This information is used for emails sent out for eBay transactions. |
|
(Optional) The payment method type. Specify the value |
(Conditional) Defines how to obtain payment. Required for parallel payments and must be set to
Character length and limitations: Up to 13 single-byte alphabetic characters |
|
|
A unique identifier of the specific payment request. Required when implementing parallel payments. Character length and limitations: Up to 127 single-byte characters |
|
(Optional) The buyer's wallet items redeemed in this transaction, such as, a merchant coupon or a loyalty program. Limitations: Maximum count is 100. |
|
(Optional) The buyer's loyalty points accumulated by the consumer so far. Limitations: Maximum count is 100. |
|
(Optional) Custom promotional information that you would like to pass and store with the transaction. |
AddressType Fields
Field | Description |
---|---|
|
Person's name associated with this shipping address. It is required if using a shipping address. Character length and limitations: 128 double-byte characters |
|
First street address. It is required if using a shipping address. Character length and limitations: 100 single-byte characters |
|
(Optional) Second street address. Character length and limitations: 100 single-byte characters |
|
Name of city. It is required if using a shipping address. Character length and limitations: 40 single-byte characters |
|
State or province. Character length and limitations: 40 single-byte characters |
|
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 |
|
Country code. It is required if using a shipping address. Character length and limitations: 2 single-byte characters. See the PayPal Country Codes reference for details. |
|
(Optional) Phone number. Character length and limitations: 20 single-byte characters |
PaymentDetailsItemType Fields
Field | Description |
---|---|
|
Item name. This field is required when you pass a value for Character length and limitations: 127 single-byte characters This field is introduced in version 53.0. |
|
(Optional) Item description. Character length and limitations: 127 single-byte characters This field is introduced in version 53.0. |
|
Cost of item. This field is required when you pass a value for Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( This field is introduced in version 53.0. |
|
(Optional) Item number. Character length and limitations: 127 single-byte characters This field is introduced in version 53.0. |
|
Item quantity. This field is required when you pass a value for Character length and limitations: Any positive integer This field is introduced in version 53.0. |
|
(Optional) Item sales tax. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
(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. Pass the unit of measurement in the Character length and limitations: Any positive integer |
|
(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. Pass the unit of measurement in the Character length and limitations: Any positive integer |
|
(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. Pass the unit of measurement in the Character length and limitations: Any positive integer |
|
(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. Pass the unit of measurement in the Character length and limitations: Any positive integer |
|
(Optional) Information relating to an auction sale on eBay. |
|
(Optional) URL for the item. |
|
(Optional) Enhanced data for each item in the cart. For eBay use only. |
|
Indicates whether an item is digital or physical. For digital goods, this field is required and must be set to
This field is available since version 65.1. |
EbayItemPaymentDetailsItemType Fields
DiscountInfoType Fields
Describes discount information.
Fields | Description |
---|---|
|
(Optional) Item name. Character length and limits: 127 single-byte characters |
|
(Optional) Description of the discount. Character length and limits: 127 single-byte characters |
|
(Optional) Amount discounted. You must set the Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
(Optional) Offer type. It is one of the following:
|
|
(Optional) Offer ID. Character length and limits: 64 single-byte characters. |
|
(Optional) Loyalty points accrued. |
MerchantDataTuple Fields
Key-value pairs of merchant data that merchants can pass with the transaction.
UserSelectedOptionsType Fields
Field | Description |
---|---|
|
(Optional) The option that the buyer chose for insurance. Value is:
|
|
(Optional) Whether the buyer chose the default shipping option. Value is: |
|
(Optional) The shipping amount that the buyer chose. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
(Optional) The name of the shipping option, such as air or ground. |
SellerDetailsType Fields
DoExpressCheckoutPayment Response Message
DoExpressCheckoutPayment Response Fields
Field | Description |
---|---|
|
The timestamped token value that was returned by Character length and limitations: 20 single-byte characters |
|
Information about the payment. |
|
Character length and limitations: 19 single-byte alphanumeric characters |
|
Flag to indicate whether you need to redirect the buyer back to PayPal after successfully completing the transaction. If set to true, you can redirect users to the following URL with the
|
|
The text entered by the buyer on the PayPal website if you set the This field is available since version 53.0. Character length and limitations: 255 single-byte characters |
|
Unique ID passed for each API request to help prevent duplicate payments. This ID is passed directly back in the response. For more information, see Idempotency. Character length and limits: 38 single-byte characters maximum. |
|
Flag to indicate whether you would like to redirect the buyer to sign up for PayPal after completing the transaction. If set to true, you can redirect users to the following URL with the
|
|
Information about the user selected options. |
|
Information about coupled payment transactions. |
PaymentInfoType Fields
When implementing parallel payments, up to 10 payment information type sets of payment information type parameter fields can be returned, each representing one payment you are hosting on your marketplace.
Field | Description |
---|---|
|
Unique transaction ID of the payment. Character length and limitations: 17 characters. Orders transactions have 19 characters.
|
|
eBay transaction identification number. Character length and limitations: 255 single-byte characters |
|
Parent or related transaction identification number. This field is populated for the following transaction types:
|
|
Character length and limitations: 16 digits in xxxx-xxxx-xxxx-xxxx format. |
|
Type of transaction. Value is:
Character length and limitations: 15 single-byte characters |
|
Indicates whether the payment is instant or delayed. Value is:
Character length and limitations: 7 single-byte characters |
|
This is the type of PayPal funding source that can be used for auto refunds.
|
|
eCheck latest expected clear date. |
|
Date/time stamp of the payment. Character length and limitations: Date and time are in UTC/GMT format. For example, |
|
The final amount charged, including any shipping and taxes from your Merchant Profile. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
PayPal fee amount charged for the transaction. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
Amount deposited in your PayPal account after a currency conversion. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
Transaction fee associated with the payment, in the settlement currency. Applicable only for use cases where the PayPal fee is charged in the settlement currency. Example: This field is available since version 216. |
|
Tax charged on the transaction. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
Exchange rate if a currency conversion occurred. Relevant only if your are billing in their non-primary currency. If the buyer chooses to pay with a currency other than the non-primary currency, the conversion occurs in the buyer's account. Character length and limitations: Decimal value that does not exceed 17 characters, including decimal point |
|
The status of the payment. Value is:
|
|
Reason the payment is pending. Value is:
|
|
Reason for a reversal if TransactionType is reversal. Value is:
|
|
Reason that this payment is being held. Value is:
This field is available since version 71.0 and is returned only if |
|
Shipping method selected by the user during check-out. |
|
Prior to version 64.4, the kind of seller protection in force for the transaction. Value is:
|
|
It is one or more of the following values:
This field is available since version 64.4.
|
|
Receipt Reference Number for this Transaction |
|
Amount of shipping charged on this transaction. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
Amount of ship handling charged on transaction Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
Amount of shipping discount on transaction Character length and limitations: Value is a negative number. It includes no currency symbol. Most currencies require 2 decimal places. The decimal separator must be a period ( |
|
Amount of Insurance amount on transaction Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
Subject as entered in the transaction |
|
StoreId as entered in the transaction |
|
TerminalId as entered in the transaction |
|
Enhanced payment information. |
|
Details about this merchant. |
|
Unique identifier of the specific payment request. The value should match the one you passed in the Character length and limitations: Up to 127 single-byte characters |
|
List of fraud management filters. |
|
Indicates the payment status for an individual payment request in the case of parallel payments. |
|
|
|
Offer Details. |
|
This field indicates whether the credit card number used for this transaction is in a particular bin range registered with PayPal by the merchant. It is returned only if the merchant has a registered bin range. The value of this field is true if the credit card used in the transaction is within the registered bin range and false if the credit card used in the transaction is outside the registered bin range or no credit card was used. |
InstrumentDetailsType Fields
UserSelectedOptionType Fields
Field | Description |
---|---|
|
Describes how the options that were presented to the buyer were determined. Value is:
|
|
The option that the buyer chose for insurance. Value is:
|
|
Indicates whether the buyer chose the default shipping option. Value is:
Character length and limitations: true or false |
|
The shipping amount that the buyer chose. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
|
The name of the shipping option, such as air or ground. |
ErrorType Fields
SellerDetailsType Fields
FMFDetailsType Fields
RiskFilterListType Fields
CoupledPaymentInfoType Fields
Information about Coupled Payment transactions.
OfferDetailsType Fields
Field | Description |
---|---|
|
Code used to identify the promotional offer. |
|
Specific information for PayPal Credit. |
BMLOfferInfoType Fields
Field | Description |
---|---|
|
A unique ID returned for the combination of the merchant, buyer and the PayPal Credit offer. |
Deprecated Fields
The following fields are deprecated. Replacement fields are noted when available.
Deprecated DoExpressCheckoutPayment Request Field
Field | Description |
---|---|
PaymentAction |
Use the PaymentAction field in PaymentDetailsType Fields instead. |
GiftMessage |
Discontinued Sept. 8, 2016. (No replacement.)
(Optional) The gift message the buyer entered on the PayPal pages. Character length and limitations: 150 single-byte characters |
GiftReceiptEnable |
Discontinued Sept. 8, 2016. (No replacement.)
(Optional) Whether the buyer selected a gift receipt on the PayPal pages. Value is:
|
GiftWrapName |
Discontinued Sept. 8, 2016. (No replacement.)
(Optional) Return the gift wrap name only if the buyer selected the gift option on the PayPal pages. Character length and limitations: 25 single-byte characters |
GiftWrapAmount |
Discontinued Sept. 8, 2016. (No replacement.)
(Optional) Amount only if the buyer selected the gift option on the PayPal pages. Character length and limitations: Value is typically a positive number that cannot exceed nine (9) digits in SOAP request/response for USD, CLP, or JPY or the per transaction limit for the currency. It includes no currency symbol. Most currencies require two decimal places. The decimal separator must be a period ( |
SurveyQuestion |
Discontinued Sept. 8, 2016. (No replacement.) xs:string (Optional) Survey question on the PayPal pages. Limitations: 50 single-byte characters |
|
Discontinued Sept. 8, 2016. (No replacement.)
(Optional) Survey response that the buyer selected on the PayPal pages. Character length and limitations: 15 single-byte characters |
Deprecated DoExpressCheckoutPayment Response Field
The following field has been deprecated since version 63.0.
Field | Description |
---|---|
FMFDetails |
Use the FMFDetails field in PaymentInfoType Fields instead. |