Aller à la documentation
SparkGlimSparkGlim Développeurs
Rechercher dans toute la documentation

Essayez un sujet dans votre langue ou un chemin API exact.

    Guides d’intégration

    Relier un don réel au paiement central

    Collectez les champs configurés ; le serveur détermine devise, frais et contribution confirmée.

    Avant de commencer

    • Collecte publique réelle ouverte aux dons.
    • Devise, limites de montant, champs et totaux publics autorisés de la campagne.
    • Test autorisé et client Web protégé, ou intégration Organisation approuvée séparément.
    01

    Lire la cause et ses exigences

    Présentez la campagne et le bénéficiaire publics. Le montant utilise la devise de vente réelle ; respectez les champs nécessaires et l’anonymat.

    N’inventez pas d’objectif ou de total, ne révélez pas de donateurs privés et ne remplacez pas la devise par celle d’affichage. Le serveur valide les frais.

    02

    Conserver la protection Web

    POST /api/public/donate passe par fetchPublicFlow("/donate", ...), qui prépare contexte navigateur et tentative. Le serveur refuse le contexte absent et applique ses protections.

    Un script ou plugin externe ne peut pas fournir de fausses empreintes. Utilisez le client approuvé ou la vraie page de campagne ; ce module n’est pas un paquet navigateur publié.

    03

    Ouvrir le paiement géré par le serveur

    L’exemple inactif n’envoie rien lors de l’affichage. Appelez-le uniquement depuis le formulaire validé et un test autorisé ; gardez la tentative en cas d’incertitude.

    Ouvrez authorization_url sur checkout.sparkglim.net. Checkout gère le retour et Server enregistre le don. Aucun contrôle de paiement, suivi périodique, total optimiste ou confirmation inventée dans le navigateur.

    Requête illustrative avec valeurs fictives
    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;
    }

    Vérifier votre intégration

    • Tester montant, contacts et anonymat avec des données autorisées.
    • Préserver devise et totaux privés ; vérifier les liens de retour sans don réel.