Ir a la documentación
SparkGlimSparkGlim Desarrolladores
Buscar en toda la documentación

Prueba un tema en tu idioma o una ruta API exacta.

    Guías de integración

    Conectar la compra de entradas al pago central

    Use configuración real y el cliente Web protegido para abrir la sesión creada por el servidor.

    Antes de empezar

    • Campaña pública aprobada, tipos de entradas reales y formulario específico.
    • Entorno de prueba autorizado y repositorio Web SparkGlim; el módulo no es un SDK de navegador publicado.
    • Protecciones Storm/Turnstile existentes, origen permitido y retorno relativo del mismo origen.
    01

    Leer entradas y requisitos

    Elija entrada activa, cantidad permitida y campos obligatorios. Conserve identificadores, moneda, fechas, invitaciones y límites del servidor.

    El navegador no calcula cargos ni totales. Las entradas gratuitas mantienen su flujo existente; el ejemplo pagado no lo reemplaza.

    02

    Conservar la integración protegida

    En el Web aprobado, fetchPublicFlow de lib/server-backend/public-api.ts usa prepareWebCheckoutRequest de lib/security/web-checkout-storm.ts para contexto, intento y retorno.

    cURL/Python/PHP externos sin web_abuse_context no son una integración funcional. No invente huellas ni evada controles. Use acceso Organización aprobado o la página real de campaña.

    03

    Enviar una vez y abrir el pago

    La función no actúa hasta que su formulario validado la llame con una prueba autorizada. Conserve client_attempt_id y bloquee repeticiones si el resultado es incierto. El indicador de prueba no concede permisos.

    Abra únicamente authorization_url de checkout.sparkglim.net para un pago. Checkout y Server gestionan resultado y retorno; no añada verificación, consultas periódicas ni entrega en el navegador.

    Solicitud ilustrativa con valores de ejemplo
    typescript
    'use client';
    import { fetchPublicFlow } from '@/lib/server-backend/public-api';
    type Input = { campaign_id: string; ticket_id: string; quantity: number; phone_number: string; email?: string; attendee_information?: Record<string, string>; invite_code?: string; discount_code?: string; client_attempt_id: string; return_path: string };
    let requestStarted = false;
    export async function initializeApprovedTest(input: Input, approvedTest: boolean) {
      if (!approvedTest || requestStarted) return null;
      requestStarted = true;
        const response = await fetchPublicFlow('/tickets/purchase', {
          method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(input)
        });
        const result = await response.json();
        if (!response.ok || result.success !== true) throw new Error(result.error || 'Checkout unavailable');
        if (typeof result.data?.authorization_url !== 'string') throw new Error('No paid checkout URL returned');
        const target = new URL(result.data.authorization_url);
        if (target.origin !== 'https://checkout.sparkglim.net' || target.username || target.password) throw new Error('Invalid checkout URL');
        window.location.assign(target.href);
        return target.href;
    }

    Compruebe su integración

    • Probar entradas agotadas y campos requeridos con datos autorizados.
    • Mantener el rechazo por identidad ausente y comprobar retorno sin cobro real.