PayPal PreAuthorisation

🚧

This page is about the PayPal V2 integration

For information on PayPalExpressCheckoutDeposit see here.


Introduction

PayPal Pre-Authorisations may be useful in the following scenarios:

  • The authorisation amount could differ from the final transaction amount.
  • The payment may still be cancelled after the authorisation approval.
  • Ordered goods may be shipped at different times (Split Shipment).
  • A payment reservation for up to 29 days is needed.

If a merchant does not need one of the above scenarios, then the PayPal Deposit methods are applicable.

To support PayPal Pre-Authorisation functionality, PXP Financial offers the following two payment methods:

IDNameCredit State
396PayPal Reference PreAuthorisation
395PayPal Redirect PreAuthorisation

PayPal Reference PreAuthorisation (396)

Used to initiate a payment using an existing PayPal billing agreement for a certain customer. No redirection to PayPal.
Multiple Partial Captures (e.g. for split shipment) can be done within 29 days after authorisation.

A PayPal Reference PreAuthorisation can be created only after a billing agreement has been established between the merchant & the PayPal customer. The payment will be done (from the buyer's to the merchant's PayPal account) without manual intervention by the customer (no redirection to PayPal to confirm the payment).

This payment method needs to be used if there is an existing PayPal billing agreement between the merchant and the customer and the merchant intends to first authorise and only later capture a full or partial amount.

Information how to set up a new billing agreement with a customer can be found here: PayPal Setup New Billing Agreement

This method is only available via Backend2Backend integration (it is not applicable a Checkout use-case).

PayPal Redirect PreAuthorisation (395)

Used to initiate a payment by redirecting the customer to PayPal.
Multiple Partial Captures (e.g. for split shipment) can be done within 29 days after authorisation.

This payment method should be used if there is no existing billing agreement with a customer or the merchant does not use the billing agreement functionality.

This method is available via Backend2Backend and via PXP Checkout integration.

Redirect Integration (PXP Financial Checkout)

The following chapter is relevant only for merchants that are using the PXP Financial Redirect integration (Checkout).

Redirection to PXP Selection or Detail Page

Depending on the Checkout integration model of the merchant, there are two options how to redirect the customer to the PXP Financial checkout:

  • Selection page: customer selects the payment method in the PXP Financial Checkout selection page
  • Detail page: merchant redirects the customer directly to the PayPal Detail page of the PXP Financial Checkout (customer has preselected the PayPal payment method on the merchant checkout page). PXP Checkout will immediately forward the customer to Paypal where he needs to approve the payment.

To initiate a PayPal Redirect PreAuthorisation (395), the following parameters must be provided additionally in the getRedirectDataRequest:

FieldValue

The following parameters can be provided optionally:

FieldValue

Example getRedirectData request for a PayPal Redirect PreAuthorisation (395), redirection to the Detail page (=directly to Provider PayPal):

Example getRedirectData request for a PayPal Redirect PreAuthorisation (395), redirection to the PXP Selection page:

Example getRedirectData response for a PayPal Redirect PreAuthorisation (395):

After the customer was redirected to the PXP Financial Checkout page (and has selected the PayPal payment option), the customer will be redirected to the PayPal checkout where he logs in to his PayPal account (or creates a new one) and confirms the payment.

Example Screenshots of the PayPal Checkout page for a PayPal Redirect PreAuthorisation (395):

Redirection back to merchant and notifications

The customer needs to decide if to approve or abort.

  • If approved, the customer is redirected to the merchants successURL.
  • If aborted??? what happens TBD

Additionally a backend notification is sent to the merchant. This notification contains the following relevant information:

FieldValue
paymentMethod
paymentIDThe ID of the payment in PXP Financial Payment Service. Needs to be stored in the merchant system and used for follow up payments like Captures and Refunds.
state.definitionSuccessful State: ExecutedByProvider (142)
Refused/Unsuccessful State: RefusedByProvider (100)

Other possible Error States which can happen. If a merchant wants those to be notified, this has to be requested via the Account Manager:
DuplicatePaymentValidationFailed - 369
RefusedByPaymentScoring - 121
InitiateRequestProviderCommunicationErrorOccurred - 325
InitiateErrorReportedByProvider - 4
ProviderResponseValidationFailed - 409
ExecuteErrorReportedByProvider - 143
ExecuteRequestSentToProviderCommunicationErrorOccured - 339

The PayPal Pre-Authorisation payment is now successfully authorised by PayPal and has to be captured (or cancelled) by the merchant later. Further chapters of interest:

Backend2Backend Integration

The following chapter is relevant only for merchants that are using the backend2backend integration (direct integration).

To initiate a PayPal Reference PreAuthorisation (396), the following parameters must be provided additionally in the initiatePaymentRequest:

FieldValue
paymentAccountID
(string, required)
The payment account ID of the user/customer in the PXP System which contains the PayPal Billing Agreement ID which should be used for this payment.

To initiate a PayPal Redirect PreAuthorisation (395), the following parameters must be provided additionally in the initiatePaymentRequest:

FieldValue
tbd

The following parameters can be provided optionally in the initiatePaymentRequest, this applies to both methods (PayPal Reference PreAuthorisation (396) or PayPal Redirect PreAuthorisation (395)):

FieldValue
specificPaymentData.PaymentDescription
(string)
Optional.
Will be shown in the Transaction Details within the merchant and buyer’s PayPal account. In the PayPal Transaction Details, it will be labeled as a “Memo”.
specificPaymentData.UserStatementText
(string)
Optional.
Used by PayPal as the dynamic text to construct the statement descriptor that appears on a payer's card statement.

If no value provided, then PXP will send the configured Shop Name/Location.
Maximum length: 22
tbd more???

Shopping Cart???

Example initiatePayment request for a PayPal Reference PreAuthorisation (396):

tbd

Example initiatePayment response for a PayPal Reference PreAuthorisation (396):

tbd

Example initiatePayment request for a PayPal Redirect PreAuthorisation (395):

tbd

Example initiatePayment response for a PayPal Redirect PreAuthorisation (395):

tbd