Skip to content
MoveWorkflows

Pipedream Stripe steps in n8n

Updated 2026-10-21 · 3 min read · n8n: Stripe (Native n8n node)

Stripe on Pipedream is mostly a trigger: a payment succeeds, a subscription is cancelled, a dispute opens, and the workflow updates a CRM, a sheet or Slack. n8n has a native Stripe Trigger and a Stripe node; the trigger converts automatically, and the actions split between the node and HTTP Request.

The n8n side

Stripe node (n8n-nodes-base.stripe):

Resource Operations
Balance Get
Charge Create, Get, Get Many, Update
Coupon Create, Get Many
Customer Create, Delete, Get, Get Many, Update
Customer Card Add, Get, Remove
Meter Event Create
Source Create, Delete, Get
Token Create

Stripe Trigger: registers a webhook endpoint in your Stripe account for the events you select and verifies the Stripe-Signature header when the signature secret is set.

What maps where

Pipedream (app stripe) In n8n Status
New Customer, Canceled Subscription, New Dispute, New Failed Invoice Payment, New Custom Webhook Events, … Stripe Trigger (events * at first) automatic, narrow the events
Create a Customer, Update a Customer Stripe → Customer → Create / Update manual
Cancel Subscription HTTP Request DELETE /v1/subscriptions/{id} with the Stripe credential manual
Create / Confirm / Capture / Cancel A Payment Intent HTTP Request to /v1/payment_intents/... manual
Create Invoice, Finalize Draft Invoice, Send Invoice HTTP Request to /v1/invoices/... manual
Cancel Or Reverse A Payout, Create A Refund HTTP Request manual
Code step with the stripe package and this.stripe.$auth.api_key Code node; key becomes STRIPE_API_KEY, package listed automatic, review

Stripe's API takes form-encoded bodies. In the HTTP Request node set Body Content Type to Form Urlencoded, and use bracket keys like metadata[order_id] for nested fields.

Credentials

  1. In Stripe, copy a secret key (sk_live_… or sk_test_…). Publishable keys (pk_) do not work; restricted keys (rk_) are not tested by n8n.
  2. n8n: Credentials → New → Stripe API, paste the key.
  3. After publishing the workflow with the Stripe Trigger, copy the endpoint's signing secret (whsec_…) from Stripe into the credential's Signature Secret field. n8n documents this field from versions 2.25.7 and 2.26.2.
  4. Create separate credentials for test and live mode.

Typical migration: failed payment alert

Pipedream: New Failed Invoice Payment → Slack Send Message to Channel. n8n after conversion: Stripe Trigger → HTTP Request (Slack). Change the trigger's events from * to invoice.payment_failed, add the signing secret, send a test event from the Stripe dashboard.

Pitfalls

  • Two endpoints during the switch. Pipedream's webhook endpoint stays registered in Stripe until you delete it. If both are active, both workflows run. Disable the Pipedream workflow and remove its endpoint when n8n is live.
  • Retries and duplicates. Stripe retries live-mode deliveries with backoff for up to 3 days, does not guarantee order and can send duplicates. Deduplicate on event.id if the workflow writes data.
  • Events *. The converted trigger listens to everything until you narrow it; leaving it that way runs the workflow on every Stripe event.
  • Timestamps. Signature checks reject events older than 5 minutes, so a replay from Pipedream's event history will not pass; resend from Stripe instead.

How to move your Stripe workflows

  1. Export the workflows from Pipedream.
  2. Upload on /convert; the free report shows the trigger mapping and every action that needs an HTTP Request.
  3. Download the n8n JSON: 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.

Background: Pipedream to n8n guide. Code that uses the stripe package can be checked in the code step checker. Related: QuickBooks, Shopify, HubSpot.

FAQ

Do Pipedream's Stripe triggers convert automatically?
Yes. Any Stripe source becomes a Stripe Trigger node. It starts with all events selected; narrow the list to the events the workflow used.
What does the n8n Stripe node not cover?
Subscriptions, invoices, payment intents, payouts and refunds are not resources of the node. Use HTTP Request with the predefined Stripe credential for those.
Do I need the webhook signing secret?
n8n strongly recommends it. With the signature secret set, unsigned or older-than-5-minutes requests get 401; without it, anyone who knows the URL can send fake events.
Test mode and live mode?
Each needs its own credential, because the secret keys differ (sk_test_ and sk_live_).

Related

Sources