DoDirectPayment API Operation (SOAP)
Last updated: Sept 18th, 6:04pm
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.
Processes a credit card payment.
Only available to: Website Payments Pro
Important: PayPal isn't accepting new users for this feature, and we require existing users to upgrade to our Advanced Debit and Credit solution that supports EMV 3DS (3DS 2.0) for PSD2. Our Advanced Debit and Credit solution enables highly customizable custom-card fields and reduced PCI Compliance requirements. For more information, see Set up advanced credit and debit card payments.
DoDirectPayment Request Message
DoDirectPayment Request Fields
Field | Description |
---|---|
|
(Optional) How you want to obtain payment. Value is:
Note: Order is not allowed for Direct Payment.Character length and limit: Up to 13 single-byte alphabetic characters |
|
(Required) Information about the credit card to be charged. |
|
(Required) Information about the credit card to be charged. |
|
(Required) IP address of the buyer's browser. Note: PayPal records this IP addresses as a means to detect possible fraud. Character length and limitations: 15 single-byte characters, including periods, for example, 255.255.255.255 |
|
(Optional) Your customer session identification token. Note: PayPal records this optional session identification token as an additional means to detect possible fraud. Character length and limitations: 64 single-byte numeric characters |
|
(Optional) Flag to indicate whether you want the results returned by Fraud Management Filters. By default, you do not receive this information. Value is:
|
SoftDescriptor |
<Your-Not-For-Profit> <State> , <Your-Not-For-Profit> <Branch-Name> , <Your-Website> dues or <Your-Website> list fee .Character length and limitations: 23 alphanumeric characters, can include the special characters dash ( - ) and dot (. ) only. Asterisks (* ) are NOT permitted. If it includes a space character ( ), enclose the "<Soft-Descriptor>" value in double quotes.Note:
For US Website Payments Pro AMEX cards only and only for merchants passing dynamic soft descriptors, the dynamic soft descriptors for AMEX cards are only guaranteed once the transaction settles. This means that during the authorization time the card issuing bank might show their customer the registered business or legal name for the merchant versus the dynamic soft descriptor passed on a per API transaction. |
SoftDescriptorCity |
Character length and limitations: 13 characters including special characters, such as, space, ! , " , # , $ , % , & , ' , (\`, \`) , + , - ,* , / , : , ; , <\`, \`=\`, \`> , ? , @ , comma and period.If it includes the space character ( ), enclose the "<Soft-Descriptor-City>" value in double quotes.Note:
Underscore ( |
CreditCardDetailsType Fields
PayerInfoType Fields
Field | Description |
---|---|
|
(Required) Email address of buyer. Character length and limitations: 127 single-byte characters |
|
(Optional) Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters |
|
(Optional) Status of buyer. Value is:
Character length and limitations: 10 single-byte alphabetic characters |
|
(Optional) First and last name of buyer. |
|
(Optional) Buyer's country of residence in the form of ISO standard 3166 two-character country codes. Character length and limitations: 2 single-byte characters |
|
(Optional) Buyer's business name. Character length and limitations: 127 single-byte characters |
|
(Optional) Buyer's shipping address information. |
PayerNameType Fields
Field | Description |
---|---|
|
(Optional) Buyer's salutation. Character length and limitations: 20 single-byte characters |
|
(Optional) Buyer's first name. (Required) when certain FMF settings are enabled. Character length and limitations: 64 double-byte characters |
|
(Optional) Buyer's middle name. Character length and limitations: 64 double-byte characters |
|
(Optional) Buyer's last name. (Required) when certain FMF settings are enabled. Character length and limitations: 64 double-byte characters |
|
(Optional) Buyer's suffix. Character length and limitations: 12 single-byte characters |
AddressType Fields
Field | Description |
---|---|
|
(Required) First street address. Character length and limitations: 100 single-byte characters |
|
(Optional) Second street address. Character length and limitations: 100 single-byte characters |
|
(Required) Name of city. Character length and limitations: 40 single-byte characters |
|
State or province. Character length and limitations: 40 single-byte characters |
|
(Required) Country code. Character length and limitations: 2 single-byte characters |
|
(Required) U.S. ZIP code or other country-specific postal code. Character length and limitations: 20 single-byte characters |
PaymentDetailsType Fields
Field | Description |
---|---|
|
(Required) The total cost of the transaction to the buyer. If shipping cost and tax charges are known, include them in this value. If not, this value should be the current subtotal of the order. If the transaction includes one or more one-time purchases, this field must be equal to the sum of the purchases. This field must be set to a value greater than 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 positive number (or |
|
(Optional) Sum of cost of 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 a positive number (or |
|
(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 a positive number (or |
|
(Optional) Total shipping insurance costs for this order. The value must be a non-negative currency amount or 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 positive number (or
|
|
(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 (
|
|
(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 a positive number (or |
|
(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 a positive number (or |
|
(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 |
|
(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 |
|
(Optional) Your own invoice or tracking number. 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.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. Character length and limitations: 256 single-byte alphanumeric characters |
|
(Optional) An identification code for use by third-party applications to identify transactions. Character length and limitations: 32 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) Details about each individual item included in the order. |
|
(Optional) Flag to indicate a recurring transaction. Value is:
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.This field is introduced in version 80.0 of the API. |
PaymentCategoryType |
(Optional) Category of a payment. Value is: PAYMENTINITIATOR
PAYMENTCATEGORY
CARDONFILE
PREVIOUSTRANSACTIONREFERENCE PayPal transaction ID previously used to charge the buyer. Shows payment processors that you have established a contract with the buyer. PREVIOUSNETWORKTRANSACTIONREFERENCE
|
PaymentDetailsItemType Fields
Field | Description |
---|---|
|
(Optional) Item name. Character length and limitations: 127 single-byte characters |
|
(Optional) Item description. Character length and limitations: 127 single-byte characters |
|
(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.Character length and limitations: Value is a positive number (or |
|
(Optional) Item number. Character length and limitations: 127 single-byte characters |
|
(Optional) Item quantity. Character length and limitations: Any positive integer |
|
(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 a positive number (or |
|
(Optional) Information relating to an auction sale on eBay. |
EbayItemPaymentDetailsItemType Fields
Field | Description |
---|---|
|
(Optional) Auction item number. Character length: 765 single-byte characters |
|
(Optional) Auction transaction identification number. Character length: 255 single-byte characters |
|
(Optional) Auction order identification number. Character length: 64 single-byte characters |
AddressType (Shipping) Fields
Field | Description |
---|---|
|
Person's name associated with this shipping address. It is required if using a shipping address. Character length and limitations: 32 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; 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 |
DoDirectPayment Response Message
DoDirectPayment Response Fields
Field | Description |
---|---|
|
(Optional) Unique transaction ID of the payment. Note: If the PaymentAction of the request was Authorization , the value of TransactionID is your AuthorizationID for use with the DoAuthorization and DoCapture API operations. |
|
This value is the payment amount specified in the |
|
Address Verification System response code resulting from the AVS verification. See AVS Response Codes for details. Character length and limitations: 1 single-byte alphanumeric character |
|
Result of the CVV2 verification. See CVV2 Response Codes for details. |
Transaction is pending the Interchange Plus (IC+) processing. For merchants who opt in to IC+, PayPal waits to receive funding and the fee amount from the bank before settling the transaction to the merchant's PayPal account. While the transaction is awaiting funding, the value returned in this field is: |
|
|
Fraud filter details. |
|
A processor response code typically returned on declined Website Payments Pro recurring transactions. Its purpose is to provide merchants with information and specific instructions on how to handle the decline. It is the merchant's responsibility to follow the instructions provided in order to avoid chargebacks. For details on the meanings of these codes, see AVS, CVV2, and payment advice response codes. Note: If a recurring transaction is declined with a returned PaymentAdviceCode value of 03 or 21 , PayPal will cancel the recurring transaction and send a cancellation email notification to the merchant. These payment advice codes indicate that either the account was closed, fraud was involved, or the card holder has asked their bank to stop this payment for another reason.Developers or partners using reference transactions to provide recurring payment or subscription support for Website Payments Pro merchants (outside of PayPal Recurring Payments) are responsible for stopping the subscription and should not try again with the same card same card if the Payment Advice |
FMFDetailsType Fields
Field | Description |
---|---|
|
List of filters that recommend acceptance of the payment. |
|
List of filters that recommend denial of the payment. |
|
List of filters that caused the payment to become pending. |
|
List of filters that caused the payment to become flagged. |
RiskFilterListType Fields
Field | Description |
---|---|
|
Filter ID. Value is:
|
|
Filter name. |
|
Filter description. |
ThreeDSecure Response Fields
Field | Description |
---|---|
|
Visa Payer Authentication Service status. The value indicates whether Verified by Visa confirms that the information received is acceptable. It is returned only for Verified by Visa transactions. Authentication:
Attempted authentication:
No liability shift: Blank, 0, or B |
|
Electronic Commerce Indicator (ECI) that PayPal submitted with the payment authorization request. This might not be the same value received from the merchant. In rare cases, PayPal is required to use a different ECI for authorization based on the full set of 3-D Secure values provided from the Mastercard:
Visa:
|