Skip to content

Connector · Payments

Stripe, in every client’s workflows.

Create a customer, make a payment link, or start when a customer pays (checkout or payment link), with the client’s own Stripe account.

Triggers
3start a workflow
Actions
3steps in a workflow

Start a workflow when something happens in StripeBeta

By webhook where Stripe sends one, by checking where it does not. A webhook is checked once a day to see it is still on, and if Stripe turns it off the alert carries a Reconnect button.

  • A customer pays (checkout or payment link)WebhookA completed Stripe Checkout, including a payment link, within seconds. The restricted key needs Webhook Endpoints: write.
  • An invoice is paidWebhookA Stripe invoice paid in full, within seconds. The restricted key needs Webhook Endpoints: write.
  • A payment failsWebhookA Stripe invoice payment attempt declined, or no card on file, within seconds. Once per attempt: Smart Retries can fire it again for the same invoice. The restricted key needs Webhook Endpoints: write.

Do it in Stripe

A step with its own fields: values from the run go in by name, and what Stripe answers is there for the next step.

  • Create a customerA new customer in the client’s Stripe account. Stripe allows two customers with one email; this step does not look first.
  • Make a payment linkA link the client’s customer pays through, for one price. Send it in a message step.
  • Send an invoiceEmail a finalized invoice to its customer, found by id. Stripe refuses a draft or an invoice already paid.

Connect the client’s Stripe

On the client’s page in Thrum: Add credential, type Stripe restricted key.

In the client’s Stripe dashboard: Developers → API keys → Create restricted key. Give it only what the steps need: Customers write, Payment Links write, Prices read, Invoices write, and Webhook Endpoints write for the triggers. Leave “IP access” empty: Thrum has no fixed addresses, so a key locked to IPs fails every call.

The key is stored encrypted and bound to that client: another client’s workflow cannot use it, and no template or pack copies it.

Stripe’s API documentation

Watched like everything else

When Stripe stops answering or refuses the client’s key, you hear about it, and your client does not.

A failing request
Tried 3 times, 5 seconds apart and doubling, only for errors a retry can fix
A service that asks for a pause
Given it, up to an hour
Requests at once, per account
2, per worker; the rest wait their turn
Timeout
15 seconds, unless the step sets its own
Private and internal addresses
Refused, on every redirect too
The client’s key
Encrypted, bound to the client, and kept out of every run record
A step that keeps failing
Marks the workflow Degraded and alerts you, not the client

Stripe and its logo are trademarks of their owner, used here only to say what Thrum works with; no endorsement is implied.

Thrum is cooking.

Get early access and you’ll be among the first in. Early members get a launch perk.