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 una donación real al pago central

    Recoja campos configurados; Server determina moneda, cargos y contribución confirmada.

    Antes de empezar

    • Campaña pública real abierta a contribuciones.
    • Moneda, límites, campos y totales públicos permitidos de la campaña.
    • Prueba autorizada y cliente Web protegido, o integración Organización aprobada aparte.
    01

    Leer la causa y los requisitos

    Muestre campaña y beneficiario públicos. El importe usa la moneda real de venta; respete campos pertinentes y anonimato.

    No invente metas ni totales, no revele donantes privados ni cambie a moneda de visualización. Server valida importe y cargos.

    02

    Mantener protección en la ruta Web

    POST /api/public/donate pasa por fetchPublicFlow("/donate", ...), que prepara contexto e intento estable. Server rechaza contexto ausente y aplica controles.

    Un script o plugin externo no puede sustituirlo con huellas falsas. Use integración protegida aprobada o página real; el helper no es un paquete de navegador publicado.

    03

    Abrir el pago del servidor

    El ejemplo inactivo no envía nada al mostrar la documentación. Llámelo desde un formulario validado y con prueba autorizada; conserve el intento ante incertidumbre.

    Abra authorization_url en checkout.sparkglim.net. Checkout devuelve al visitante y Server registra donaciones. Sin verificación, sondeo, total optimista ni confirmación inventada 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; amount: number; phone_number?: string; email?: string; donor_name?: string; anonymous?: boolean; custom_data?: Record<string, unknown>; 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('/donate', {
          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 importe, contactos y anonimato con datos autorizados.
    • Conservar moneda y totales privados; revisar retorno sin una donación real.