Documentation Charitable

Apprenez à tirer le meilleur parti de Charitable grâce à des instructions claires, étape par étape.

Lien magique

La fonctionnalité de lien magique permet aux donateurs d'accéder à leur tableau de bord de donateur sans avoir besoin d'un compte utilisateur WordPress ou d'une connexion. Les donateurs peuvent demander un lien sécurisé et à durée limitée par e-mail qui leur donne accès à leur historique de dons et aux informations de leur compte.


Table des matières


Accroches et filtres

Les hooks et filtres PHP suivants sont disponibles pour étendre et personnaliser la fonctionnalité de lien magique :

  • charitable_magic_link_logout_redirect – Filtrer l'URL de redirection après la déconnexion du lien magique
    • Paramètres : $redirect_url (string)
    • Retourne : Chaîne d'URL de redirection modifiée
    • Remarque : Le résultat du filtre est validé pour empêcher la redirection vers le tableau de bord du donateur
  • charitable_is_magic_link_on_page – Déterminer si la fonctionnalité de lien magique doit être active sur la page actuelle
    • Paramètres : $is_magic_link_on_page (bool)
    • Retourne : Booléen
    • Par défaut : Vrai si sur la page du tableau de bord du donateur, a l'action donor_dashboard, ou a un jeton magic_link_token
  • charitable_magic_link_verify_throttle – Filtrer la période de limitation des demandes de clé de vérification (en secondes)
    • Paramètres : Aucun
    • Retourne : Entier (par défaut : 300 secondes / 5 minutes)
  • charitable_magic_link_limit_throttle – Filtrer le nombre maximum de demandes de lien magique autorisées par période de limitation
    • Paramètres : Aucun
    • Retourne : Entier (par défaut : 3 requêtes)
  • charitable_magic_link_token_expiration – Filtrer le temps d'expiration du jeton (en secondes)
    • Paramètres : Aucun
    • Retourne : Entier (par défaut : 7200 secondes / 2 heures)
  • charitable_magic_link_token_expired_message – Filtrer le message d'erreur affiché lorsque le jeton expire
    • Paramètres : $message (string)
    • Retourne : Chaîne de message modifiée

Filtres d'e-mail

  • charitable_email_magic_link_name – Filtrer le nom/titre de l'e-mail
    • Paramètres : $name (string)
    • Retourne : Chaîne de nom d'e-mail modifiée
  • charitable_email_magic_link_subject – Filtrer la ligne d'objet par défaut de l'e-mail
    • Paramètres : $subject (string), $email (instance de Charitable_Email_Magic_Link)
    • Retourne : Chaîne d'objet modifiée
  • charitable_email_magic_link_default_headline – Filtrer le titre par défaut de l'e-mail
    • Paramètres : $headline (string), $email (instance de Charitable_Email_Magic_Link)
    • Retourne : Chaîne de titre modifiée
  • charitable_email_magic_link_default_body – Filtrer le contenu du corps de l'e-mail par défaut
    • Paramètres : $body (string), $email (instance de Charitable_Email_Magic_Link)
    • Retourne : Chaîne de corps modifiée

Filtres de modèle de tableau de bord

  • charitable_magic_link_dashboard_access_heading – Filtrer le texte du titre pour le formulaire d'accès au lien magique
    • Paramètres : $heading (string)
    • Retourne : Chaîne de titre modifiée
  • charitable_magic_link_dashboard_access_description – Filtrer le texte de description pour le formulaire d'accès au lien magique
    • Paramètres : $description (string)
    • Retourne : Chaîne de description modifiée
  • charitable_magic_link_form_shortcode – Filtrer la sortie du shortcode du formulaire de lien magique
    • Paramètres : $output (string)
    • Retourne : Sortie de shortcode modifiée

Flux d'authentification

  1. Utilisateurs connectés : Si un utilisateur WordPress est connecté, le lien magique est contourné et l'authentification utilisateur standard est utilisée
  2. Utilisateurs de lien magique : Si non connecté, le système vérifie la validité du jeton de lien magique
  3. Aucune authentification : Si aucun des deux n'existe, le formulaire de lien magique est affiché (s'il est activé)

Paramètres et configuration

La fonctionnalité de lien magique peut être configurée dans Charitable → Paramètres → Donateurs → Lien magique.

Paramètres

  • Activer le lien magique – Basculer pour activer/désactiver la fonctionnalité de lien magique
    • Par défaut : Activé
    • Remarque : Nécessite que le tableau de bord des donateurs soit activé et que la mise à niveau de la base de données soit terminée
  • Expiration du lien magique (heures) – Durée de validité des liens magiques
    • Par défaut : 2 heures
    • Plage : Configurable via le filtre charitable_magic_link_token_expiration
    • Remarque : L'expiration est calculée à partir de la création du jeton (et non de l'envoi de l'e-mail)

Exigences

  • Le tableau de bord du donateur doit être activé
  • La mise à niveau de la base de données pour les colonnes de lien magique doit être terminée
  • L'e-mail du lien magique ne peut pas être désactivé tant que le lien magique est activé

Fonctionnalités de sécurité

Le système de liens magiques comprend plusieurs mesures de sécurité :

Limitation de débit

  • Limitation des requêtes : Maximum 3 requêtes de lien magique par fenêtre de 5 minutes par donateur
  • Fenêtre de limitation : 5 minutes (configurable via charitable_magic_link_verify_throttle)
  • Limite de requêtes : 3 requêtes (configurable via charitable_magic_link_limit_throttle)
  • Implémentation : Utilise le cache d'objets WordPress et les métadonnées du donateur pour suivre le nombre de requêtes

Sécurité des jetons

  • Jetons uniques : Un seul jeton actif par donateur à la fois
  • Invalidation des jetons : Lorsqu'un nouveau lien magique est demandé, tous les jetons existants pour ce donateur sont invalidés
  • Expiration : Les jetons expirent automatiquement après la période configurée
  • Cookies sécurisés : Les jetons stockés dans les cookies utilisent les indicateurs HttpOnly et Secure (lorsque le SSL est disponible)

Validation de session

  • Correspondance de l'ID du donateur : L'ID du donateur de la session doit correspondre à l'ID du donateur du jeton
  • Validation des requêtes : Les requêtes AJAX valident que l'ID du donateur du jeton correspond à l'ID du donateur demandé
  • Protection contre les décalages de session : Si les ID de session et de jeton du donateur ne correspondent pas, la session est effacée et une réauthentification est requise

Sécurité de déconnexion

  • Protection Nonce : La déconnexion nécessite un nonce valide pour empêcher les attaques CSRF
  • Invalidation des jetons : La déconnexion invalide tous les jetons du donateur dans la base de données
  • Effacement des cookies : Tous les cookies de lien magique sont effacés lors de la déconnexion
  • Effacement de la session : Toutes les données de session de lien magique sont effacées

Structure de la base de données

La fonctionnalité de lien magique utilise les colonnes de base de données suivantes dans la table wp_charitable_donors :

Colonnes

  • magic_link_token – Stocke le jeton d'accès persistant (chaîne de 32 caractères)
    • Défini lorsque la clé de vérification est utilisée pour la première fois
    • Effacé lorsque le jeton expire ou est invalidé
    • Utilisé pour l'authentification en cours
  • magic_link_verify_key – Stocke la clé de vérification initiale (chaîne de 32 caractères)
    • Défini lorsque l'e-mail du lien magique est envoyé
    • Converti en jeton lors de la première utilisation
    • Effacé après conversion ou expiration
  • magic_link_verify_throttle – Stocke l'horodatage pour la limitation du débit et l'expiration du jeton
    • Utilisé pour suivre la date de création de la clé de vérification (pour la limitation du débit)
    • Utilisé pour suivre la date de création du jeton (pour la vérification de l'expiration)
    • Format : date/heure MySQL (Y-m-d H:i:s)

Métadonnées du donateur

  • _charitable_magic_link_throttle_count – Suivi du nombre de demandes de lien magique dans la fenêtre de limitation actuelle
    • Incrémenté à chaque demande
    • Réinitialisé lorsque la fenêtre de limitation expire
    • Utilisé avec le cache d'objets pour appliquer la limitation du débit

Système d'e-mail

L'e-mail du lien magique est un type d'e-mail requis qui ne peut pas être désactivé tant que le lien magique est activé.

Classe d'e-mail

  • Classe : Charitable_Email_Magic_Link
  • ID d'e-mail : magic_link
  • Requis : Oui (ne peut pas être désactivé tant que le lien magique est activé)

Champs d'e-mail

L'e-mail du lien magique inclut les champs personnalisés suivants :

  • {magic_link} – L'URL sécurisée pour accéder au tableau de bord du donateur
    • Contient la clé de vérification en tant que paramètre magic_link_token
    • Pointe vers l'URL de la page du tableau de bord du donateur
  • {donor_name} – Le prénom du donateur (ou « Donateur apprécié » s'il n'est pas disponible)
  • {expiration_time} – Heure d'expiration lisible par l'homme (par exemple, « dans 2 heures »)

Balises de modèle d'e-mail

Les balises standard des e-mails de Charitable sont disponibles, ainsi que les champs personnalisés listés ci-dessus.

Filtres d'e-mail

Tous les filtres d'e-mails standard de Charitable s'appliquent, ainsi que les filtres spécifiques aux liens magiques listés dans la section Hooks et Filtres.


Raccourci

Le formulaire de lien magique peut être affiché à l'aide d'un shortcode.

Raccourci

  • Shortcode : [charitable_magic_link_form]
  • Attributs : Aucun actuellement pris en charge
  • Sortie : Affiche le formulaire de demande de lien magique

Traitement du formulaire

  1. L'utilisateur saisit l'adresse e-mail
  2. Le formulaire valide le format de l'e-mail
  3. Le système vérifie si un donateur existe avec cette adresse e-mail
  4. La limitation de débit est vérifiée
  5. Si autorisé, l'e-mail de lien magique est envoyé
  6. Un message de succès ou d'erreur s'affiche

Validation du formulaire

  • E-mail requis : Doit être une adresse e-mail valide
  • Le donateur doit exister : L'e-mail doit être associé à au moins un don
  • Limitation de débit : Ne doit pas dépasser les limites de requêtes

Fonctions d'aide

Les fonctions d'assistance suivantes sont disponibles pour les développeurs :

Vérifier les fonctions

  • charitable_is_magic_link_enabled() – Vérifier si le lien magique est activé
    • Retourne : bool
    • Vérifications : Tableau de bord du donateur activé, mise à niveau de la base de données terminée, paramètre activé
  • charitable_is_authenticated_via_magic_link() – Vérifier si l'utilisateur actuel est authentifié via un lien magique
    • Retourne : bool
    • Vérifie la session et la validité du jeton
  • charitable_get_donor_id_from_magic_link() – Obtenir l'ID du donateur à partir de l'authentification par lien magique
    • Retourne : int|false
    • Retourne l'ID du donateur si un jeton de lien magique valide existe, sinon false

Méthodes de classe

La classe Charitable_Magic_Link fournit les méthodes publiques suivantes :

  • get_instance() – Obtenir l'instance singleton de la classe
  • get_token() – Obtenir le jeton à partir d'un cookie ou d'un paramètre GET
  • is_valid_token($token) – Vérifier si un jeton est valide et non expiré
  • is_valid_verify_key($token) – Vérifier si une clé de vérification est valide
  • get_donor_by_token($token) – Obtenir l'objet donateur par jeton
  • get_donor_by_verify_key($verify_key) – Obtenir l'objet donateur par clé de vérification
  • can_send_email($donor_id) – Vérifier si l'e-mail de lien magique peut être envoyé (limitation de débit)
  • send_email($donor_id, $email) – Envoyer un e-mail de lien magique au donateur
  • generate_verify_key() – Générer une nouvelle clé de vérification (chaîne aléatoire de 32 caractères)

Cycle de vie du jeton

Création de jeton

  1. L'utilisateur demande un lien magique :
    • Le donateur saisit son e-mail dans le formulaire
    • Le système génère une clé de vérification
    • La clé de vérification est stockée dans magic_link_verify_key
    • E-mail envoyé avec la clé de vérification dans l'URL
  2. L'utilisateur clique sur le lien de l'e-mail :
    • La clé de vérification est validée
    • La clé de vérification est convertie en jeton
    • Le jeton est stocké dans magic_link_token
    • La clé de vérification est supprimée de la base de données
    • Le cookie est défini avec le jeton
    • La session est créée

Utilisation du jeton

  1. Chargement de la page :
    • Le système recherche le jeton dans le cookie ou le paramètre GET
    • Jeton validé (non expiré, existe dans la base de données)
    • Session validée (l'ID du donateur correspond)
    • Accès accordé si toutes les vérifications réussissent
  2. Requêtes AJAX :
    • Jeton validé à chaque requête
    • L'ID du donateur du jeton doit correspondre à l'ID du donateur demandé
    • L'ID du donateur de la session doit correspondre à l'ID du donateur du jeton

Expiration du jeton

  • Heure d'expiration : Configurable (par défaut : 2 heures)
  • Vérification d'expiration : Basée sur l'horodatage magic_link_verify_throttle
  • Comportement en cas de jeton expiré :
    • Le jeton n'est plus valide
    • L'utilisateur doit demander un nouveau lien magique
    • Message d'erreur affiché

Invalidation du jeton

Les jetons sont invalidés dans les scénarios suivants :

  1. Nouveau lien magique demandé : Tous les jetons existants pour le donateur sont invalidés lorsqu'un nouveau lien magique est demandé
  2. Déconnexion de l'utilisateur : Tous les jetons du donateur sont invalidés lors de la déconnexion
  3. Expiration du jeton : Les jetons expirés sont automatiquement invalides
  4. Incompatibilité de session : Si les ID du donateur de la session et du jeton ne correspondent pas, la session est effacée

Processus de déconnexion

  1. Demande de déconnexion :
    • L'utilisateur clique sur le lien de déconnexion (nécessite un nonce)
    • Nonce vérifié
    • ID du donateur récupéré de la session
  2. Invalidation du jeton :
    • Tous les jetons du donateur effacés de la base de données
    • Données de session effacées
    • Cookies effacés
  3. Redirection :
    • L'utilisateur est redirigé vers la page d'accueil (URL propre, sans paramètres de requête)
    • L'URL de redirection peut être filtrée via charitable_magic_link_logout_redirect

Notes supplémentaires

Compatibilité

  • Le lien magique fonctionne parallèlement à l'authentification standard des utilisateurs WordPress
  • Si un utilisateur est connecté, le lien magique est contourné
  • Le lien magique ne s'active que pour les utilisateurs non connectés

Journalisation

Le journal du système enregistre les activités des liens magiques dans le journal des donateurs :

  • magic_link_sent – Lorsqu'un e-mail de lien magique est envoyé
  • magic_link_used – Lorsqu'un lien magique est utilisé avec succès pour accéder au tableau de bord
  • magic_link_failed – Lorsqu'une tentative de lien magique échoue (jeton invalide/expiré)

Mode de débogage

Lorsque WP_DEBUG est activé, une journalisation détaillée est disponible pour :

  • Validation du jeton
  • Gestion de session
  • Limitation du débit
  • Traitement de la déconnexion

Ressources supplémentaires

Pour plus d'informations sur l'extension des fonctionnalités du lien magique :

  • Documentation du développeur Charitable
  • Documentation des Hooks et Filtres WordPress
  • Dépôt GitHub Charitable

Version du document : 1.0
Dernière mise à jour : nov. 2025

Vous avez encore des questions ? Nous sommes là pour vous aider !

Dernière modification :

Quoi de neuf dans Charitable

Voir les dernières mises à jour
🔔 Abonnez-vous pour recevoir nos dernières mises à jour
📧 Abonnez-vous aux e-mails

Abonnement par e-mail

Rejoignez notre newsletter

Nous ne vous enverrons pas de spam. Nous envoyons un e-mail uniquement lorsque nous pensons qu'il vous sera réellement utile. Désabonnez-vous à tout moment !

Dons Amélioration

📊 Votre tableau de bord Pro peut désormais comparer, exporter et évaluer !

La plupart des tableaux de bord de collecte de fonds vous indiquent seulement combien vous avez collecté. Charitable Pro 1.8.19 reconstruit le tableau de bord et la Vue d'ensemble des rapports autour des questions les plus difficiles : si quelque chose ne fonctionne pas, si cette période a été meilleure que la précédente, et quel changement unique ferait la plus grande différence aujourd'hui. Pourquoi c'est important :

  • 📈 Chaque chiffre a une tendance : Choisissez une période et les vignettes ainsi que le graphique bougent ensemble, chaque total étant affiché par rapport à la période précédente.
  • 🗓️ Des graphiques lisibles : Les courtes périodes regroupent les dons jour par jour, tandis que les longues périodes regroupent par semaine ou par mois, de sorte qu'une année complète se lit comme une courbe au lieu d'une ligne plate.
  • 🔀 Comparez n'importe quelles 2 périodes : Pas seulement consécutives, vous pouvez donc demander comment ce mois de décembre s'est comparé au mois de décembre dernier. C'est important car la collecte de fonds est saisonnière.
  • 📤 Exportez le résumé complet : Envoyez la vue d'ensemble complète en CSV ou PDF, prête pour un dossier de conseil d'administration ou un rapport de bailleur de fonds.
  • 🎯 Évaluez votre configuration gratuitement : Faites évaluer votre configuration de collecte de fonds, de sorte que le seul changement à faire ensuite soit celui que vous pouvez voir.

Consultez notre annonce ici.

Fonctionnalité Nouveau

🎟️ Présentation des Événements Caritatifs : Vendez des Billets dans Vos Campagnes !

La plupart des organisations à but non lucratif vendent des billets d'événement dans un outil et collectent des dons dans un autre, ce qui laisse deux ensembles de rapports et une correspondance manuelle à la fin de l'année. Événements Caritatifs réunit les deux, en vendant des billets via les mêmes formulaires de don et passerelles de paiement que vous utilisez déjà dans Charitable. Pourquoi c'est important :

  • 🎟️ Chaque billet est un don : Les ventes de billets passent par la passerelle que vous utilisez déjà et comptent pour l'objectif de la campagne, le tout géré sous Charitable » Événements.
  • 📱 Enregistrement par QR code depuis n'importe quel téléphone : Chaque participant reçoit son propre code QR sur le reçu, et les bénévoles scannent à l'entrée via un lien d'enregistrement qui ne nécessite aucun compte WordPress.
  • 🧾 Reçus prêts pour la déclaration de revenus : Attribuez à chaque type de billet une juste valeur marchande, et Charitable indiquera le montant déductible d'impôt correct sur chaque reçu de donateur.
  • 📋 Détails des participants au moment du paiement : Demandez à chaque invité son choix de repas, sa taille de chemise ou ses besoins d'accès, avec un enregistrement distinct du participant créé pour chaque billet.
  • 🗓️ Blocs et calendriers inclus : Trois blocs d'éditeur ainsi que la prise en charge de Sugar Calendar et The Events Calendar placent vos événements là où les supporters les recherchent déjà.

Consultez notre annonce ici.

ia Nouveau

🚀 Libérez la puissance de l'IA dans Charitable !

Votre assistant IA peut désormais créer, modifier et gérer vos campagnes de collecte de fonds Charitable directement — il suffit de demander. Avec Charitable Pro ajoutant la prise en charge de l'écriture pour l'API WordPress Abilities, des outils comme ChatGPT, Claude et Cursor peuvent gérer des actions administratives complètes en toute sécurité via MCP. Pourquoi c'est important :

  • 🤖 Création de campagnes en langage clair : Demandez à votre assistant un objectif comme « Mettre en place une collecte de fonds pour le refuge avec un objectif de 5 000 $ », et il crée une ébauche de campagne complète avec des paliers de dons suggérés.
  • 🎨 Modifications instantanées du formulaire de don : Ajoutez des champs personnalisés, changez les couleurs des boutons ou réorganisez les éléments sans avoir à modifier les paramètres du formulaire.
  • 📝 Enregistrement des dons hors ligne : Informez votre assistant des dons en espèces ou par chèque, et il associera les e-mails des donateurs et enregistrera les transactions dans votre historique.
  • 🛡️ Sécurité et contrôle par défaut : L'accès en écriture reste désactivé jusqu'à ce qu'il soit activé dans Charitable » Outils » AI MCP, maintenant la sécurité des rapports en lecture seule par défaut.
  • 📜 Journalisation complète des audits : Chaque modification apportée par un assistant IA est suivie dans Charitable » Outils » Journaux, vous savez donc toujours qui (ou quoi) a mis à jour votre site.

Consultez notre annonce ici.

Amélioration Paiements

💰 Acceptez les dons récurrents avec Windcave et Charitable

Un donateur configure son don une seule fois sur la page de paiement sécurisée de Windcave, et Charitable facture chaque renouvellement par la suite selon le calendrier établi. Pourquoi c'est important :

🏦 Organisations basées en Nouvelle-Zélande ou en Australie : dons mensuels sur la passerelle avec laquelle votre banque vous a déjà configuré, sans second processeur à intégrer.
⛪ Églises acceptant les dîmes et offrandes régulières : les membres de la congrégation définissent leur propre calendrier une fois, ce qui est le moyen le plus simple de lancer des dons d'église récurrents sans plateforme distincte.
🌏 Groupes avec des donateurs dans plusieurs devises : Windcave en gère plus de 20, ainsi un sympathisant peut donner dans la devise qu'il détient réellement.
📅 Fonds de fonctionnement plutôt que des campagnes ponctuelles : activez le mode « Récurrent uniquement » et l'option ponctuelle disparaît, de sorte que chaque don à cette campagne est un abonnement.
🧾 Équipes sans développeur attitré : 3 jeux d'identifiants collés sur une page de paramètres, et aucun code nulle part.

Consultez notre annonce ici.

automatisation mettre à jour

⚡ Générateur d'automatisation visuelle : Glisser-déposer sans code !

Charitable Automation Connect 2.3.0 introduit le Générateur d'automatisation visuelle, une zone d'édition plein écran qui présente chaque automatisation sous forme de flux de cartes connectées : un déclencheur, des conditions facultatives et une liste d'actions exécutées dans l'ordre.

🧩 De nombreuses actions, un seul déclencheur : Taguez un donateur, envoyez un e-mail, ajoutez une note et déclenchez un webhook à partir d'un seul événement, disposés dans n'importe quel ordre.

✉️ Agissez à l'intérieur de Charitable : Les nouvelles actions Envoyer un e-mail, Taguez un donateur et Ajoutez une note de donateur s'exécutent sans service externe requis.

🔤 Étiquettes de fusion : Personnalisez les e-mails et les notes avec des champs dynamiques tels que {first_name}, {total} et {campaign_name}.

🔁 Appliquer aux donateurs existants : Exécutez Taguez un donateur et Ajoutez une note de donateur sur les donateurs que vous avez déjà.

🖥️ Zone d'édition ou Simple : Changez de vue à tout moment, et les automatisations créées avant la version 2.3.0 continueront de fonctionner sans modification.

En savoir plus ici.