Attribute revenue with Stripe PaymentIntent API
Make sure you've connected your Stripe account first.
When using Stripe Elements with the PaymentIntent API, pass metadata
with datafast_visitor_id
and datafast_session_id
(cookies from DataFast) when creating a checkout session on your backend:
// app/api/create-payment-intent/route.js
import { cookies } from 'next/headers';
export async function POST() {
const cookieStore = cookies();
// If you're using Next.js 15+, use this instead:
// const cookieStore = await cookies();
const paymentIntent = await stripe.paymentIntents.create({
amount: 2000,
currency: 'usd',
metadata: {
datafast_visitor_id: cookieStore.get('datafast_visitor_id')?.value,
datafast_session_id: cookieStore.get('datafast_session_id')?.value
}
});
return new Response(JSON.stringify({ clientSecret: paymentIntent.client_secret }), {
status: 200,
headers: { 'Content-Type': 'application/json' }
});
}
That's it! Once connected and metadata is properly passed, DataFast will automatically attribute revenue to the correct marketing channels via the payment_intent.succeeded
webhook. No additional setup is required.
When to use this method
- Custom checkout flows using Stripe Elements with Stripe PaymentIntent API
- Mobile apps using Stripe's mobile SDKs
After receiving a successful payment, you should see revenue data in your dashboard (referrer, country, browser, etc.). If you don't, please contact us at marc@datafa.st.