- Get Started
- Guides
- Integrations
- References
- API Reference
- Basic Payment
- Forex
- Authentication
- Card Account
- Apple Pay
- Virtual Account
- Bank Account
- Token Account
- Customer
- Billing Address
- Merchant Billing Address
- Shipping Address
- Merchant Shipping Address
- Corporate
- Sender
- Recipient
- Merchant
- Marketplace & Cart
- Airline
- Lodging
- Passenger
- Tokenization
- Recurring Migration
- 3D Secure
- Custom Parameters
- Async Payments
- Webhook notifications
- Job
- Risk
- Point of Sale
- Response Parameters
- Card On File
- Chargeback
- Result Codes
- Payment Methods
- Transaction Flows
- Regression Testing
- Data Retention Policy
- API Reference
- Support
PayPal Continue checkout with inline flow
Introduction
PayPal Continue with inline flow launches the PayPal checkout experience in a pop-up window, without a full page redirect. That means the shopper will stay on the Merchant's checkout page until she/he finishes the complete checkout. There are two possibilities to utilize this kind of checkout. First with a standard checkout option on a payment page and second with a fast checkout option on the cart page.
Standard checkout on the payment page
Loading the PayPal button via COPYandPAY payment widget is just like loading any other brand, i.e. in step 2, PAYPAL_CONTINUE must be specified as a brand. In addition the inline flow must be set inwpwlOptions
with inlineFlow : ["PAYPAL_CONTINUE"]
See an example below.
During the normal checkout process, you can populate wpwlOptions.paypal
.
Parameter | Mandatory | Description | Default value | Examples |
---|---|---|---|---|
intent | Conditional | The intent of the PayPal order to be set. When overridePaymentType[PAYPAL] attribute is passed as part of the checkout request, more flexibility on setting the intent of the transaction is required by the merchant. The intent determines whether the funds are captured after the buyer checks out, or if the buyer authorizes the funds to be captured later. | authorize (if not populated) | authorize/capture |
Fast checkout on the cart page
Sometimes you might want to display the PayPal button early on the payment workflow where you do not yet have a checkout ID. Usually, the shopper can decide whether to continue with the normal checkout, or to immediately pay with PayPal.
It is possible to display the PayPal Button first, decoupled from the checkout ID and create a checkout ID later. In step 2:
- Use
paymentWidgets.js
without a checkout ID<script src="https://eu-test.oppwa.com/v1/paymentWidgets.js"></script>
- Define a callback function in
wpwlOptions.createCheckout
to create a checkout
Example:
wpwlOptions.createCheckout = function(json) {
// Call your server to create a checkout
return $.post("https://your.server/checkout-endpoint")
.then(function(response) {
// Assume that your server returned the response containing checkoutId
return response.checkoutId;
});
};
PayPal fast checkout options
For using the fast checkout you need to populate wpwlOptions.paypal
.
Parameter | Mandatory | Description | Default value | Examples | ||||||
---|---|---|---|---|---|---|---|---|---|---|
merchantId | Yes | The merchant-id from Paypal. It needs to be populated in the fast checkout. This value can be found in the merchant account setting | N/A | |||||||
intent | Conditional (populate only if you want to use capture) | The intent of the PayPal order. Determines whether the funds are captured after the buyer checks out, or if the buyer authorizes the funds to be captured later. Not applicable for subscriptions. | authorize (if not populated) | authorize/capture | ||||||
clientId | No | The client-id from PayPal. It needs to be provided if you have subclients which have their own client-id | N/A | |||||||
currency | No | Currency of the transaction | N/A | EUR | ||||||
sdkParams | No | Could contain all the query parameters from Paypal in JSON format as a key value pair. Refer to Sdk parameter config for a detailed parameter description. | N/A |
sdkParams:{ components: "buttons, messages", "enable-funding": "paylater", debug: "true" } |
||||||
onShippingChange | No |
|