Earlier SOAP API versions

You can still use earlier API versions but PayPal recommends that you use the latest version whenever possible.

What's new in v95.0

Maintenance release. Updated for v95.0. Added new 11800 error field and fulfillmentReferenceNumber field related to Global Shipping Program (GSP). See PayPal Release Notes for more information: Release Notes.

What's new in v93.0

Maintenance release. New 10486 error code added for redirects when the process declines the transaction: The transaction could not be completed. Please redirect your customer to PayPal.

What's new in v92.0

Updated for v92.0. Added new MsgSubID field for the following APIs for both requests and responses: RefundTransaction, DoReferenceTransaction, DoAuthorization, and DoCapture.

What's new in v91.0

Maintenance release.

What's new in v89.0

Updated for v89.0. Added new field to SetExpressCheckout and DoReferenceTransaction request APIs. Added new error to DoReferenceTransaction request API.

What's new in v88.0

Maintenance release. Updated for v88.0.

What's new in v85.0

No new features added. Maintenance release.

What's new in v84.0

New field in RefundTransaction response

Field Description
RefundInfo

ebl:RefundInfoType

Contains refund payment status information.

Available since v84.0.

New RefundInfoType in RefundTransaction response

Field Description
RefundStatus

xs:PaymentStatusCodeType

Status of the refund. Value is:

  • instant
  • delayed

Available since v84.0.

PendingReason

xs:PendingStatusCodeType

Reason that the payment is delayed. Value is:

  • none — The refund is instant.
  • echeck — The refund is delayed.

Available since v84.0.

New DoReferenceTransactionResponseDetailsType field

Field Description
PaymentAdviceCode

xs:string

Response code from the processor when a recurring transaction is declined. For details on the meanings of these codes, see AVS, CVV2, and payment advice response codes.

Available since v84.0.

New DoDirectPaymentResponse field

Field Description
PaymentAdviceCode

xs:string

Response code from the processor when a recurring transaction is declined. For details on the meanings of these codes, see AVS, CVV2, and payment advice response codes.

Available since v84.0.

What's new in v82.0

New DoCapture request field

Field Description
MerchantStoreDetails

ns:MerchantStoreDetailsType

(Optional) Information about the merchant store.

Available since v82.0.

New MerchantStoreDetailsType in DoCapture request

Field Description
StoreID

xs:string

The ID of the merchant store. This field is required for point-of-sale transactions.

Character length and limitations: 50 single-byte characters.

Available since v84.0.

TerminalID

xs:string

(Optional) The ID of the terminal.

Character length and limitations: 50 single-byte characters.

Available since v82.0.

New RefundTransaction request fields

Field Description
MerchantStoreDetails

ns:MerchantStoreDetailsType

(Optional) Information about the merchant store.

Available since v82.0.

RetryUntil

xs:dateTime

(Optional) Maximum time until you must retry the refund.

Note: This field does not apply to point-of-sale transactions.

Available since v82.0.

RefundSource

ebl:RefundSourceCodeType

(Optional)Type of PayPal funding source (balance or eCheck) that can be used for auto refund. Value is:

  • any — The merchant does not have a preference. Use any available funding source.
  • default — Use the merchant's preferred funding source, as configured in the merchant's profile.
  • instant — Use the merchant's balance as the funding source.
  • eCheck — The merchant prefers using the eCheck funding source. If the merchant's PayPal balance can cover the refund amount, use the PayPal balance.
Note: This field does not apply to point-of-sale transactions.

Available since v82.0.

RefundType

ebl:RefundPurposeTypeCodeType

The type of refund. Value is:

  • Full — Full refund (default).
  • Partial — Partial refund.
  • ExternalDispute — External dispute. Available since v82.0.
  • Other — Other type of refund. Available since v82.0.

New MerchantStoreDetailsType in RefundTransaction request

Field Description
StoreID

xs:string

The ID of the merchant store. This field is required for point-of-sale transactions.

Character length and limitations: 50 single-byte characters.

Available since v84.0.

TerminalID

xs:string

(Optional) ID of the terminal.

Character length and limitations: 50 single-byte characters.

Available since v82.0.

What's new in v80.0

New PaymentDetailsType field in DoDirectPayment request

Field Description
Recurring

ns:RecurringFlagType

(Optional) Indicates a recurring transaction. Value is:

  • Any value other than Y — This is not a recurring transaction (default).
  • Y — This is a recurring transaction.
Note: To pass Y in this field, you must have established a billing agreement with the buyer specifying the amount, frequency, and duration of the recurring payment.

Available since v80.0.

New PaymentDetailsType fields in DoReferenceTransaction request

Field Description
Recurring

ns:RecurringFlagType

(Optional) Indicates a recurring transaction. Value is:

  • Any value other than Y — This is not a recurring transaction (default).
  • Y — This is a recurring transaction.
Note: To pass Y in this field, you must have established a billing agreement with the buyer specifying the amount, frequency, and duration of the recurring payment.

Available since v80.0.

What's new in v74.0

New DoExpressCheckoutPayment behavior

By default, the DoExpressCheckoutPayment API operation is idempotent for all API callers. You can call DoExpressCheckoutPayment up to a maximum of 10 times and it returns the same result. The exceptions are when DoExpressCheckoutPayment generates an error or the token expires. This functionality only works with version 74.0 or greater. There is no change to DoExpressCheckoutPayment functionality if you are not updating to the latest version of the API. If you update to version 74.0 or higher but want to opt out of this functionality, contact PayPal.

New DoExpressCheckoutPayment error code

Error code

Short message

Long message

Action

13751 Could not retrieve the original successful response. Transaction completed successfully, but could not retrieve the original successful response.

What's new in v72.0

Changes to BuyerDetailsType in SetExpressCheckout request

Field Description
TaxIdDetails

ebl:TaxIdDetailsType

Details about the buyer's tax information. This field is required for Brazil and is for Brazil use only.

New TaxIdDetailsType structure in SetExpressCheckout request

Field Description
TaxIdType

New field

xs:string

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

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

TaxId

New field

xs:string

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

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

New TaxIdDetailsType structure in GetExpressCheckoutDetails response

Field Description
TaxIdType

New field

xs:string

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

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

TaxId

New field

xs:string

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

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

What's new in v69

New PaymentDetailsItemType structure in CreateRecurringPaymentsProfile request

Field Description
ItemCategory

New field

ns:ItemCategoryType

Indicates whether the item is digital or physical goods. For digital goods, this field is required and you must set it to Digital to get the best rates. Value is:

  • Digital
  • Physical
Name

New field

xs:string

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

Character length and limitations: 127 single-byte characters.

Description

New field

xs:string

(Optional) Item description.

Character length and limitations: 127 single-byte characters.

Amount

New field

ebl: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 three-character currency codes for any of the supported PayPal currencies.

Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Equivalent to nine characters maximum for USD.

Number

New field

xs:string

(Optional) Item number.

Quantity

New field

xs:integer

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

Character length and limitations: Any positive integer.

Tax

New field

ebl: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: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, the decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Equivalent to nine characters maximum for USD.

Changes to PaymentDetailsItemType in DoReferenceTransaction request

Field Description
ItemCategory

New field

ns:ItemCategoryType

Indicates whether the item is digital or physical goods. For digital goods, this field is required and you must set it to Digital to get the best rates. Value is:

  • Digital
  • Physical
Name

xs:string

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

Character length and limitations: 127 single-byte characters.

Amount

ebl: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 three-character currency codes for any of the supported PayPal currencies.

Character length and limitations: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, the decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Equivalent to nine characters maximum for USD.

Quantity

xs:integer

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

Character length and limitations: Any positive integer.

What's new in v66

Changes to PaymentDetailsType in SetExpressCheckout and DoExpressCheckoutPayment requests

Field Description
ItemTotal

ebl:BasicAmountType

Sum of cost of all items in this order. For digital goods, this field is required.

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

ebl:PaymentActionCodeType

How you want to obtain payment. When implementing digital goods, this field is required and you must set it to Sale.

Changes to PaymentDetailsItemType in SetExpressCheckout and DoExpressCheckoutPayment requests

Field Description
ItemCategory

ns:ItemCategoryType

New field

Indicates whether the item is digital or physical goods. Available since v65.1.. For digital goods this field is required and you must set it to Digital. Value is:

  • Digital
  • Physical
Name

xs:string

Item name. For digital goods, this field is required.

Character length and limitations: 127 single-byte characters.

L_NAMEn is deprecated since v63.0. Use L_PAYMENTREQUEST_n_NAMEm instead.

Description

xs:string

Item description. For digital goods, this field is required.

Character length and limitations: 127 single-byte characters.

Amount

ebl:BasicAmountType

Cost of item. For digital goods, this field is required.

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: Must not exceed $10,000 USD in any currency. No currency symbol. Regardless of currency, the decimal separator must be a period (.), and the optional thousands separator must be a comma (,). Equivalent to nine characters maximum for USD.

Quantity

xs:integer

Item quantity. For digital goods, this field is required.

Character length and limitations: Any positive integer.

Changes to PaymentDetailsItemType in GetExpressCheckoutDetails response

Field Description
ItemCategory

ns:ItemCategoryType

New field

Indicates whether the item is digital or physical goods. For digital goods this field is required and you must set it to Digital. Value is:

  • Digital
  • Physical

Available since v65.1.