Install guide · ecommerce · ~3 min
Paste a restricted key (rk_*).
Stripe is a revenue source, not a pixel install. You connect by pasting a restricted key (rk_live_* or rk_test_*) — never a secret key. Admaxxer probes the key’s charge-read access before saving. SaaS-funnel coverage: Admaxxer subscribes to the customer.subscription.* events alongside payment events, so “Trial Started”, “Trial Converted”, “Subscription Cancelled”, and “Trial Ending Soon” goals fire automatically once the webhook is wired. See the SaaS install guide for the full funnel.
Stripe Dashboard → Developers → API keys → Restricted keys → + Create restricted key. Grant read-only access to Charges, Customers, and PaymentIntents. Save the rk_live_* value.
Open /integrations, pick Stripe, paste the restricted key, and save. Admaxxer verifies the key can read your charges before persisting — no extra permissions required.
In Stripe → Developers → Webhooks → + Add endpoint, point to https://admaxxer.com/api/pixel/webhooks/stripe/:website_id (your website ID is in Admaxxer → Sites). Subscribe to: checkout.session.completed, payment_intent.succeeded, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, customer.subscription.trial_will_end. The first two cover one-time payments and recurring renewals (MRR works automatically — every renewal fires payment_intent.succeeded). The four customer.subscription.* events power the trial funnel: trial start, trial-to-paid conversion, cancellations, and trial-ending warnings — Admaxxer fires them as “Trial Started”, “Trial Converted”, “Subscription Cancelled”, “Trial Ending Soon” custom goals automatically. charge.succeeded is optional and redundant for SaaS — payment_intent.succeeded already covers renewals.
Trigger a test payment. The event should appear under Attribution → Revenue in Admaxxer within 30 seconds.
rk_*) for safety — a secret key has full platform scope we never need. Regenerate as a restricted key.