---
id: paypal
title: PayPal
hide_title: true
description: "PayPal for Walley Checkout"
---

import Ingress from "../../../src/components/ingress/ingress.react";

<Ingress title="PayPal">
  Walley Checkout supports PayPal as a redirect-based payment method for
  private customers. The customer approves the payment in PayPal and then
  returns to Walley Checkout while the result is confirmed.
</Ingress>

## Availability

| Property | Value |
| --- | --- |
| Customer type | Private customers (B2C) |
| Checkout flow | One-time purchases |
| Markets | All markets where Walley Checkout is available. PayPal is enabled by default for new merchants in Germany and the Netherlands. Contact Walley Merchant Services to activate it in other markets. |
| Currency | The currency configured for the selected store and market |
| Minimum amount | `0.01` in the checkout currency, with a maximum of two decimal places |

PayPal appears in the checkout only when it is enabled in the selected
[settings profile](/docs/checkout/optional/settingsprofiles) and the store has
completed PayPal onboarding. It is not available for business customers,
tokenized payments, or subscriptions.

## Prerequisites

Before PayPal can be activated for your store, you need:

- A PayPal Business account onboarded through Walley's PayPal partner setup.
- A PayPal merchant payer ID registered on your Walley store.
- PayPal enabled in the settings profile used by the store.

The merchant payer ID is store configuration. Do not include it in Checkout API
requests or expose it in client-side code.

## How to get started

1. Contact [Walley Merchant Services](/support) to confirm that PayPal is included in your agreement and available for your market.
2. Complete the PayPal merchant onboarding coordinated by Walley.
3. Provide the resulting PayPal merchant payer ID through the agreed onboarding channel.
4. Ask Merchant Services to configure PayPal for your test and production stores and settings profiles.
5. Complete a test purchase and verify the result through the standard Checkout notification flow before going live.

## Integrate PayPal

PayPal uses the standard Walley Checkout integration and requires no
PayPal-specific API properties. Once PayPal is enabled, initialize and render
Checkout as usual. Select the configured B2C store, use a unique `reference`
for each checkout, and provide an HTTPS `notificationUri` for completed
purchases. Walley Checkout manages the customer journey to and from PayPal.

See [Initialize checkout](/docs/checkout/initcheckout) for a minimal request and
[Advanced initialization](/docs/checkout/optional/init-checkout-features) for
the complete request model.

## Payment flow

1. The customer selects PayPal in the Walley Checkout iframe.
2. The customer is sent to PayPal to log in and approve the payment.
3. The customer returns to Walley Checkout.
4. When the purchase is complete, Walley calls your `notificationUri`.
5. Retrieve the checkout and create or update the order in your system.

Treat the [purchase notification](/docs/checkout/notificationcallback) as the
reliable completion signal. Do not use the browser redirect as proof of
payment.

After the notification, [retrieve the checkout](/docs/checkout/getcheckoutinformation)
and confirm that `data.status` is `PurchaseCompleted`. The
`data.purchase.paymentName` value is `PayPal`.

## Cancellations and pending payments

If the customer cancels or leaves the PayPal approval flow, Walley Checkout
cancels the active attempt. Do not create an order based on the browser return
or cancellation page. Retrieve the checkout when you need to determine its
current status.

## Captures and refunds

Manage a completed PayPal order through Walley's standard order flow:

- Use [Capture order](/docs/manage/orders/capture) when you deliver the goods or service.
- Use [Refund order](/docs/manage/orders/refund) for full or partial refunds.

Do not capture or refund the transaction directly in the PayPal dashboard.
Performing post-purchase operations through Walley keeps the Walley order and
the PayPal transaction synchronized.
