Atribuir receita com a Stripe PaymentIntent API
Antes de prosseguir, confirme que vinculou a sua conta Stripe.
Use este guia para checkouts personalizados da Stripe — o Payment Element, o confirmCardPayment ou qualquer fluxo em que crie o PaymentIntent você mesmo. Estes nunca produzem uma Checkout Session da Stripe, pelo que não existe nenhum client_reference_id que o script possa preencher (isso só funciona com os Payment Links). Tem de encaminhar você mesmo o cookie do visitante para a metadata do PaymentIntent — é o único sinal determinístico para este fluxo.
O Flowsery processa estes eventos de webhook Stripe:
payment_intent.succeeded— emitido pelos checkouts personalizados com PaymentIntentcheckout.session.completedinvoice.payment_succeededcharge.refunded
O encaminhamento para o website correto é automático (o Flowsery regista um URL de webhook dedicado por site) — não precisa de passar o websiteId. Para atribuir o pagamento à fonte de tráfego do visitante, encaminhe os cookies do Flowsery (_fs_vid / _fs_sid) como metadata quando criar o PaymentIntent:
const paymentIntent = await stripe.paymentIntents.create({
amount: 2000,
currency: 'usd',
metadata: {
fs_visitor_id: req.cookies['_fs_vid'],
fs_session_id: req.cookies['_fs_sid'],
},
});O Flowsery lê o fs_visitor_id do webhook payment_intent.succeeded e associa o pagamento ao percurso desse visitante (referenciador, canal, país, dispositivo). Sem ele, o pagamento é na mesma registado como receita, mas com uma origem «Desconhecida».
Alternativa se não conseguir definir metadata: chame identify com o e-mail do comprador (window.flowsery('identify', { userId: user.id, email: user.email })). O Flowsery associa então o pagamento ao visitante por e-mail.