Talivia Docs
Talivia Docs
HomeDashboard
IntroductionInstallationTeamGetting updates
Stripe
Stripe Checkout SessionsStripe Payment LinksStripe Payment IntentsStripe subscriptions and invoicesOther Stripe methodsTest and troubleshoot Stripe attribution
Yolfi
Dodo Payments
LemonSqueezy
Polar
Manual Payment APITesting payment integrations
Integrations
llms.txtllms-full.txt
RevenueStripe

Test and troubleshoot Stripe attribution

Verify Stripe event delivery, payment recording, and session attribution independently.

View Markdown

Start with the shared payment testing setup, then test the actual Stripe checkout path used by your product rather than sending only a generic webhook fixture.

Minimum test matrix

ScenarioExpected Talivia result
One-time Checkout SessionOne paid payment matched to the checkout session
Direct Payment IntentOne payment keyed by the pi_... ID
Payment LinkPayment matched through client_reference_id or the return URL
Delayed payment methodNo revenue before asynchronous success
Subscription signupOne initial payment plus an active subscription
Subscription renewalOne renewal connected to the original customer
Failed invoiceSubscription lifecycle changes without paid revenue
Full or partial refundOriginal payment remains visible and net revenue is reduced
DisputeDispute state is connected to the original payment
Repeated or out-of-order eventNo duplicate payment

The connection succeeds but no payment appears

Check the Stripe Dashboard webhook delivery for the website endpoint. The relevant successful event must be one of:

  • checkout.session.completed or checkout.session.async_payment_succeeded;
  • payment_intent.succeeded for a direct Payment Intent;
  • invoice.paid or invoice.payment_succeeded for an invoice.

Confirm the event belongs to the same test or live mode as the restricted key connected in Talivia.

The payment appears but is unattributed

Inspect the Stripe object used by your flow:

  • Checkout Session: metadata.talivia_session_id;
  • direct Payment Intent: metadata.talivia_session_id;
  • Subscription: metadata.talivia_session_id;
  • Payment Link Checkout Session: Talivia-like client_reference_id beginning with s_;
  • return page: ?session_id=cs_... and a working Talivia tracker.

If metadata is absent, confirm window.talivia.getSessionId() returned a value before your backend created checkout.

Payment Link is not decorated

Automatic decoration requires a normal anchor whose hostname is buy.stripe.com. Talivia preserves an existing client_reference_id. For custom domains, programmatic navigation, or an existing merchant reference, configure the tracked return URL with {CHECKOUT_SESSION_ID}.

A renewal is unattributed

Confirm the first subscription payment was attributed and that later invoices use the same Stripe Customer. Add subscription_data.metadata during signup and call window.talivia.identify with the Stripe Customer ID after authentication.

Reconnect Stripe

Pasting an updated restricted key makes Talivia reconcile the existing Stripe webhook URL and event list instead of creating a duplicate endpoint. If the original connection predates managed endpoint IDs, the first update creates and stores a new managed endpoint.

Other Stripe methods

Attribute revenue when Stripe is behind another billing layer or the checkout cannot pass Talivia metadata directly.

Yolfi

Connect Yolfi to Talivia and match payments to web sessions.