PayPal
PayPal is a widely used digital payments platform that allows businesses to accept PayPal payments, including PayPal Checkout and Pay Later options.
| Payment method | Recurring payments | Recurring retries | Delayed capture | Partial refunds |
|---|---|---|---|---|
| PayPal | No | No | No | Yes |
PayPal account setup
- Create a PayPal Developer account if you don't already have one.
- Navigate to Apps & Credentials and create a new REST API app (or use an existing one).
- Copy the Client ID and Secret Key from your app's credentials.
Gateway profile setup
| Field | Required | Description |
|---|---|---|
| Integration | Yes | PayPal |
| Environment | Yes | Must match the mode of your PayPal app credentials |
| Client ID | Yes | Client ID from the PayPal Developer Dashboard |
| Secret Key | Yes | Secret key from the PayPal Developer Dashboard |
| Integration Mode | Yes | vault or billingAgreement — cannot be changed after creation |
| Webhook ID | No | Webhook ID from the PayPal Developer Dashboard, used for signature verification |
| Collect Shipping Address | No | Whether to collect the shipping address from PayPal. Only available for vault mode |
Integration modes
PayPal supports two integration modes, chosen at gateway profile creation. The integration mode cannot be changed after the profile is created.
Vault
Uses PayPal's Vault API to tokenize payment sources. The purchase amount is displayed on the PayPal checkout screen. This mode supports the Collect Shipping Address option, which retrieves the customer's shipping address from their PayPal account during checkout.
Billing Agreement
Uses PayPal's Billing Agreement API to establish a consent-based payment agreement with the customer. Unlike Vault, the purchase amount is not displayed on the PayPal checkout screen, and collecting shipping addresses is not supported.
Reference Transactions must be enabled on your PayPal account to use the Billing Agreement flow. Contact PayPal support to enable this feature.