Suporte/Atribuição de receita
Atribuição de receita

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 PaymentIntent
  • checkout.session.completed
  • invoice.payment_succeeded
  • charge.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:

JavaScript
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.