Saltar al contenido principal

Stripe Checkout

Si crea Sesiones de pago de Stripe en su servidor, necesita pasar el click_id del navegador a su backend e incluirlo como client_reference_id al crear la sesión. Selgeo lee este valor del webhook de Stripe y atribuye la conversión al socio referente.

Versión de API: v1

Requisitos previos

  • El snippet de Selgeo está instalado en su sitio web (Configuración del snippet)
  • Crea Sesiones de pago de Stripe en su backend
  • Su cuenta de Stripe está conectada a Selgeo en el panel de control (Configuración > Stripe)

Implementación

Paso 1: Leer el ID de clic en el frontend

const clickId = __selgeo.getClickId();

Devuelve una cadena UUID o null si no se registró ningún clic de referido.

Paso 2: Enviar el ID de clic a su backend

const clickId = __selgeo.getClickId();

const response = await fetch('/api/create-checkout', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
priceId: 'price_xxx',
clickId: clickId,
}),
});

const { url } = await response.json();
window.location.href = url;

Paso 3: Pasarlo como client_reference_id al crear la Sesión de pago

const stripe = require('stripe')('sk_test_YOUR_STRIPE_KEY');

app.post('/api/create-checkout', async (req, res) => {
const { priceId, clickId } = req.body;

const session = await stripe.checkout.sessions.create({
mode: 'subscription',
line_items: [{ price: priceId, quantity: 1 }],
success_url: 'https://su-sitio.com/success',
cancel_url: 'https://su-sitio.com/cancel',
client_reference_id: clickId || undefined,
});

res.json({ url: session.url });
});
Pasar undefined, no una cadena vacía

Si no hay click_id, pase undefined (JavaScript), None (Python), o null (PHP). No pase una cadena vacía — Stripe la almacenará como el valor literal "", que Selgeo no puede asociar a ningún clic.

Próximos pasos