DoAuthorization API Operation (NVP)

Authorize a payment. (More about authorization and capture)

DoAuthorization Request Message

DoAuthorization Request Fields

Field Description

METHOD

(Required) Must be DoAuthorization.

TRANSACTIONID

(Required) Value of the order's transaction identification number returned by PayPal.

Character length and limitations: 19 single-byte characters

AMT

(Required) Amount to authorize.

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

TRANSACTIONENTITY

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

CURRENCYCODE

(Optional) A 3-character currency code.

ITEMAMT

(Optional) Sum of cost of all items in this order.

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

SHIPPINGAMT

(Optional) Total shipping costs for this order.

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

HANDLINGAMT

(Optional) Total handling costs for this order.

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

TAXAMT

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

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

INSURANCEAMT

(Optional) Total shipping insurance costs for this order.

SHIPDISCAMT

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

DESC

(Optional) Description of items the customer is purchasing.

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

CUSTOM

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

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

IPADDRESS

(Optional) IP address of the buyer.

MSGSUBID

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

AddressType Fields

Field

Description

SHIPTONAME

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

Character length and limitations: 32 single-byte characters

SHIPTOSTREET

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

Character length and limitations: 100 single-byte characters

SHIPTOSTREET2

(Optional) Second street address.

Character length and limitations: 100 single-byte characters

SHIPTOCITY

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

Character length and limitations: 40 single-byte characters

SHIPTOSTATE

State or province.
It is required if the address is in one of the following countries: Argentina, Brazil, Canada, China, Indonesia, India, Japan, Mexico, Thailand or USA. PayPal accepts State codes for some countries.

Character length and limitations: 40 single-byte characters

SHIPTOZIP

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

SHIPTOCOUNTRY

Country code. It is required if using a shipping address.

Character length and limitations: 2 single-byte characters

SHIPTOPHONENUM

(Optional) Phone number.

Character length and limitations: 20 single-byte characters

PaymentDetailsItemType Fields

Field Description

L_NAMEn

(Optional) Item name.

Character length and limitations: 127 single-byte characters

L_NUMBERn

(Optional) Item number.

Character length and limitations: 127 single-byte characters

L_QTYn

(Optional) Item quantity.

Character length and limitations: Any positive integer

L_TAXAMTn

(Optional) Item sales tax.

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

L_AMTn

(Optional) Cost of item.

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

L_DESCn

(Optional) Item description.

Character length and limitations: 127 single-byte characters

L_ITEMWEIGHTVALUEn

(Optional) Information about the Item weight.

L_ITEMLENGTHVALUEn

(Optional) Information about the Item length.

L_ITEMWIDTHVALUEn

(Optional) Information about the Item width.

L_ITEMHEIGHTVALUEn

(Optional) Information about the Item height.

L_ITEMURLn

(Optional) URL for the item.

Character length and limitations: no limit.

L_ITEMCATEGORYn

(Optional) Item category - physical or digital.

DoAuthorization Response Message

DoAuthorization Response Fields

Field Description

TRANSACTIONID

Authorization identification number.

AMT

Amount you specified in the request.

Character length and limitations: Value is a positive number which cannot exceed 10,000.00 USD or the per transaction limit for the currency. 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.

MSGSUBID

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

AuthorizationInfo Fields

Field Description

PAYMENTSTATUS

Status of the payment. It is one of the following values:

  • None – No status.

  • Canceled-Reversal – A reversal has been canceled. For example, when you win a dispute, PayPal returns the funds for the reversal 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 the buyer's bank account.

  • In-Progress – The transaction has not terminated. For example, 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. PayPal removes the funds from your account balance and returns them to the buyer. The ReasonCode element specifies the reason for the reversal.

  • Processed – A payment has been accepted.

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

PENDINGREASON

Reason the payment is pending. It is one of the following values:

  • none – No pending reason.

  • address – The payment is pending because your customer 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.

  • paymentreview – The payment is pending while it is being reviewed by PayPal for risk.

  • regulatoryreview - 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.

PROTECTIONELIGIBILITY

Prior to version 64.4, the kind of seller protection in force for the transaction. It is one of the following values:

  • Eligible – Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payment 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

Since version 64.4, the kind of seller protection in force for the transaction. It is one of the following values:

  • Eligible – Merchant is protected by PayPal's Seller Protection Policy for both Unauthorized Payment and Item Not Received.

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

This field is available since version 64.4.