Paypal

Paypal

Paypal is an online financial service that allows you to pay for items using a secure internet account.

Store the PayPal TRANSACTIONID of the payment as returned by the parameter gatewayReferenceNumber within the data regarding the corresponding session and order for documentation purposes.

PayPal transactions are by default set to be approved and deposited in one step, but we can split it up into a two-step process. That allows you to distinguish between approved payments and deposited payments and perform certain actions for each of them.

To enable the integration of PayPal into your online shop in our QENTA Checkout solutions we need to get some third-party permissions to your PayPal Business Account for accessing PayPal related payment information. Follow the required setup steps described in 3rd party permissions.

Parameters

Required Request Parameters

If you would like to use PayPal Seller Protection the parameters for consumer billing data and shopping basket data are required.

Table 1. Length Restrictions for Some Shopping Basket Data
Parameter Within fingerprint Data type Description

basketItem(n)ArticleNumber

Required if used

Alphanumeric with special characters, up to 128 characters.

Unique ID of article n in the shopping basket.

basketItem(n)Description

Required if used

Alphanumeric with special characters, up to 128 characters.

Product description of article n in the shopping basket.

State pending is only used if the parameter pendingUrl is set in combination with the parameter confirmUrl; otherwise, you’ll get a failure instead of a pending state.

Optional Request Parameters

Optional request parameter customerStatement and orderReference are more restricted with regard to their length and allowed characters than usual.

Parameter basketItem to redeem Vouchers

If the consumer in your online shop redeems a voucher or coupon during the payment process, the optional request parameterbasketItem must be used. This parameter must contain the negative amount corresponding to the voucher or coupon value. For vouchers with a percentage discount, the percentage to be deducted must first be converted into an absolute value. The total basket amount displayed to the consumer in your online shop will then show both the voucher amount and the total basket amount reduced by the voucher amount.

The additional parameters will be returned.

Backend Operations

Recurring Payments

Optional request parameter consumerDeviceId is required by PayPal for on-demand payments initiated by the consumer in the online shop.

Table 2. Security Parameter
Parameter Data type Description

consumerDeviceId

Alphanumeric with special characters, up to 32 characters.

Unique token which serves as a method of fraud protection.

consumerDeviceId is not part of the fingerprint.

Although the shopping basket data parameters are in general optional, all parameters need to be set, except for basketItem(n)Description and basketItem(n)ImageUrl which remain optional and these two parameters are not part of the fingerprint.

The parameter transactionIdentifier must be set to INITIAL if you want to flag it as an transaction you want to recur on a later point.

For using the backend operation recurPayment you need to request approval, so contact PayPal Customer Support or your PayPal account representative. After receiving approval from PayPal also contact our integration specialists to enable this feature.

If the parameter consumerShippingCountry is set, PayPal will display its own pages in the language of that country; otherwise, PayPal will use the language configured within the web browser of your consumer.

If no shipping address is entered e.g. only digital goods are sold and there is no shipping then the respective parameter is NOSHIPPING=1. If you want to prevent the consumer in your online shop from editing the shipping address then the respective parameter is ADDROVERRIDE=1.
Your merchant configuration has to be changed by our integration specialists.

Order Flow Diagram

Image

To interpret this diagram, the successful completion of a NEW PAYMENT is assumed. Starting from the operation it’s possible to carry out different transaction-based operations.

For the explanation of the different status descriptions included in this diagram have a look at getOrderDetails.
You can find all possible states of transactions for all specific acquirers here.