Skip to content
MoveWorkflows

Pipedream PayPal steps in n8n

Updated 2026-10-21 · 2 min read · n8n: PayPal (Native n8n node)

PayPal coverage on Pipedream is thin: one source, New Payment Event (Instant), and one action, Get User Info. Most PayPal workflows there are a payment event plus code steps that call the PayPal REST API. n8n has more: a PayPal Trigger with every webhook event type and a PayPal node for payouts.

The n8n side

PayPal node (n8n-nodes-base.payPal):

Resource Operations
Payout Create (batch payout), Get (batch details)
Payout Item Cancel (unclaimed item), Get

PayPal Trigger (n8n-nodes-base.payPalTrigger): webhook. The event list is loaded from PayPal's webhook event types, so it always matches what PayPal offers; * subscribes to all.

What maps where

Pipedream (app paypal) In n8n Status
New Payment Event (Instant) PayPal Trigger with the payment events you need (for example PAYMENT.CAPTURE.COMPLETED) manual, 1 node
Get User Info HTTP Request → /v1/identity/oauth2/userinfo manual
Code step calling the Orders, Payments or Invoicing API HTTP Request with a Generic OAuth2 credential, or Code node review
Payouts in code PayPal → Payout → Create manual

PayPal is not in the converter's mapped list. Code steps that call PayPal with this.paypal.$auth become Code nodes with the token as a variable; check them in the code step checker.

PayPal credentials in n8n

PayPal API credential: Client ID, Secret and Environment (Sandbox or Live). Create a REST app in the PayPal Developer Dashboard; sandbox and live apps have different credentials. This credential is for the PayPal nodes only; it cannot be picked as a predefined credential in HTTP Request. For API calls create a Generic OAuth2 credential (grant type Client Credentials, token URL https://api-m.paypal.com/v1/oauth2/token or the sandbox equivalent) with the same Client ID and Secret.

Typical migration: payment to sheet and Slack

Pipedream: PayPal New Payment Event (Instant) → code step formats amount → Google Sheets Add Single Row → Slack message. n8n: PayPal Trigger (PAYMENT.CAPTURE.COMPLETED) → Edit Fields (resource.amount.value, resource.amount.currency_code, payer email) → Google Sheets append → Slack → Message → Send.

Refunds and orders via HTTP Request

  • Capture an order: POST /v2/checkout/orders/{id}/capture.
  • Refund a capture: POST /v2/payments/captures/{id}/refund with amount and currency.
  • Base URL: https://api-m.sandbox.paypal.com or https://api-m.paypal.com, matching the environment of your OAuth2 credential's token URL.

PayPal migration pitfalls

  • Pick narrow events. * sends every event type, including disputes and subscriptions; each one is an execution.
  • Webhook verification. PayPal signs webhooks; the trigger registers the webhook for you, but a hand-made Webhook node would need the verify-webhook-signature call.
  • Sandbox vs live. A webhook registered with sandbox credentials only receives sandbox events.
  • Old webhooks. Pipedream's source created a webhook in your PayPal app; delete it in the developer dashboard after the switch.
  • Amounts are strings. PayPal sends amount.value as a string ("19.90"); convert it before sums or comparisons in If nodes.

How to move your PayPal workflows

  1. Export from Pipedream.
  2. Upload on /convert; the free report lists the PayPal trigger, code steps and their PayPal calls.
  3. Get the n8n JSON: 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.

See the code step checker. Related: Stripe, WooCommerce, QuickBooks.

FAQ

Which PayPal events can n8n listen to?
The PayPal Trigger loads the event types from PayPal's API, so you can pick any webhook event (for example PAYMENT.CAPTURE.COMPLETED or CHECKOUT.ORDER.APPROVED) or * for all.
What does the n8n PayPal node do?
Payouts: create a batch payout and show its details, and cancel or show a payout item. Orders, captures, refunds and invoices need HTTP Request with a Generic OAuth2 credential (client credentials).
Can I test with the sandbox?
Yes. The PayPal credential has an Environment field: Sandbox or Live. Use sandbox app credentials while testing, then switch.
Do PayPal steps convert automatically?
No. The trigger becomes a Manual Trigger with a note naming the source, and actions arrive as placeholders with their props.

Related

Sources