DoExpressCheckoutPayment API Operation (SOAP)

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

Token

xs:string

(Required) The timestamped token value that was returned in the SetExpressCheckout response and passed in the GetExpressCheckoutDetails request. PayPal also appends the token value as a GET parameter named token to your RETURN URL when redirecting the buyer back to your website from paypal.com.

Character length and limitations: 20 single-byte characters.

PayerID

ebl:UserIDType

(Required) Unique PayPal buyer account identification number as returned in the GetExpressCheckoutDetails response. PayPal also appends the payer ID as a GET parameter named PayerID to your RETURN URL when redirecting the buyer back to your website from paypal.com.

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

MsgSubID

xs:string

(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.

Added in version 114 of the API.

PaymentDetails

ebl:PaymentDetailsType

(Required) Information about the payment.

UserSelectedOptions

ebl:UserSelectedOptionsType

(Optional) Shipping options and insurance selected by the buyer.

BuyerMarketingEmail

ebl:EmailAddressType

(Optional) The buyer email address opted in by the buyer on the PayPal pages.

Character length and limitations: 127 single-byte characters

ButtonSource

xs:string

(Optional) Identification code for use by third-party applications to identify transactions.

Character length and limitations: 32 single-byte alphanumeric characters

SkipBACreation

xs:boolean

(Optional) Merchant specified flag which indicates whether to create a billing agreement as part of DoExpressCheckout or not. This field is used for reference transactions during billing agreement creation. Merchants who offer a store account can control whether PayPal must create a billing agreement or if billing agreement creation should be skipped. Set the value of this field to true to skip the creation of a billing agreement ID.

ReturnFMFDetails

xs:int

(Optional) Flag to indicate whether you want the results returned by Fraud Management Filters. By default, you do not receive this information. Value is:

  • 0 — Do not receive FMF details (default).

  • 1 — Receive FMF details.

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

OrderTotal

cc:BasicAmountType

(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:

  • total cost > 0

  • total cost <= total cost passed in the call to SetExpressCheckout

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

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 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ItemTotal

cc:BasicAmountType

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 DoExpressCheckoutPayment that you passed in the call to SetExpressCheckout.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ShippingTotal

cc:BasicAmountType

(Optional) Total shipping costs for this order.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

.

InsuranceTotal

cc:BasicAmountType

(Optional) Total shipping insurance costs for this order. The value must be a non-negative currency amount or null if you offer insurance options.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

InsuranceTotal is available since version 53.0.

ShippingDiscount

cc:BasicAmountType

(Optional) Shipping discount for this order, specified as a negative number.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. See the currency codes page for details.

ShippingDiscount is available since version 53.0.

InsuranceOptionOffered

xs:boolean

(Optional) Indicates whether insurance is available as an option the buyer can choose on the PayPal Review page. 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.'

HandlingTotal

cc:BasicAmountType

(Optional) Total handling costs for this order.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

TaxTotal

cc:BasicAmountType

(Optional) Sum of tax for all items in this order.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

OrderDescription

xs:string

(Optional) Description of items the buyer is purchasing.

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

Custom

xs:string

(Optional) A free-form field for your own use.

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

InvoiceID

xs:string

(Optional) Your own invoice or tracking number.

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.
Note: PayPal recommends using the InvoiceID 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.

Character length and limitations: 256 single-byte alphanumeric characters

NotifyURL

xs:string

(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.

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

ShipToAddress

ebl:AddressType

(Optional) Address to which the order is shipped.

MultiShipping

xs:string

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

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

PaymentDetailsItem

ebl:PaymentDetailsItemType

(Optional) Details about each individual item included in the order.

EnhancedPaymentData

ed:EnhancedPaymentDataType

(Optional) Enhanced Data section to accept channel-specific data (eBay).

PaymentCategoryType

ebl:PaymentCategoryType

(Optional) Category of a payment. Value is:
InternationalShipping
LocalDelivery

NoteText

xs:string

(Optional) Note to the merchant.

Character length and limitations: 255 single-byte characters

SoftDescriptor

xs:string

(Optional) If you provide a value in this field, the full descriptor on the buyer's statement has the following format:

<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:

  • Alphanumeric characters
  • Dash (-)
  • Asterisk (*)
  • Period (.)
  • Space ( )

If you pass any other characters, such as comma (,), 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. Of this, the PayPal prefix uses either four or eight characters of the data format. Thus, the maximum length of the soft descriptor information that you can pass in this field is:

22 - len(<PP * | PAYPAL *>) - len(Descriptor in Payment Receiving Preferences + 1)

For example, assume the following conditions:

  • The PayPal prefix toggle is set to PAYPAL * in PayPal's administration tools.
  • The merchant descriptor set in the Payment Receiving Preferences is EBAY.
  • The soft descriptor is passed in as JanesFlowerGifts LLC.

The resulting descriptor string on the credit card is:

PAYPAL *EBAY JanesFlow
Note: Ignored when PaymentAction=Order.

SellerDetails

ebl:SellerDetailsType

(Optional) Details about the merchant. This information is used for emails sent out for eBay transactions.

TransactionId

xs:string

(Optional) Transaction identification number of the transaction that was created.

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

Character length and limitations: 17 characters except for transactions of the type Order have a character length of 19.

AllowedPaymentMethodType

xs:string

(Optional) The payment method type. Specify the value InstantPaymentOnly.

PaymentAction

ebl:PaymentActionCodeType

(Conditional) Defines how to obtain payment. Required for parallel payments and must be set to Order or Sale. Also required for digital goods and must be set to Sale. If the transaction does not include a one-time purchase, this field is ignored. Value is:

  • 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

PaymentRequestID

xs:string

A unique identifier of the specific payment request. Required when implementing parallel payments.

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

RedeemedOffers

ebl:DiscountInfoType

(Optional) The buyer's wallet items redeemed in this transaction, such as, a merchant coupon or a loyalty program.

Limitations: Maximum count is 100.

CummulativePoints

ebl:DiscountInfoType

(Optional) The buyer's loyalty points accumulated by the consumer so far.

Limitations: Maximum count is 100.

MerchantData

ebl:MerchantDataTuple

(Optional) Custom promotional information that you would like to pass and store with the transaction.

AddressType Fields

Field Description

Name

xs:string

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

Character length and limitations: 128 double-byte characters

Street1

xs:string

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

Character length and limitations: 100 single-byte characters

Street2

xs:string

(Optional) Second street address.

Character length and limitations: 100 single-byte characters

CityName

xs:string

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

Character length and limitations: 40 single-byte characters

StateOrProvince

xs:string

State or province.

It is required for direct credit card transactions only if the address is in one of the following countries: Argentina, Brazil, Canada, China, Indonesia, India, Japan, Mexico, Thailand or USA, and it is required for Express Checkout transactions only if the address is a U.S. address. See the list of PayPal State codes.

Character length and limitations: 40 single-byte characters

PostalCode

xs:string

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

ebl:CountryCodeType

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.

Phone

xs:string

(Optional) Phone number.

Character length and limitations: 20 single-byte characters

PaymentDetailsItemType Fields

Field Description

Name

xs:string

Item name. This field is required when you pass a value for ItemCategory.

Character length and limitations: 127 single-byte characters

This field is introduced in version 53.0.

Description

xs:string

(Optional) Item description.

Character length and limitations: 127 single-byte characters

This field is introduced in version 53.0.

Amount

cc:BasicAmountType

Cost of item. This field is required when you pass a value for ItemCategory.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

Note: If the line item is a discount, a negative value must be passed in this field.

This field is introduced in version 53.0.

Number

xs:string

(Optional) Item number.

Character length and limitations: 127 single-byte characters

This field is introduced in version 53.0.

Quantity

xs:integer

Item quantity. This field is required when you pass a value for ItemCategory. For digital goods (ItemCategory=Digital), this field is required.

Character length and limitations: Any positive integer

This field is introduced in version 53.0.

Tax

cc:BasicAmountType

(Optional) Item sales tax.

Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ItemWeight

cc:MeasureType

(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 unit attribute.

Character length and limitations: Any positive integer

ItemLength

cc:MeasureType

(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 unit attribute.

Character length and limitations: Any positive integer

ItemWidth

cc:MeasureType

(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 unit attribute.

Character length and limitations: Any positive integer

ItemHeight

cc:MeasureType

(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 unit attribute.

Character length and limitations: Any positive integer

EbayItemPaymentDetailsItem

ebl:ebayItemPaymentDetailsItemType

(Optional) Information relating to an auction sale on eBay.

ItemURL

xs:string

(Optional) URL for the item.

EnhancedItemData

ed:EnhancedItemDataType

(Optional) Enhanced data for each item in the cart. For eBay use only.

ItemCategory

ebl:ItemCategoryType

Indicates whether an item is digital or physical. For digital goods, this field is required and must be set to Digital. Value is:

  • Digital

  • Physical

This field is available since version 65.1.

EbayItemPaymentDetailsItemType Fields

Field Description

ItemNumber

xs:string

(Optional) Auction item number.

Character length: 765 single-byte characters

AuctionTransactionId

xs:string

(Optional) Auction transaction identification number.

Character length: 255 single-byte characters

OrderID

xs:string

(Optional) Auction order identification number.

Character length: 64 single-byte characters

CartID

xs:string

(Optional) The unique identifier provided by eBay for this order from the buyer.

Character length: 255 single-byte characters

DiscountInfoType Fields

Describes discount information.

Fields Description

Name

xs:string

(Optional) Item name.

Character length and limits: 127 single-byte characters

Description

xs:string

(Optional) Description of the discount.

Character length and limits: 127 single-byte characters

Amount

cc:BasicAmountType

(Optional) Amount discounted. You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

Note: If the line item is a discount, a negative value must be passed in this field.

RedeemedOfferType

ebl:RedeemedOfferType

(Optional) Offer type.

It is one of the following:

  • LOYALTY_CARD
  • MERCHANT_COUPON

RedeemedOfferId

xs:string

(Optional) Offer ID.

Character length and limits: 64 single-byte characters.

PointsAccrued

xs:decimal

(Optional) Loyalty points accrued.

MerchantDataTuple Fields

Key-value pairs of merchant data that merchants can pass with the transaction.

Fields Description

Key

xs:string

(Optional) Key name, part of a key-value pair, for merchant data passed with the transaction.

Character Length and Limitations: 64 single-byte characters. You can pass up to 16 key-value pairs of merchant data with each payment, and up to 10 payments within each request.

Value

xs:string

(Optional) Value, part of a key-value pair, of merchant data passed with the transaction.

Character Length and Limitations: 8192 single-byte characters. You can pass up to 16 key-value pairs of merchant data with each payment, and up to 10 payments within each request.

UserSelectedOptionsType Fields

Field Description

InsuranceOptionSelected

xs:boolean

(Optional) The option that the buyer chose for insurance. Value is:

  • Yes — The buyer opted for insurance.

  • No — The buyer did not opt for insurance.

ShippingOptionIsDefault

xs:boolean

(Optional) Whether the buyer chose the default shipping option. Value is:

  • true — The buyer chose the default shipping option.

  • false — The buyer did not choose the default shipping option.

ShippingOptionAmount

cc:BasicAmountType

(Optional) The shipping amount that the buyer chose.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ShippingOptionName

xs:string

(Optional) The name of the shipping option, such as air or ground.

SellerDetailsType Fields

Field Description

SellerID

xs:string

(Optional) Unique non-changing identifier for the merchant at the marketplace site. This ID is not displayed.

Character length and limitations: 13 single-byte alphanumeric characters

SellerUserName

xs:string

(Optional) Current name of the merchant or business at the marketplace site. This name may be shown to the buyer.

SellerRegistrationDate

xs:dateTime

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

Character length and limitations:

Must be a valid date, in UTC/GMT format; for example, 2013-08-24T05:38:48Z. No wildcards are allowed.

DoExpressCheckoutPayment Response Message

DoExpressCheckoutPayment Response Fields

Field Description

Token

xs:string

The timestamped token value that was returned by SetExpressCheckout response and passed on GetExpressCheckoutDetails request.

Character length and limitations: 20 single-byte characters

PaymentInfo

ebl:PaymentInfoType

Information about the payment.

BillingAgreementID

xs:string

Identification number of the billing agreement. When the buyer approves the billing agreement, it becomes valid and remains valid until it is canceled by the buyer.

Note: For reference transactions, you can pass a billing agreement ID in the ReferenceID request field; also, a billing agreement ID is returned in the transaction response when the transaction referenced is a billing agreement.

Character length and limitations: 19 single-byte alphanumeric characters

RedirectRequired

xs:boolean

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 token value appended:

https://www.paypal.com/cgi-bin/webscr?cmd=_complete-express-checkout&token=(token)

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

Note

xs:string

The text entered by the buyer on the PayPal website if you set the AllowNote field to 1 in SetExpressCheckout.

This field is available since version 53.0.

Character length and limitations: 255 single-byte characters

MsgSubID

xs:string

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.

Added in version 114 of the API.

SuccessPageRedirectRequested

xs:boolean

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 token value appended::

https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout-success&token=(token)

UserSelectedOptions

ebl:UserSelectedOptionType

Information about the user selected options.

CoupledPaymentInfo

ebl:CoupledPaymentInfoType

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

TransactionID

xs:string

Unique transaction ID of the payment.

Note: If the PaymentAction of the request was Authorization or Order, this value is your AuthorizationID for use with the Authorization & Capture APIs.

Character length and limitations: 17 characters except for transactions of the type Order have a character length of 19.

EbayTransactionId

xs:string

eBay transaction identification number.

Character length and limitations: 255 single-byte characters

ParentTransactionID

ebl:TransactionId

Parent or related transaction identification number. This field is populated for the following transaction types:

  • Reversal

  • Capture of an authorized transaction

  • Reauthorization of a transaction

  • Capture of an order. The value of ParentTransactionID is the original OrderID.

  • Authorization of an order. The value of ParentTransactionID is the original OrderID.

  • Capture of an order authorization

  • Void of an order. The value of ParentTransactionID is the original OrderID.

Character length and limitations: 17 characters except for transactions of the type Order have a character length of 19.

ReceiptID

ebl:ReceiptID

Character length and limitations: 16 digits in xxxx-xxxx-xxxx-xxxx format.

TransactionType

ebl:PaymentTransactionCodeType

Type of transaction. Value is:

  • cart

  • expresscheckout

Character length and limitations: 15 single-byte characters

PaymentType

ebl:PaymentCodeType

Indicates whether the payment is instant or delayed. Value is:

  • none

  • echeck

  • instant

Character length and limitations: 7 single-byte characters

RefundSourceCodeType

ebl:RefundSourceCodeType

This is the type of PayPal funding source that can be used for auto refunds.

  • any - The merchant has no preference. PayPal can use any available funding source. (PayPal balance or eCheck)
  • default - The merchant's preferred funding source as configured in the account profile. (PayPal balance or eCheck)
  • instant - PayPal balance only.
  • echeck - The merchant prefers echeck. If the PayPal balance can cover the refund amount, we will use the PayPal balance. (PayPal balance or eCheck)

ExpectedeCheckClearDate

xs:dateTime

eCheck latest expected clear date.

PaymentDate

xs:dateTime

Date/time stamp of the payment.

Character length and limitations:

Date and time are in UTC/GMT format. For example, 2013-08-24T05:38:48Z.

GrossAmount

cc:BasicAmountType

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 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

FeeAmount

cc:BasicAmountType

PayPal fee amount charged for the transaction.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

SettleAmount

cc:BasicAmountType

Amount deposited in your PayPal account after a currency conversion.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

TaxAmount

cc:BasicAmountType

Tax charged on the transaction.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ExchangeRate

xs:string

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

PaymentStatus

ebl:PaymentStatusCodeType

The status of the payment. Value is:

  • None — No status.

  • Canceled-Reversal — A reversal has been canceled; for example, when you win a dispute and the funds for the reversal have been returned to you.

  • Completed — The payment has been completed, and the funds have been added successfully to your account balance.

  • Denied — You denied the payment. This happens only if the payment was previously pending because of possible reasons described for the PendingReason element.

  • Expired — the authorization period for this payment has been reached.

  • Failed — The payment has failed. This happens only if the payment was made from your buyer's bank account.

  • In-Progress — The transaction has not terminated, e.g. an authorization may be awaiting completion.

  • Partially-Refunded — The payment has been partially refunded.

  • Pending — The payment is pending. See the PendingReason field for more information.

  • Refunded — You refunded the payment.

  • Reversed — A payment was reversed due to a chargeback or other type of reversal. The funds have been removed from your account balance and returned to the buyer. The reason for the reversal is specified in the ReasonCode element.

  • Processed — A payment has been accepted.

  • Voided — An authorization for this transaction has been voided.

  • Completed-Funds-Held — The payment has been completed, and the funds have been added successfully to your pending balance.

    See the HoldDecision field for more information.

PendingReason

ebl:PendingStatusCodeType

Reason the payment is pending. Value is:

  • none — No pending reason.

  • address — The payment is pending because your buyer did not include a confirmed shipping address and your Payment Receiving Preferences is set such that you want to manually accept or deny each of these payments. To change your preference, go to the Preferences section of your Profile.

  • authorization — The payment is pending because it has been authorized but not settled. You must capture the funds first.

  • echeck — The payment is pending because it was made by an eCheck that has not yet cleared.

  • intl — The payment is pending because you hold a non-U.S. account and do not have a withdrawal mechanism. You must manually accept or deny this payment from your Account Overview.

  • multi-currency — You do not have a balance in the currency sent, and you do not have your Payment Receiving Preferences set to automatically convert and accept this payment. You must manually accept or deny this payment.

  • order — The payment is pending because it is part of an order that has been authorized but not settled.

  • payment-review — The payment is pending while it is being reviewed by PayPal for risk.

  • regulatory-review - The payment is pending while we make sure it meets regulatory requirements. You will be contacted again in 24-72 hours with the outcome of the review.
  • unilateral — The payment is pending because it was made to an email address that is not yet registered or confirmed.

  • verify — The payment is pending because you are not yet verified. You must verify your account before you can accept this payment.

  • other — The payment is pending for a reason other than those listed above. For more information, contact PayPal customer service.

Note: PendingReason is returned in the response only if PaymentStatus is Pending.

ReasonCode

ebl:ReasonCodeType

Reason for a reversal if TransactionType is reversal. Value is:

  • none — No reason code.

  • chargeback — A reversal has occurred on this transaction due to a chargeback by your buyer.

  • guarantee — A reversal has occurred on this transaction due to your buyer triggering a money-back guarantee.

  • buyer-complaint — A reversal has occurred on this transaction due to a complaint about the transaction from your buyer.

  • refund — A reversal has occurred on this transaction because you have given the buyer a refund.

  • other — A reversal has occurred on this transaction due to a reason not listed above.

HoldDecision

xs:string

Reason that this payment is being held. Value is:

  • newsellerpaymenthold — This is a new merchant.

  • paymenthold — A hold is placed on the merchant's transaction for a reason not listed.

This field is available since version 71.0 and is returned only if PaymentStatus is Completed-Funds-Held.

ShippingMethod

xs:string

Shipping method selected by the user during check-out.

ProtectionEligibility

xs:string

Prior to version 64.4, the kind of seller protection in force for the transaction. Value is:

  • Eligible — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.

  • PartiallyEligible — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.

  • Ineligible — Merchant is not protected under the Seller Protection Policy.

ProtectionEligibilityType

xs:string

Since version 64.4, the kind of seller protection in force for the transaction.

It is one or more of the following values:

  • ItemNotReceivedEligible – Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.
  • UnauthorizedPaymentEligible – Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payment.
  • Ineligible – Merchant is not protected under the Seller Protection Policy.
Note: If more than one of these values is returned in this field, they will be returned in a comma-delimited string; for example, ItemNotReceivedEligible,UnauthorizedPaymentEligible.

This field is available since version 64.4.

ReceiptReferenceNumber

xs:string

Receipt Reference Number for this Transaction

ShipAmount

xs:string

Amount of shipping charged on this transaction.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ShipHandleAmount

xs:string

Amount of ship handling charged on transaction

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ShipDiscount

xs:string

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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. See the currency codes page for details.

InsuranceAmount

xs:string

Amount of Insurance amount on transaction

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

Subject

xs:string

Subject as entered in the transaction

StoreId

xs:string

StoreId as entered in the transaction

TerminalId

xs:string

TerminalId as entered in the transaction

EnhancedPaymentInfo

ed:EnhancedPaymentInfoType

Enhanced payment information.

SellerDetails

ebl:SellerDetailsType

Details about this merchant.

PaymentRequestID

xs:string

Unique identifier of the specific payment request. The value should match the one you passed in the DoExpressCheckout request.

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

FMFDetails

ebl:FMFDetailsType

List of fraud management filters.

PaymentError

ebl:ErrorType

Indicates the payment status for an individual payment request in the case of parallel payments.

InstrumentDetails

ebl:InstrumentDetailsType

Type of the payment instrument.

OfferDetails

ebl:OfferDetailsType

Offer Details.

BinEligibility

xs:string

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

Field Description

InstrumentCategory

xs:string

Returns the category of the instrument only when it is promotional. Value is:
1 — PayPal Credit ® (formerly Bill Me Later®)
2 — A Private Label Credit Card (PLCC) or co-branded payment card

InstrumentID

xs:string

Reserved for future use.
Returns an instrument ID (issued by the external party) corresponding to the funding source used in the payment.

UserSelectedOptionType Fields

Field Description

ShippingCalculationMode

xs:string

Describes how the options that were presented to the buyer were determined. Value is:

  • API - Callback

  • API - Flatrate

InsuranceOptionSelected

xs:boolean

The option that the buyer chose for insurance. Value is:

  • Yes — The buyer opted for insurance.

  • No — The buyer did not opt for insurance.

ShippingOptionIsDefault

xs:boolean

Indicates whether the buyer chose the default shipping option. Value is:

  • true — The buyer chose the default shipping option.

  • false — The buyer did not choose the default shipping option.

Character length and limitations: true or false

ShippingOptionAmount

cc:BasicAmountType

The shipping amount that the buyer chose.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

ShippingOptionName

xs:string

The name of the shipping option, such as air or ground.

ErrorType Fields

Field Description

ShortMessage

xs:string

Payment error short message.

LongMessage

xs:string

Payment error long message.

ErrorCode

xs:string

Payment error code.

SeverityCode

xs:string

Payment error severity code.

ErrorParameters

xs:string

Application-specific error values indicating more about the error condition.

SellerDetailsType Fields

Field Description

PayPalAccountID

xs:string

Unique identifier for the merchant. For parallel payments, this field contains either the Payer Id or the email address of the merchant.

Character length and limitations: 127 single-byte alphanumeric characters

SecureMerchantAccountID

ebl:UserIDType

Unique PayPal customer account number (of the merchant). This field is returned in the response. It is ignored if passed in the request.

SellerId

xs:string

Unique, non-changing identifier for the merchant at the marketplace site. (Optional)

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

SellerUserName

xs:string

Current name of the merchant or business at the marketplace site. This name may be shown to the buyer.

SellerRegistrationDate

xs:dateTime

Date when the merchant registered with the marketplace.

Character length and limitations:

Date and time are in UTC/GMT format. For example, 2013-08-24T05:38:48Z.

FMFDetailsType Fields

Field Description

AcceptFilters

ebl:RiskFilterListType

List of filters that recommend acceptance of the payment.

DenyFilters

ebl:RiskFilterListType

List of filters that recommend denial of the payment.

PendingFilters

ebl:RiskFilterListType

List of filters that caused the payment to become pending.

ReportsFilters

ebl:RiskFilterListType

List of filters that caused the payment to become flagged.

RiskFilterListType Fields

Field Description

ID

xs:int

Filter ID. Value is:

  • 1 - AVS No Match
  • 2 - AVS Partial Match
  • 3 - AVS Unavailable/Unsupported
  • 4 - Card Security Code (CSC) Mismatch
  • 5 - Maximum Transaction Amount
  • 6 - Unconfirmed Address
  • 7 - Country Monitor
  • 8 - Large Order Number
  • 9 - Billing/Shipping Address Mismatch
  • 10 - Risky ZIP Code
  • 11 - Suspected Freight Forwarder Check
  • 12 - Total Purchase Price Minimum
  • 13 - IP Address Velocity
  • 14 - Risky Email Address Domain Check
  • 15 - Risky Bank Identification Number (BIN) Check
  • 16 - Risky IP Address Range
  • 17 - PayPal Fraud Model

Name

xs:string

Filter name.

Description

xs:string

Filter description.

CoupledPaymentInfoType Fields

Information about Coupled Payment transactions.

Field Description

CoupledPaymentRequestID

xs:string

The ID passed in the Coupled Payment Request.

CoupledPaymentID

xs:string

The ID generated by PayPal that uniquely identifies this CoupledPayment. It is returned in the response.

OfferDetailsType Fields

Field Description

OfferCode

xs:string

Code used to identify the promotional offer.

BMLOfferInfo

ebl:BMLOfferInfoType

Specific information for PayPal Credit.

BMLOfferInfoType Fields

Field Description

OfferTrackingID

xs:string

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

xs:string

(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.)

xs:string

(Optional) Whether the buyer selected a gift receipt on the PayPal pages. Value is:

  • true — The buyer selected a gift message.
  • false — The buyer did not select a gift message.
GiftWrapName

Discontinued Sept. 8, 2016. (No replacement.)

xs:string

(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.)

cc:BasicAmountType

(Optional) Amount only if the buyer selected the gift option on the PayPal pages.

Note: You must set the currencyID attribute to one of the three-character currency codes for any of the supported PayPal currencies.

Character length and limitations:

Value is typically a positive number that cannot exceed 10,000.00 USD 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 (.), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page.

SurveyQuestion

Discontinued Sept. 8, 2016. (No replacement.)

xs:string

(Optional) Survey question on the PayPal pages.

Limitations: 50 single-byte characters

SurveyChoiceSelected

Discontinued Sept. 8, 2016. (No replacement.)

xs:string

(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.

Additional information