15 minutes. C’est le temps qu’il a fallu pour remplacer une extension de dons annoncée à plus de 200 euros par un simple lien de paiement Stripe, collé dans le tableau de bord d’un site associatif. Le trésorier de l’association voulait juste un bouton visible dès la connexion à l’administration, sans configurer un mur de réglages qu’il n’utiliserait jamais.
Stripe propose depuis plusieurs années des liens de paiement (Payment Links) : une URL hébergée par Stripe, créée en quelques clics depuis le tableau de bord Stripe, qui ouvre une page de paiement sécurisée. Pas besoin de manipuler la moindre clé API côté WordPress pour ce cas simple : il suffit d’afficher ce lien au bon endroit.
Pourquoi éviter une extension dédiée ici
Une extension de dons complète gère les reçus fiscaux, les dons récurrents, les campagnes multiples. Pour une association qui veut simplement collecter des dons ponctuels via un lien déjà créé dans son compte Stripe, ce niveau de complexité n’apporte rien : il ajoute des tables en base, des pages de réglages, et un risque de conflit avec le thème.
Le bon réflexe, dans ce genre de situation, consiste à se demander ce que fait réellement l’extension candidate au-delà de ce qui est nécessaire. Ici, la réponse est : beaucoup de choses inutiles pour un simple bouton de rappel.
Créer le widget dans le tableau de bord
La fonction wp_add_dashboard_widget() permet d’ajouter un encart personnalisé sur l’écran d’accueil de l’administration. C’est l’endroit idéal pour un rappel visible par toute personne qui se connecte, sans dépendre d’un emplacement dans le contenu public du site.
add_action( 'wp_dashboard_setup', 'assoc_widget_don_stripe' );
function assoc_widget_don_stripe() {
wp_add_dashboard_widget(
'assoc_don_stripe',
'Soutenir l\'association',
'assoc_widget_don_stripe_contenu'
);
}
function assoc_widget_don_stripe_contenu() {
$lien = 'https://buy.stripe.com/xxxxxxxxxxxx';
echo '<p>Un don, même modeste, aide l\'association à continuer ses actions.</p>';
echo '<p><a class="button button-primary" href="' . esc_url( $lien ) . '" target="_blank" rel="noopener">Faire un don via Stripe</a></p>';
}

Le lien Stripe est stocké en dur dans cet exemple, ce qui convient pour une association qui change rarement de campagne. Pour plus de souplesse, il est préférable de le placer dans une option WordPress modifiable depuis l’écran des réglages généraux, via register_setting() et un champ texte simple.
Sécuriser l’affichage sans exposer de données sensibles
Le lien de paiement Stripe ne transite jamais par la base de données WordPress au-delà de l’URL elle-même : aucune donnée bancaire n’est stockée côté site. C’est un point important à expliquer au client, souvent inquiet à l’idée de manipuler des paiements sur son propre serveur.
- Toujours passer l’URL dans
esc_url()avant de l’afficher, même si elle vient d’une option contrôlée par un administrateur. - Ajouter
rel="noopener"sur les liens ouverts avectarget="_blank", pour éviter qu’une page tierce puisse manipuler la fenêtre d’origine. - Restreindre l’affichage du widget aux rôles pertinents avec une vérification de capacité, si le tableau de bord est partagé avec des bénévoles sans droit d’administration complet.
Restreindre le widget à certains rôles
Sur un site associatif, plusieurs bénévoles se connectent parfois avec des rôles différents. Le trésorier veut voir ce rappel, mais un simple contributeur n’a pas forcément besoin d’un bouton administratif dans son tableau de bord.
function assoc_widget_don_stripe() {
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
wp_add_dashboard_widget(
'assoc_don_stripe',
'Soutenir l\'association',
'assoc_widget_don_stripe_contenu'
);
}
Cette vérification simple évite d’encombrer le tableau de bord de comptes qui n’ont pas de rôle décisionnel, et garde le message pertinent pour la ou les personnes concernées.
Variantes utiles
Le même principe s’applique ailleurs qu’au tableau de bord : un shortcode minimal, un bloc HTML personnalisé dans l’éditeur, ou un emplacement dans le pied de page via le hook wp_footer. L’essentiel est de garder la logique la plus légère possible tant que le besoin réel se limite à afficher un lien.
Avant d’installer une extension, il vaut toujours la peine de se demander si le besoin ne tient pas en dix lignes de code bien placées.
En résumé
Un lien de paiement Stripe déjà configuré peut être intégré à un tableau de bord WordPress avec une poignée de lignes, sans dépendance supplémentaire ni surface d’attaque additionnelle. Cette approche convient parfaitement à une association qui gère des dons ponctuels et veut garder son site simple à maintenir. Si les besoins évoluent vers des dons récurrents ou des reçus fiscaux automatisés, une extension dédiée redeviendra alors pertinente, mais ce jour-là n’est pas encore arrivé pour ce projet.