Eight Stripe triggers start a run the moment Stripe reports an event:

Trigger What it says Stripe event
Payment succeeded When a payment succeeds payment_intent.succeeded
Payment failed When a customer's payment fails payment_intent.payment_failed
Checkout completed When a customer finishes Stripe Checkout checkout.session.completed
Invoice paid When an invoice is paid invoice.paid
Subscription created When a customer starts a subscription customer.subscription.created
Subscription cancelled When a subscription ends customer.subscription.deleted
Charge refunded When a charge is refunded, in full or part charge.refunded
New customer When a customer is created in Stripe customer.created

They are instant triggers, and Bizomate sets them up in Stripe when you publish — see How instant triggers work. You paste nothing.

Who can do this

Workspace Admins and Editors, on every plan. Viewers see the trigger and its status but cannot change it.

Before you start

A Stripe connection — see Connect Stripe. A restricted key needs Webhook Endpoints — Write.

Steps

  1. Open the workflow in the designer and open the trigger picker — Browse all triggers on an empty workflow, or select the trigger and Change how it starts.

  2. Under Stripe, select the trigger — for example Payment succeeded. It reads Stripe · instant.

  3. In Connection, choose your Stripe connection. The panel says Publishing sets this up in Stripe, and every publish sets it up again. It stays while the workflow is published — switched off, what arrives is ignored — and is taken away when the workflow is deleted or starts another way.

  4. Add the steps, then Publish.

    Publishing makes a webhook endpoint in your Stripe account, described Bizomate, for the trigger's one event, in the connection's mode — test or live. The panel reads Waiting for the first event.

  5. Make the event happen — for example, with a test key, pay a test payment link with one of Stripe's test cards.

  6. Within seconds the panel reads Listening — instant — Last event 10:45 · Payment succeeded · ₹ 1,499.00.

  7. On Output, select Use the last event, then Test run.

What the trigger gives

Each event is one item:

Field What it is
event The Stripe event — payment_intent.succeeded.
id The id of what the event is about — the payment intent (pi_…), checkout session (cs_…), invoice (in_…), subscription (sub_…), charge (ch_…) or customer (cus_…).
status Its status, as Stripe gives it.
amount, amountMain, amountText The amount, where there is one: a payment's amount, a checkout's total, an invoice's amount paid, a charge's amount refunded. 149900, 1499, ₹ 1,499.00. Subscriptions and customers have none.
currency inr, as Stripe writes it.
customer The customer's id — cus_….
email The customer's email, where the event has one.
metadata The names and values kept with it — for example those a Create a checkout session step set.
createdAt When it was made, in UTC.

To refund a successful payment, add Create a refund with Payment set to {{ trigger.id }}.

What happens next

  • Each event starts one run of the live version, in Production, named after it — Payment succeeded · ₹ 1,499.00, or New customer · accounts@northwind.example.
  • Every event is checked. Stripe signs each event with the endpoint's signing secret, which Bizomate keeps from when it made the endpoint. An event whose signature does not match, or is more than five minutes old, is answered 401 and starts nothing.
  • Every publish makes the endpoint again. Bizomate deletes the one it made before, and makes a new one with a new signing secret.
  • Changing to another kind of trigger and publishing, or deleting the workflow, deletes the endpoint from Stripe.

Good to know

  • One workflow, one endpoint. Each workflow with a Stripe trigger has its own endpoint in Stripe. Stripe limits how many endpoints an account can have.
  • Switching off does not delete the endpoint. Events still arrive and show as the last event, but start no runs.
  • Leave the endpoint alone in Stripe. If someone deletes or disables it there, publish again to make a new one.
  • Test and live are separate. An endpoint made with a test key hears only test events.

If something goes wrong

What you see Why What to do
Not listening — Stripe would not take Bizomate's address: Stripe refused: … Fix it, then publish again. Stripe would not make the endpoint, in its own words — most often a restricted key without Webhook Endpoints, or a rolled key. Give the key the permission, or Reconnect, then publish again.
Not listening — … No connection is chosen for this step. … Connection is empty. Choose one, then publish.
Waiting for the first event stays The event happened in the other mode, or the endpoint was deleted in Stripe. Make the event with the connection's mode, or publish again.
Nothing has arrived yet — make one happen in Stripe, then try again. on Output No event has arrived. Make one, wait for Listening — instant, then Use the last event.