Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mangopay.com/llms.txt

Use this file to discover all available pages before exploring further.

Description

The PayPal Deposit Preauthorization object enables you to reserve funds via the user’s PayPal account so they can be captured later. The transaction relies on two API objects:
  • The preauthorization which returns the RedirectURL on which the user can authenticate
  • The preauthorized pay-in which captures the preauthorized funds
The PayPal preauthorization:
  • Places a hold on the card (or other funding instrument) linked in the User’s PayPal account.
  • Can potentially be captured within 29 days, but PayPal recommends capturing within 3 days for the best chance of success.
  • May not be permitted by some issues and for some cards types.
  • Only allows a single capture, for an amount equal to or less than the preauthorized amount (multi-capture is not available for PayPal preauthorizations). Multi-capture functionality is not available for PayPal.
Best practice - Capture funds within 3 daysPayPal recommends that you capture preauthorized funds within 3 days. This is because the success of the capture is subject to risk and the availability of funds on the card (or other funding instrument) that the user has linked to their PayPal account.
The POST Create a PayPal Preauthorization endpoint creates a type of the existing Deposit Preauthorization with PaymentType of PAYPAL. The PayPal Deposit Preauthorization object can be retrieved and canceled (if not used) using the existing Deposit Preauthorization endpoints: To capture funds, use the existing POST Create a Deposit Preauthorized PayIn against a DepositId with PaymentType of PAYPAL.
Best practice - Capture funds within 3 daysPayPal recommends that you capture preauthorized funds within 3 days. This is because the success of the capture is subject to risk and the availability of funds on the card (or other funding instrument) that the user has linked to their PayPal account.
Read more about preauthorized payments with PayPal

Attributes

PaypalPayerID
string
The PayPal identifier of the buyer.
BuyerLastname
string
The last name of the buyer.
BuyerPhone
string
The mobile phone number of the buyer.
BuyerFirstname
string
The first name of the buyer.
BuyerCountry
string
The country of the buyer.
PaypalOrderID
string
PayPal’s unique identifier for the order.
CancelURL
string
The URL to which the user is returned after canceling the payment. If not provided, the Cancel button returns the user to the RedirectURL.
Trackings
array (object)
Shipping information of the LineItems added to the pay-in object.
ShippingPreference
string
Returned values: SET_PROVIDED_ADDRESS, GET_FROM_FILE, NO_SHIPPINGInformation about the shipping address behavior on the PayPal payment page:
  • SET_PROVIDED_ADDRESS - The Shipping parameter becomes required and its values are displayed to the end user, who is not able to modify them.
  • GET_FROM_FILE – The Shipping parameter is ignored and the end user can choose from registered addresses.
  • NO_SHIPPING – No shipping address section is displayed.
Reference
string
Max. length: 127 characters (truncated after)The platform’s order reference for the transaction.
PaypalBuyerAccountEmail
string
The email address registered on the PayPal account used to make the payment.
Culture
string
Returned values: One of the supported languages in the ISO 639-1 format: AT, BR, CA, CH, CN, DE, DK, ES, FR, GB, ID, IL, IT, JK, JP, NL, NO, PL, PT, RU, SE, TH, TR, TW, US.The language in which the PayPal payment page is to be displayed.
LineItems
array
objectInformation about the items purchased in the transaction. The total of all line items’ UnitAmount and TaxAmount must equal the DebitedFunds amount (negative amounts not allowed).
Shipping
object
Information about the end user’s shipping address, managed by ShippingPreference.
Billing
object
Returned null because the billing address is not applicable to PayPal preauth.
StatementDescriptor
string
Max. length: 10 characters; only alphanumeric and spacesCustom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the Customizing bank statement references article for details.
RedirectURL
string
The URL to which to redirect the user to complete the payment.Caution: This variable URL is specific to each payment. You must rely on the returned URL in full (host, path, and queries) and not hardcode any part of it.
ReturnURL
string
Max. length: 255 charactersThe URL to which the user is returned after the payment, whether the transaction is successful or not.
ExecutionType
string
Returned values: WEB, DIRECT, EXTERNAL_INSTRUCTIONThe type of execution for the pay-in.
PaymentType
string
Returned values: PAYPALThe type of pay-in.
Status
string
Returned values: CREATED, SUCCEEDED, FAILEDThe status of the transaction.
Tag
string
Max. length: 255 charactersCustom data that you can add to this object.
For transactions (pay-in, transfer, payout), you can use this parameter to identify corresponding information regarding the user, transaction, or payment methods on your platform.
ResultMessage
string
The explanation of the result code.
ResultCode
string
The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.
PayinsLinked
object
Information about the deposit preauthorized pay-ins made against the deposit preauthorization.
PaymentStatus
string
Returned values: WAITING, CANCELED, CANCEL_REQUESTED, EXPIRED, VALIDATED, FAILEDThe payment status of the deposit preauthorization object:
  • WAITING – The deposit preauthorization can be used: the preauthorized funds can be captured (if Status is SUCCEEDED) or the preauthorization can be canceled manually.
  • CANCELED – Value to pass to manually cancel the deposit preauthorization before use; indicates that the deposit preauthorization was canceled manually.
  • CANCEL_REQUESTED – The cancellation of the deposit preauthorization has been requested but not yet processed.
  • EXPIRED – The hold period on the preauthorized funds has ended without it being used.
  • VALIDATED – Indicates that the preauthorized funds were captured.
  • FAILED – The pay-in against the preauthorization has failed, but a retry may be possible.
Status
string
Returned values: CREATED, SUCCEEDED, FAILEDThe status of the authorization.
AuthorId
string
The unique identifier of the user at the source of the transaction.
DebitedFunds
object
Information about the preauthorized funds.
ExpirationDate
Unix timestamp
The date and time at which the hold period ends and the preauthorized funds are released.
At the expiration date, the deposit preauthorization’s PaymentStatus changes to EXPIRED if no captures were made.
CreationDate
Unix timestamp
The date and time at which the object was created.
Id
string
Max. length: 255 charactersThe unique identifier of the PayPal preauthorization.