# Other Stripe methods (https://talivia.com/docs/revenue-guides/stripe/other-methods)



Choose the narrowest integration that still gives Talivia a server-verified payment.

## Stripe objects remain in your connected account [#stripe-objects-remain-in-your-connected-account]

If the third-party checkout creates a Payment Intent in the same Stripe account connected to Talivia, use [Payment Intents](https://talivia.com/docs/revenue-guides/stripe/payment-intents). Attach `talivia_session_id` when the third party lets you supply Payment Intent metadata.

If metadata cannot be supplied, identify the signed-in customer with the same email or Stripe Customer ID present on the Stripe payment:

```javascript title="Connect customer identity"
window.talivia.identify('user_123', {
  email: currentUser.email,
  stripeCustomerId: currentUser.stripeCustomerId,
});
```

This links identity; it does not create or confirm revenue in the browser. Stripe's signed webhook remains the source of truth for the payment.

## The processor hides Stripe payment objects [#the-processor-hides-stripe-payment-objects]

Use the [Manual Payment API](https://talivia.com/docs/revenue-guides/manual) after your backend confirms the payment. Send the Talivia session stored with the order and a stable transaction ID.

```javascript title="Record a third-party confirmed payment"
await fetch('https://talivia.com/api/payments/manual', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-talivia-api-key': process.env.TALIVIA_API_KEY,
  },
  body: JSON.stringify({
    websiteId: 'YOUR_WEBSITE_ID',
    providerName: 'your-billing-provider',
    transactionId: payment.id,
    providerCustomerId: payment.customerId,
    email: payment.customerEmail,
    amount: payment.amount,
    currency: payment.currency,
    sessionId: order.taliviaSessionId,
  }),
});
```

## Why there is no browser payment command [#why-there-is-no-browser-payment-command]

A public `payment` event can be replayed or fabricated. Talivia therefore separates the two responsibilities:

* browser tracking and `identify` provide attribution context;
* a signed Stripe webhook or authenticated backend API confirms revenue.

This keeps amounts and payment status trustworthy while still supporting custom billing flows.
