On this page
No Headings
Last updated: June 18, 2026
Important: NVP/SOAP is a legacy integration method. We accept new integrations and support existing integrations, but there are newer solutions. If you're starting an integration, we recommend our latest solutions.
Authorizes a payment.
Note: Only the fields described in this documentation are available for use.
| Field | Description |
|---|---|
TransactionID | xs:string(Required) Value of the order's transaction identification number returned by PayPal. Character length and limitations: 17 characters. Orders transactions have 19 characters. |
Amount | ebl:BasicAmountType(Required) Amount to authorize. 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 ( .), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page. |
TransactionEntity | ebl:TransactionEntityType(Optional) Type of transaction to authorize. The only allowable value is Order, which means that the transaction represents a buyer order that can be fulfilled over 29 days. |
PaymentDetailsItem | ebl:PaymentDetailsItemType(Optional) Details about each individual item included in the order. |
ShipToAddress | ebl:AddressType(Optional) Shipping address for this order. |
ItemTotal | cc:BasicAmountType(Optional) Sum of cost of all items in this order. 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 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 ( .), 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. 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 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 ( .), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page. |
HandlingTotal | cc:BasicAmountType(Optional) Total handling costs for this order. 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 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 ( .), 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. 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 ( .), 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. 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 ( .), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page. |
ShippingDiscount | cc:BasicAmountType(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 ( .), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. See the currency codes page for details. |
OrderDescription | xs:string(Optional) Description of items the customer is purchasing. Character length and limitations: 127 single-byte alphanumeric characters. |
Custom | xs:string(Optional) A free-form field for your own use. Character length and limitations: 256 single-byte alphanumeric characters. |
IPAddress | xs:string(Optional) IP address of the buyer. |
ShipToStore | xs:string(Optional) Indicates if the item purchased will be shipped to a store location. |
MsgSubId | xs:string(Optional) A message ID used for idempotence to uniquely identify a message. This ID can later be used to request the latest results for a previous request without generating a new request. Examples of this include requests due to timeouts or errors during the original request. Character length and limitations: string of up to 38 single-byte characters. This field is available since version 92.0. |
| Field | Description |
|---|---|
Name | xs:stringPerson'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:stringFirst 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:stringName of city. It is required if using a shipping address. Character length and limitations: 40 single-byte characters |
StateOrProvince | xs:stringState or province. Required for transactions only if the address is in one of the following countries: Argentina, Brazil, Canada, China, Indonesia, India, Japan, Mexico, Thailand or USA. See the list of PayPal state codes. Character length and limitations: 40 single-byte characters |
PostalCode | xs:stringU.S. ZIP code or other country-specific postal code. It is required if using a U.S. shipping address; may be required for other countries. Character length and limitations: 20 single-byte characters |
Country | ebl:CountryCodeTypeCountry code. It is required if using a shipping address. Character length and limitations: 2 single-byte characters |
Phone | xs:string(Optional) Phone number. Character length and limitations: 20 single-byte characters |
| Field | Description |
|---|---|
Name | xs:string(Optional) Item name. Character length and limitations: 127 single-byte characters |
Number | xs:string(Optional) Item number. Character length and limitations: 127 single-byte characters |
Quantity | xs:integer(Optional) Item quantity. Character length and limitations: Any positive integer |
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. .), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page. |
Amount | cc:BasicAmountType(Optional) Cost of item. Note: You must set the currencyID attribute to one of the 3-character currency codes for any of the supported PayPal currencies. .), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page. |
EbayItemPaymentDetailsItem | ns:ebayItemPaymentDetailsItemType(Optional) Information relating to an auction sale on eBay. |
PromoCode | xs:string(Optional) Promotional financing code for item. Part of the Merchant Services Promotion Financing feature. |
ProductCategory | ns:ProductCategoryType(Optional) |
Description | xs:string(Optional) Item description. Character length and limitations: 127 single-byte characters |
ItemWeight | cc:MeasureType(Optional) Information about the Item weight. |
ItemLength | cc:MeasureType(Optional) Information about the Item length. |
ItemWidth | cc:MeasureType(Optional) Information about the Item width. |
ItemHeight | cc:MeasureType(Optional) Information about the Item height. |
ItemURL | xs:string(Optional) URL for the item. Character length and limitations: no limit. |
EnhancedItemData | ed:EnhancedItemDataType(Optional) Enhanced data for each item in the cart. |
ItemCategory | ns:ItemCategoryType(Optional) Item category - physical or digital. |
Note: Only the fields described in this documentation are available for use.
| Field | Description |
|---|---|
TransactionID | xs:string(Optional) Authorization identification number. Character length and limitations: 17 characters. Orders transactions have 19 characters. |
Amount | ebl:BasicAmountTypeAmount you specified in the request. 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 ( .), and the optional thousands separator must be a comma (,). Some currencies do not allow decimals. For details, see the currency codes page. |
AuthorizationInfo | ns:AuthorizationInfoTypeDetails on the Authorization transaction such as the payment status, pending reason (if applicable), and protection eligibility. |
MsgSubId | xs:string(Optional) A message ID used for idempotence to uniquely identify a message. This ID can later be used to request the latest results for a previous request without generating a new request. Examples of this include requests due to timeouts or errors during the original request. Character length and limitations: string of up to 38 single-byte characters. This field is available since version 92.0. |
| Field | Description |
|---|---|
PaymentStatus | ebl:PaymentStatusCodeTypeStatus of the payment. Value is:
|
PendingReason | ebl:PendingStatusCodeTypeReason the payment is pending. Value is:
Note: PendingReason is returned in the response only if PaymentStatus is Pending. |
ProtectionEligibility | xs:stringPrior to version 64.4, the kind of seller protection in force for the transaction. Value is:
|
ProtectionEligibilityType | xs:stringSince version 64.4, the type of seller protection in force for the transaction. It is one or more of the following values:
Note: If more than one of these values is returned in this field, they are returned in a comma-delimited string; for example, ItemNotReceivedEligible,UnauthorizedPaymentEligible. |