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
- In Stripe, copy a secret key (
sk_live_…orsk_test_…). Publishable keys (pk_) do not work; restricted keys (rk_) are not tested by n8n. - n8n: Credentials → New → Stripe API, paste the key.
- 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. - 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.idif 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
- Export the workflows from Pipedream.
- Upload on /convert; the free report shows the trigger mapping and every action that needs an HTTP Request.
- 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_).