PayPal
Accept payments via PayPal. Supports one-time payments, Pay Later, Venmo, and 10+ local payment methods. Customers can pay with their PayPal account or credit/debit card. Testing: store your PayPal sandbox Client ID and Secret as paypal_client_id / paypal_client_secret and set the vault key paypal_environment to "sandbox"; remove it (or set "live") with live credentials to take real payments.
setup_integration or the Dashboard Vault — they're encrypted
with AES-256-GCM and never exposed.
Required Credentials
Optional settings
Get your API key at developer.paypal.com →
Try it with your AI assistant
Once WebsitePublisher is connected to your AI assistant, paste one of these into the chat. Replace the parts in [brackets] with your own details.
@WebsitePublisher add PayPal as a payment option in my checkout@WebsitePublisher test my PayPal checkout with sandbox credentials before I go live@WebsitePublisher refund the PayPal payment for order [order number]With WebsitePublisher, add PayPal as a payment option in my checkoutWith WebsitePublisher, test my PayPal checkout with sandbox credentials before I go liveWith WebsitePublisher, refund the PayPal payment for order [order number]With WebsitePublisher, add PayPal as a payment option in my checkoutWith WebsitePublisher, test my PayPal checkout with sandbox credentials before I go liveWith WebsitePublisher, refund the PayPal payment for order [order number]Endpoints (4)
Create a PayPal order for one total amount. The response has status PAYER_ACTION_REQUIRED and a link with rel "payer-action": redirect the customer there. After approval, call capture-order to finalize payment.
| Field | Type | Required | Description |
|---|---|---|---|
intent |
string | No | "CAPTURE" (default, immediate payment) or "AUTHORIZE" (capture later) |
currency_code |
string | No | ISO 4217 currency code (default: EUR) |
amount |
string | ✓ Yes | Total amount as string, e.g. "29.99" |
description |
string | No | Order description shown to customer |
return_url |
url | ✓ Yes | URL to redirect customer to after payment approval |
cancel_url |
url | ✓ Yes | URL to redirect customer to if they cancel |
custom_id |
string | No | Your own reference, shown on the PayPal transaction (max 127 characters) |
Capture payment for an approved order. Call this after the customer returns from PayPal. Returns payment details including transaction ID.
| Field | Type | Required | Description |
|---|---|---|---|
order_id |
string | ✓ Yes | PayPal Order ID returned from create-order |
Get order details and payment status.
| Field | Type | Required | Description |
|---|---|---|---|
order_id |
string | ✓ Yes | PayPal Order ID |
Refund a captured payment. Provide the capture_id from the capture-order response.
| Field | Type | Required | Description |
|---|---|---|---|
capture_id |
string | ✓ Yes | Capture ID from capture-order response |
amount |
string | No | Partial refund amount as string (omit for full refund) |
currency_code |
string | No | Currency for partial refund (required if amount set) |
note_to_payer |
string | No | Message shown to the customer about the refund |
MCP Tool Names
When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:
| Endpoint | MCP Tool Name |
|---|---|
| create-order | paypal_create_order |
| capture-order | paypal_capture_order |
| get-order | paypal_get_order |
| create-refund | paypal_create_refund |
Website