v2

latestOpenAPI 3.1.02026-07-262279731.3 MB
PayPal

Create a PayPal Deposit Preauthorization

This endpoint creates a Deposit Preauthorization with PaymentType of PAYPAL and returns the PayPal RedirectURL on which the user can preauthorize the debited funds.

Once authorized (Status becomes SUCCEEDED), you can capture the funds using the POST Create a Deposit Preauthorized PayIn endpoint.

<Check icon="fa-regular fa-circle-check"> **Best practice - Capture funds within 3 days**

PayPal recommends that you capture preauthorized funds within 3 days (using POST Create a Deposit Preauthorized PayIn). 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. </Check>

<Note icon="fa-regular fa-circle-info"> **Note – Disclaimer about terminology**

The use of the term "deposit" in this feature is for convenience only and does not constitute a traditional banking deposit under applicable banking regulations, including the EU Capital Requirements Directive (Directive 2013/36/EU) or the Deposit Guarantee Schemes Directive (Directive 2014/49/EU). Accordingly, these funds are not covered by any statutory deposit protection schemes, and Mangopay does not operate as a licensed banking institution. </Note>

post/v2.01/{ClientId}/deposit-preauthorizations/payment-methods/paypal

Path parameters

ClientIdstring required

Platform's API account identifier, associated with the API key.

Headers

Authorizationstring required

Bearer authentication of the form Bearer <token>, where token is your auth token.

If your platform is using a proxy to take SCA-triggering action on behalf of users, you also need to integrate mTLS authentication and use the api-mtls base URL.

Request body

Tagstring

Max. length: 255 characters

Custom data that you can add to this object.

AuthorIdstring required

The unique identifier of the user at the source of the transaction.

ReturnURLstring required

Max. length: 255 characters

The URL to which the user is returned after the payment, whether the transaction is successful or not.

CancelURLstring

The URL to which the user is returned after canceling the payment. If not provided, the Cancel button returns the user to the RedirectURL.

DataCollectionIdstring

The unique identifier of the Data Collection object, returned after sending the requested data to the POST Submit data for a PayPal PayIn endpoint.

ShippingPreferencestring

Allowed values: SET_PROVIDED_ADDRESS, GET_FROM_FILE, NO_SHIPPING

Information 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.
Referencestring

Max. length: 127 characters (truncated after)

The platform’s order reference for the transaction.

StatementDescriptorstring

Max. length: 10 characters; only alphanumeric and spaces

Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.

Culturestring

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

ProfilingAttemptReferencestring

The unique reference generated for the profiling session, used by the <a href="/guides/fraud-prevention">fraud prevention</a> solution to produce recommendations for the transaction using the profiling data.

Note: Parameter not returned by the API. Profiling feature available on request – contact Mangopay <a href="https://hub.mangopay.com/" target="_blank">via the Dashboard</a> for more information.

Response

Success

Idstring

Max length: 128 characters (see data formats for details)

The unique identifier of the object.

CreationDateinteger

Unix timestamp (UTC) of the date and time the object was created.

ExpirationDateinteger

Unix timestamp (UTC) of the date and time 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.

AuthorizationDateinteger

Unix timestamp (UTC) of the date and time successful authorization occurred. If authorization failed, the value is null.

AuthorIdstring

The unique identifier of the user at the source of the transaction.

Statusstring

Returned values: CREATED, SUCCEEDED, FAILED

The status of the authorization.

PaymentStatusstring

Returned values: WAITING, CANCELED, CANCEL_REQUESTED, EXPIRED, VALIDATED, FAILED

The 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.
ResultCodestring

The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.

ResultMessagestring

The explanation of the result code.

PaymentTypestring

Returned values: PAYPAL

The payment type of the preauthorization.

ExecutionTypestring

Returned values: WEB

The execution type of the preauthorization.

StatementDescriptorstring

Max. length: 10 characters; only alphanumeric and spaces

Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.

Tagstring

Max. length: 255 characters

Custom data that you can add to this object.

ShippingPreferencestring

Returned values: SET_PROVIDED_ADDRESS, GET_FROM_FILE, NO_SHIPPING

Information 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.
PaypalBuyerAccountEmailstring

The email address registered on the PayPal account used to make the payment.

Referencestring

Max. length: 127 characters (truncated after)

The platform’s order reference for the transaction.

CancelURLstring

The URL to which the user is returned after canceling the payment. If not provided, the Cancel button returns the user to the RedirectURL.

PaypalOrderIDstring

PayPal's unique identifier for the order.

BuyerCountrystring

The country of the buyer.

BuyerFirstnamestring

The first name of the buyer.

BuyerPhonestring

The mobile phone number of the buyer.

BuyerLastnamestring

The last name of the buyer.

PaypalPayerIDstring

The PayPal identifier of the buyer.

Culturestring

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.

{"stackTrail":"components:schemas:PayPalDepositPreauthorizationResponse:properties:Billing","oasType":"schema","type":"unknown","description":"Returned `null` because the billing address is not applicable to PayPal preauth."}
RedirectURLstring

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.

ReturnURLstring

Max. length: 255 characters

The URL to which the user is returned after the payment, whether the transaction is successful or not.