Stripe

Stripe affiliate tracking, without writing a webhook handler.

Attribute Stripe Checkout sessions, track subscription renewals, handle refunds and cancellations — all via a single webhook endpoint. Copy, paste, done.

Most teams try to hand-roll Stripe affiliate tracking. Most teams regret it.

You build the webhook, it works for one-time sales. Then subscriptions break it. Then refunds break it again. Then you need to handle proration, trials, failed charges. Six months in, you’re maintaining an affiliate engine instead of your product.

Without Traaaction
  • Custom webhook code for 4+ event types
  • Edge cases: trials, coupons, proration, failed renewals
  • Clawback logic on refunds and cancellations
  • Idempotency bugs that cost you or your partners
With Traaaction
  • Single endpoint handles all 4 critical events
  • Idempotent upserts with sale_id uniqueness
  • Auto-clawback with cascading refund logic
  • 0% platform fee — we don’t touch the money
See it live

One endpoint. Four events. Zero guesswork.

Paste the endpoint URL in Stripe, select 4 events, pass the click ID as session metadata. That’s it. We handle idempotency, retries, signature verification and the business logic.

Traaaction integration dashboard with Stripe Workbench Webhooks tab open, showing event destinations, healthy connection status and configuration.
How it works

Setup in under five minutes.

Step 1

Copy your endpoint URL

Traaaction dashboard → Settings → Webhooks. One URL per workspace.

Step 2

Add it to Stripe

Stripe dashboard → Developers → Webhooks. Select the 4 events and paste.

Step 3

Pass click ID in metadata

Use our SDK or read the cookie and add session.metadata.tracClickId in checkout.

Why it matters

Native Stripe — no middleware, no custom code.

Real-time attribution

Commissions appear within seconds of checkout completing.

HMAC signature verified

Every event verified against your workspace-specific signing secret.

Automatic retries

Stripe’s built-in retry logic + our idempotency = no duplicate commissions.

Zero custom code

Everything is config. Your engineers ship features instead of webhook handlers.

Technical spec

The technical details.

Events handled
checkout.session.completed, invoice.paid, charge.refunded, customer.subscription.deleted
4
Signature verification
HMAC per workspace
Idempotency key
sale_id unique
Stripe Connect
Direct + destination charges supported
Supported
Platform fee taken
You keep 100% of Stripe payouts
0%
Setup time
≈ 5 min

Frequently asked questions

Does Traaaction take a cut of my Stripe payments?+

No. We bill a flat monthly subscription. Your Stripe payouts go directly to you — we never touch the money. Platform fee = 0%.

Do I need Stripe Connect?+

No, not for tracking. You only need Stripe Connect if you want to pay affiliates via Stripe Connect transfers. IBAN and PayPal work without Connect.

How do I pass the click ID through Checkout?+

In your Checkout Session creation, set session.metadata.tracClickId = cookieValue. Our SDKs handle reading the cookie server-side so you don’t have to think about it.

What happens on refunds?+

We listen to charge.refunded and automatically clawback. If the commission was already paid, we apply a negative balance to recover from the next payout.

Does it work with Stripe Checkout, Payment Links and Subscriptions?+

Yes to all three. For Payment Links without custom metadata, you can pass the click ID as a URL param and we pick it up.

What about Stripe test mode?+

Full support. Use separate Stripe test endpoints for dev — recommended so test commissions never pollute your production data.

Plug Traaaction into Stripe.

Copy-paste setup. No code. Test on Stripe test mode first.

Stripe Affiliate Tracking — Native Webhook Integration | Traaaction | Traaaction