Guide · Stripe
Stripe Webhook: Track Payments Without Code
Your client's dashboard shows how much they collected. It doesn't say whether it was the newsletter, the story, or the ad that brought the buyer. Stripe doesn't know — but it can tell someone who does.
The whole guide fits right here
Stripe
Workbench → Webhooks → Create event destination
Subtraq
Settings → Connect other tools → Stripe
Stripe sends each payment to this address; Subtraq ties it to the click that came before. The signing secret, pasted opposite it in Subtraq, makes it so nothing else can write revenue there.
In Stripe, 3 steps
Three settings and a secret
Start by preparing the address in Subtraq: Settings, "Connect other tools," Stripe, "Prepare the address." That's what you paste in the third step — and the secret Stripe reveals comes back to paste in the same place.
One event type only, really: the same payment can arrive via two different event types, and your client's revenue would be counted twice.
In Workbench, open the “Webhooks” tab and click “Create an event destination”.
Select “Your account”, the API version, then a single event type: checkout.session.completed. “Continue”, then “webhook endpoint” as the destination type.
“Continue”, then paste the Subtraq address into the endpoint URL. On the webhook settings page, click “Reveal secret key”, copy the value starting with whsec_ and paste it into Subtraq.
Path checked in Stripe's documentation on September 11, 2026 — the original page. Interfaces change: if what you see no longer matches, the source wins.
What changes
Every payment with its source
Without this connection, a payment is a line in Stripe. With it, it's the same line and a source: the email, post, or ad that drove it — in revenue, not in clicks.
Nothing is made up: a buyer Subtraq never saw click is recorded as unattributed, and the report says so rather than filing them somewhere.
The same month, revisited
Newsletter: $1,900. Instagram story: $800. Ads: $500, for a budget that could have gone elsewhere. And two unattributed payments, noted as such.
Said upfront, not discovered later
Three limits. Written in the tool too.
A refund removes nothing
A recorded sale is never removed automatically. If refunds matter to your client, they are corrected by hand.
Subscriptions count at the first payment
By listening only to "checkout.session.completed," a subscription counts at its first billing, not the ones that follow.
No Stripe Connect support
That would require a Stripe account dedicated to Subtraq, which does not exist yet. The path described here is your client's own Stripe account.
Frequently asked questions
Does my client need a developer?
No. Three settings in Workbench and a secret to paste into Subtraq. The Stripe page describing these settings is linked under the steps, with the date it was recorded.
Why listen to only one event type?
Because the same payment can arrive via two different event types. Subtraq deduplicates on the payment ID, but the instruction stands: one event type only, "checkout.session.completed," as the Settings screen shows.
My client still sees "Developers → Webhooks," not Workbench.
Stripe's documentation states that Workbench replaces the developer Dashboard, and that a webhook endpoint can still be created from the old Dashboard. The path in this guide is the Workbench path, which Stripe recommends.
What if Subtraq is down when a payment comes in?
According to its documentation, Stripe retries delivery for three days in live mode; deliveries can be checked in Workbench under "Event deliveries." The payment itself is never at risk.
What about sales that don't go through Stripe?
An order form connects like any form — Tally, Typeform, and Systeme.io each have their guide — and the API accepts a sale from any server. The integrations page brings all the paths together.
Your client collects payments another way?
Systeme.io, Tally, Typeform, Calendly, Cal.com, Brevo, and Elementor each have their own guide, recorded in their real interface. The integrations page brings them all together.
See all connected toolsConnect your Stripe webhook
Create the account, prepare the address, paste it into Workbench. The first attributed payment arrives with the first click.
Create a free account