Plugin SPIPAL

Pour intégrer un système de paiement immédiat via PayPal à certains de vos articles .

Ce plugin est une mise à niveau pour la version SPIP 2.1.8 du Plugin GoPayPal qui était resté en SPIP 1.9.2 depuis 3 ans. Il
change de nom pour ne pas faire trop de pub à une entreprise bancaire critiquable.
La présente version reprend les tables SQL de la version initiale, toutefois le champ « id_devise » a été renommé « devise » pour respecter la règle implicite qu’un champ de préfixe « id_ » est un entier.

La balise principale de la version initiale, FORMULAIRE_ACHETER, a été renommée FORMULAIRE_PAYER puisqu’il ne s’agit pas forcément d’acheter, simplement de payer (une cotisation à une association par exemple). En outre, elle accepte (et souvent nécessite) un argument, et même un deuxième pour faciliter son interfaçage avec d’autres plugins.

Le point essentiel du plugin, l’interface avec Paypal, est conservé et légèrement étendu, la configuration ayant à présent des valeurs par défaut suffisant à assurer ce service. La nouvelle version n’utilise plus le plugin CFG, mais les balises #CONFIGURER_META et #META, reprises du plugin Association (les fichiers sont identiques et de même PATH relatif, le find_in_path ne chargera donc que l’un d’entre eux si l’on active les deux plugins en même temps).

Installation

Récupérer spipal sur le dépôt SPIP-Zone, ou bien utiliser le fichier zip joint. Le plugin s’installe comme n’importe quel plugin. Ensuite,
cliquer sur l’icône des outils à côté de son nom dans la page d’administration des plugins pour modifier ses paramètres par défaut.

Principes

Les articles sont sélectivement étendus via la page de modification des articles. Un article peut être étendu en lui ajoutant un bouton don ou un bouton paiement. Le plugin permet d’étendre tous les articles, ou seulement ceux appartenant à des rubriques indiquées à la configuration.

Chaque versement PayPal effectué provoque l’émission par PayPal d’un message de notification qui est traité par le plugin, par une fonction précisée par le deuxième argument de la balise FORMULAIRE_PAYER. Par défaut, elle gère une table SQL mémorisant les versements. Cette table est accessible dans l’interface privée via le menu « Édition ».

Configuration

La configuration est automatique si l’adresse du Webmaster du site est celle du compte PayPal. Sinon, il faut donner explicitement cette adresse. Les autres valeurs par défaut sont normalement les bonnes.
On peut toutefois utiliser https://www.sandbox.paypal.com/fr/cgi-bin/webscr si l’on souhaite faire des tests.

Les autres paramètres sont :

rubriques Liste des numéros des rubriques dont les articles décrivent quelque chose à payer. Laisser vide si cela doit s’appliquer à tous les articles du site
garder_notification Si cette option est activée, les requêtes de notification PayPal sont sérialisées et enregistrées dans la base.
donner Vous permet de rendre vos articles aptes à provoquer des élans de générosités de vos lecteurs. À condition de paramétrer l’article.
vendre Inactif, et ne sera probablement jamais actif

Utilisation

Le plugin est fourni avec une nouvelle balise #FORMULAIRE_PAYER,
à mettre dans vos squelettes.

Pour que tout cela ait des effets visibles il faut avoir modifié l’article que l’on souhaite utiliser pour s’attirer la bienveillance pécuniaire de ses lecteurs. Pour réaliser cela le plugin utilise le pipeline affiche_milieu qui provoque l’affichage, dans la page de modification de l’article, d’un nouveau formulaire permettant de solliciter un paiement lié à l’article.

Cet affichage s’applique aux seuls articles des rubriques indiquées dans la configuration, ou à tous les articles si cette donnée de configuration est vide.

La balise #FORMULAIRE_PAYER

Elle provoque l’affichage d’un bouton accompagné d’une liste déroulante de sélection d’une devise. La devise par défaut est EUR (euro). C’est actuellement la seule devise supportée. (PayPal gère toutes les autres devises et fait les conversions lui même)

Si un montant a été spécifié avec le formulaire mentionné ci-dessus, alors la balise provoque aussi l’affichage d’un <input type="text" /> dont la valeur par défaut est ce montant. Il est modifiable du côté public, mais cela n’affectera pas la valeur en base, uniquement la valeur transmise à PayPal.

Si aucun montant n’a été saisi, il devra l’être par l’utilisateur sur PayPal.

Seule la mise en vente utilise l’information de TVA, qui est un pourcentage. Dans le cas d’un don la balise #FORMULAIRE_PAYER force cette valeur à 0.

La saisie d’un nom commercial pour l’article provoquera, sur PayPal, l’affichage de « nom commercial ».

Si aucune référence n’est saisie pour l’article celle ci sera automatiquement positionnée à « id_article ». Cette référence permet de suivre les opérations sur le compte PayPal.

La balise doit avoir comme argument un numéro indiquant ce qui est payé. Le plus souvent ce numéro sera celui de l’article spécifié par une boucle ARTICLES, comme dans :

#FORMULAIRE_PAYER{#ID_ARTICLE}

Par souci de compatibilité avec l’ancienne version, cet argument peut parfois être omis mais ça ne marche que dans certains cas. Tout autre moyen d’indiquer un numéro comme argument est possible.

Le deuxième argument indique la fonction traitant la notification par Paypal :

#FORMULAIRE_PAYER{#ID_ARTICLE, association}

aura pour effet d’appliquer la fonction inc_association_spipal au tableau de couples variable-valeur envoyé par Paypal à la notification. Par défaut cette fonction se nomme inc_valider_spipal et est fournie en standard.

Discussion

31 discussions

  • Bonjour,
    Je ne comprend pas bien , je suis entrain de tester le plugin sur l’environnement de test paypal : www.sandbox.paypal.com
    le paiement est accepté par contre la table « spip_spipal_versements » reste toujours vide.
    Les versements sont-ils alimentés uniquement dans l’environnement de production paypal ?
    Dans l’attente d’une réponse
    Merci

    Répondre à ce message

  • SLT
    je suis en train de mettre en place une boutique pour vendre en ligne. SPIPAL est le plugin choisi.
    Mais j’ai des problèmes !
    1- Quand je clique sur PAYPAL PAIEMENT, aucune valeur n’est trnsmise à paypal, ie la partie RECAPITULATION DE LA COMMANDE m’affiche des valeurs nulles nul nul !!!

    2- Je voudrais avoir la possibilité que l’acheteur modifier la quantité mais pas le prix unitaire

    NB. Souhez un peu explicite dans vos aides car je ne m’y connais pas trop en programmmation. Mon problème doit venir de la config du plugin
    MERCI

    Répondre à ce message

  • une version pour spip 3 est-elle prévue ?

    merci d’avance.

    Répondre à ce message

  • 3
    spipheure

    Bonjour
    Je viens d’installer ce plugin, qui fonctionne bien
    le seul soucis est que la TVA n’est pas transmise à PAYPAL
    Une bonne âme aurait elle trouvée la solution ?

    • spipheure

      je me reponds à moi même et j’espere que cela profitera à la communauté

      le problème vient du fichier payer.html dans le repertoire « formulaires »

      à la ligne 17 le script est :
      <alt type="hidden" name="tax" value="#ENV{taxes}" />
      il faut le remplacer par
      <input type="hidden" name="tax" value="#ENV{taxes}" />

      la TVA passe ensuite sur Paypal
      CQFD

    • Bonjour, Votre code n’apparait pas, serait-il possible que vous le repostié SVP ?

      Merci d’avance.

    • c’est corrigé en ajoutant les balises « code » nécessaires

    Répondre à ce message

  • Bonjour,
    je ne comprend pas bien , je suis entrain de tester le plugin sur l’environnement de test paypal : www.sandbox.paypal.com
    le paiement est accepté par contre le table « spip_spipal_versements » toujours vide !!!!

    aider moi svp
    merci

    Répondre à ce message

  • bonjour

    si j’ai bien compris :

    ce plugin permet d’afficher un article après paiement auprès de Paypal
    est il possible si l’articlez est déjà payé de revenir le visualiser sur le site ?

    en fait je dois faire un site avec vente en ligne de cours
    donc si ils sont sur un article de cours, alors sipal et accès à un autre artcile avec le pdf à trelecharger
    mais il faudrait autoriser de nouveau le telechargmeent si celui çi est par exemple perdu ...

    merci

    Tounse

    Répondre à ce message

  • 1

    Bonjour,

    Quelques questions :

    1/ Où changer la mise en page (CSS) qui gère le formulaire ?
    Je souhaiterai touché à la mise en forme du côté
    de l’espace public, actuellement j’ai un champs de formulaire avec le montant à payer
    et un même champs en dessous avec la devise, plus le bouton « Paiement Paypal »
    Dans mon cas, c’est un prix fixe donc je ne souhaite pas
    la possibilité de changer le montant.

    2/ Est-ce qu’il a été prévu un formulaire pour des quantités différentes, qui multiplierai le prix par le nombre d’exemplaires indiqués ?

    3/ Dans Internet Explorer rien ne s’affiche dans le champs du prix, le champs est vide, une solution ?

    MErci

    • Bonjour,

      Je me réponds.
      Pour la 3/, tout est rentré dans l’ordre une fois que j’ai mis un autre article à la vente, par contre y a -t-il possibilité, surement mais comment, de faire qu’il ne soit pas possible de changer le prix pour le visiteur, actuelement on peut, pratique voire indispensable lorsqu’il s’agit d’un don, mais dans ce cas précisil s’agit de prix fixes.

      Bien à vous.

    Répondre à ce message

  • 2

    Bonjour,

    Comment faire si par exemple mon article est en rupture de stock et que je veux désactiver SPIPAL pour cet article (sans effacer l’article, parce qu’il sera à nouveau en vente bientôt) ?

    • repasser l’article en brouillon jusqu’à ce que le stock soit réapprovisionné ou mettre sa date de publication à la date où l’article sera de nouveau disponible :)

    • Bonjour,

      Oui, y a une astuce avec les mots clefs :
      tu créer le mot clef « acheter » que tu attribues à tous les article à
      vendre.
      Ensuite dans ton squelette tu poses cette boucle :

      BOUCLE_achat(ARTICLES)id_article titre_mot=acheter
      #FORMULAIRE_PAYER#ID_ARTICLE
      /BOUCLE_achat_dvd

      Si ton article ne possède pas le mot clef « acheter »,
      le formulaire de paiement n’apparait pas.

      J’espère t’avoir aidé.
      OneMore

      PS : on ne peut plus insérer du code dans le forum ?
      Pour pouvoir insérer ma boucle j’ai du enlever les signes < et > sans quoi
      le code n’apparaissait pas.

    Répondre à ce message

  • 2

    Salut.

    Avez-vous une astuce pour que le formulaire ne s’affiche pas quand il n’y a « rien à payer » ?

    • Pas testé, mais en désactivant l’option « dons » dans la configuration du plugin ? parce-que pour les dons il n’y a rien à payer...

      Autre aprcoche : dans le squelette en question, n’afficher le formulaire que si le prix est renseigné...

    • Bonjour,

      En modifiant le fichier spipal\balise\formulaire_payer.php :

      Dans la fonction formulaires_payer_charger, remplacer la ligne
      if (!$row) return « Rien a payer » ;
      par
      if (!$row) return ;

      Ce if correspond le cas de figure où l’article est gratuit.

      Bien cordialement,
      Bruno.

    Répondre à ce message

  • Bonjour.

    Je viens de parcourir les autres messages pour voir si la question avait été déjà posée.
    J’aimerais savoir comment bénéficier du traitement de ce plugin à partir d’un autre formulaire : je souhaite utiliser un formulaire maison, mais pouvoir payer avec PayPal avec ce plugin installé ; commet procéder ?

    Merci.

    Répondre à ce message

  • 1

    Bonjour à tous

    J’ai installé SPIPAL, j’ai configuré celui-ci sur une rubrique particulière,
    Puis j’ai placé un article de la rubrique avec un paramètre de 60€ sans rien en tva en achat.

    Puis dans le squelette d’article, dans la boucle article j’ai placé ma balise :

    (#FORMULAIRE_PAYERid_article)

    A priori il se passe bien quelque chose, mais je n’obtient pas le formulaire de paiement mais juste la mention :

    (rien à payer)

     !!!Comment obtenir l’affichage du formulaire ?!!! corectement.

    De plus cela s’affiche sur tout mes articles malgré la déclaration de rubriques en configuration ???

    Pour obtenir cela j’ai ajouté la balise (#FORMULAIRE_PAYERid_article) sur la boucle d’article du plugin AVELINE .

    En utilisant la méthode COMPOSITION par la composition d’un modèle (produit).
    Avec une copi modifier de article-contenuprincipal.html d’AVELINE dans le répertoire squellette/contenu/article-produit.html.

    Et en plaçant mon article sur la composition (produit) j’obtiens un double affichage de l’article quand je l’affiche ?!!

    Aussi j’aimerais savoir :
    1) qu’est-ce que j’oubli pour que mon formulaire SPIPAL s’affiche correctement ?
    2) Qu’est-ce que je fait de travers et comment ne plus avoir cette double publication d’article avec le plugin COMPOSITION ?

    PS : en utilisant directement un bouton créer par paypal dans l’article tout s’affiche correctement mais je préférerait utiliser la méthode SPIPAL plus élégante.

    QS : Peut-on écrire directement une boucle ou une balise dans un article par l’interface privé ??

    Désolé je ne comprend pas toujours trés bie la logique de SPIP, merci pour votre compréhension et votre aide précieuse àà tous.

    Cordialement

    magatst->magat.net

    • Ajoutes le #ID_ARTICLE comme ceci dans ton squelette :

      #FORMULAIRE_PAYER{#ID_ARTICLE}

      .
      Cela marche pour moi
      G

    Répondre à ce message

  • 1

    Bonjour,

    Est-il possible d’utiliser la fonction panier de Paypal avec ce Plugin ? Ce qui permettrait d’ajouter plusieurs produits.

    Merci e vos lumières.

    Répondre à ce message

  • Bonjour et merci pour ce plugin.

    Le sélectionneur de rubrique ne fonctionne pas chez moi. Tout fonctionne sauf ceci. Que faut-il faire pour que sélectionner les rubriques ? Merci de vos lumières.

    Répondre à ce message

  • bonjour à tous,
    je ne comprends pas bien si ce plugin permet autre chose que de « faire un don ». Permet-il en particulier, après paiement, de donner accès à l’intégralité du contenu d’un article ?

    Répondre à ce message

  • homodonator

    Bonjour,

    Merci pour ce plugin. Une question toute bête :

    Comment faire apparaître le bouton « Paypal faire un don » au lieu de ’paypal paiements"

    J’ai bien configuré le plugin : « donner »

    Merci HD

    Répondre à ce message

  • 2
    acidGroovy

    Bonjour,
    Je découvre spip pour un site d’asso. Ayant besoin d’utiliser les dons avec **pal, je viens d’installer spipal.
    J’ai eu le souci « Nom du plugin manquant » pour le configurer. J’ai pu constater que la correction 45046 est bien présente dans ma version de spipal. Peut-être que mon souci provient de ma version de spip (2.1.9), toujours est-il que le problème est corrigé en modifiant à nouveau la correction 45046 comme suit : (le ’/’ en trop juste après ’formulaires’, ligne 75) :

    45046 :

    define('_EXTRAIRE_PLUGIN', '@(' .  _DIR_PLUGINS_AUTO . '|' . _DIR_PLUGINS . '|' . _DIR_EXTENSIONS .')(.+)/formulaires/[^/]+$@');

    correctif proposé pour 2.1.9 :

    define('_EXTRAIRE_PLUGIN', '@(' .  _DIR_PLUGINS_AUTO . '|' . _DIR_PLUGINS . '|' . _DIR_EXTENSIONS .')(.+)/formulaires[^/]+$@');

    Si ça peut aider...

    • Il ne me semble pas possible que ta modification puisse avoir résolu le problème, c’est plutôt un cache qui a donné un comportement différent. Ce qui me semble plus pertinent c’est d’enlever l’appel à la fonction « basename » qq lignes plus loin. Peux-tu essayer sur ton installation, et préciser le chemin d’accès au plugin ?

    • Bon, je pense que cette fois 46795 devrait mettre tout le monde d’accord.

    Répondre à ce message

  • 1

    Bonjour,

    J’ai recueilli mon premier don par PayPal aujourd’hui (à mes frais, on n’est jamais mieux servi que par soi-même !).

    Dernière remarque, pour recevoir la notification instantanée de paiement (IPN) il faut modifier le fichier spipal_valider_paiement.php en forçant la valeur de l’url.

    function validation_pp_http_post($env, $url)
    {
    #	$url = "www.sandbox.paypal.com";   // pour test sandbox						 
    	$url = "www.paypal.com";			// pour etat normal 
    	$fp = fsockopen ($url, 80, $errno, $errstr, 30);

    L’url récupérée dans l’environnement est celle qui a été insérée dans la config de Spipal. C’est l’url complète (https:// etc) sinon PayPal renvoie une erreur 405. La fonction fsockopen attend plutôt quelque chose de la forme « www.example.com ». La méthode est un peu brutale, le mieux serait d’extraire l’url pour le fsockopen à partir de l’url complète.

    Cordialement.

    • Désolé, j’avais bien programmé ça mais ne l’avais pas envoyé contrairement à ce que je croyais.
      La 45970 l’a bien maintenant.

    Répondre à ce message

  • Bonjour,

    Autre considération, le format du montant (prix) envoyé chez PayPal n’est pas contrôlé. On peut fonctionner avec des montants fixés au niveau de l’espace privé, mais dans le cas d’un don ce serait se priver soit d’un donateur plus généreux ou décourager un donateur moins bien pourvu. Je préfère donner la possibilité au donateur de modifier le montant proposé.

    Or PayPal n’accepte pas un montant où figure une virgule (15,50), il faut un point (15.50). On n’est pas sûr qu’en permettant la modification du montant, une virgule ne soit pas introduite, ce qui génèrera un message d’erreur et risque de décourager le donateur. Le plus drôle, c’est qu’une fois cette valeur passée chez PayPal, dans l’environnement français, tous les montants sont affichés avec des virgules.

    Dans notre environnement SPIP, l’idéal serait de manipuler les montants avec virgule puis de la remplacer par un point au moment de l’envoi chez PayPal. Mais ceci m’échappe techniquement.

    Pour le moment, j’ai introduit un contrôle javascript qui remplace la virgule par le point même si celle-ci est introduite après que les chiffres aient été frappés dans formulaires/payer.html

    <script language="javascript" type="text/javascript">
    function virgule(texte) {
        if (texte.indexOf(",") > -1) {        document.getElementById('amount').value=texte.substr(0,texte.indexOf(","))+ "." +texte.substr(texte.indexOf(",")+1)  ;
        }
    }
    </script>
    	<input 	type="text" name="amount" value="#ENV{prix_unitaire_ttc}" size="5" 
    			style="text-align: right"
    			id="amount" onKeyUp="virgule(this.value);"  /> 

    Rien n’interdit de rentrer une deuxième virgule ou une troisième décimale (un montant à 3 décimales est refusé par PayPal), tout est possible, car comme on travaille avec une chaîne de caractères et pas avec un nombre, le contrôle de tous les cas possibles est assez difficile.

    En attendant meilleures solutions,
    Cordialement.

    Répondre à ce message

  • Bonjour,

    Un petit « détail ».
    Depuis l’espace privé, lorsque le prix d’un article a été fixé, le formulaire est replié. Il faut cliquer sur « détails » pour déplier le formulaire. Je ne sais pas pourquoi ça ne marche pas. Par contre, on obtient le dépliage en passant par un changement de mode « vendre » -> « donner » ou inversement.
    Dans inc/spipal-article.php, en passant par un OnClick, ça fonctionne.

    switch ( $row['don'] ) {
        case 1:
            $selected_2 = " selected='selected' ";
            $pour       = '<a href="" OnClick="javascript:$(\'#truc\').show();return false;">d&#233;tails</a>';
            break;
        default:
            $selected_1 = " selected='selected' ";
            $pour       = '<a href="" OnClick="javascript:$(\'#truc\').show();return false;">'.$prix.'</a> '._T('spipal:euros');
    }

    Ces 2 formes en appelant le javascript par le Href ou par le OnClick sont, dit-on, équivalentes.
    Cordialement.

    Répondre à ce message

  • 9
    Jean-Noël

    Bonjour,

    Je passe peut-être à côté de quelque chose, mais sur la page de configuration du plugin j’obtiens ce qui suit :

    configuration SPIPAL
    Nom du plugin manquant

    Merci

    • Ce message intervient lorsque le script n’a pas réussi à lire le fichier plugin.xml ou son cache. Vérifier les droits en lecture sur le répertoire du plugin et son contenu, et vider le cache.

    • Jean-Noël

      Bon ça marche par intermittence, je dois vider souvent le cache.

      merci

    • Bonjour,

      J’ai la même erreur :

      configuration SPIPAL
      Nom du plugin manquant

      Spip n’est pas à la racine du domaine, sinon j’ai mis 777 sur le rep spipal, les bons utilisateur/groupe...

      vider le cache et tmp/

      bonne journée.
      Nicolas

    • Que SPIP ne soit pas à la racine du domaine n’est pas un problème, en revanche le répertoire « spipal » doit être dans le répertoire « plugins » qui lui-même doit être à la racine. C’est une limitation que je vais essayer de contourner, mais pour l’instant c’est ainsi.

    • Bon finalement, c’est réparé en 45046.

    • Merci, je vais tester ça.

    • Bonsoir,

      Tous marche bien maintenant, juste le formulaire #FORMULAIRE_PAYER qui retourné seulement « Rien à Payer » car $row était vide du fait que id_article n’était pas récupérer, je ne sais pas pourquoi, j’ai bien le bouton qui apparaît si je met id_article=1 directement dans la fonction :

      function formulaires_payer_charger($id_article=1, $validation=’valider’)

      // compatibilite partielle avec l’ancienne version
      if (!$id_article) $id_article = _request(’id_article’) ;

      C’est cette dernière ligne qui récupère rien dans $id_article...

      Bonne soirée.
      Nicolas

    • Avez-vous bien écrit
      #FORMULAIRE_PAYER{#ID_ARTICLE}
      et à l’intérieur d’une boucle ARTICLES ou équivalent ?

    • En fait j’ai lu l’article en diagonale et donc de travers... j’avais rempli le champs rubrique et donc effectivement il faut utiliser #ID_ARTICLE à l’appel du formulaire car je voulais que tous les articles de la rubrique 1 soit concerné, mais en laissant vide ce champs de configuration (rubrique), ça le fait bien aussi.

      Merci.
      Bonne journée.
      Nicolas.

    Répondre à ce message

  • 2

    Bonjour,

    Je suis grand débutant avec SPIP et j’ai parfois un peu de mal à comprendre le fonctionnement.
    Je viens de télécharger le plugin Spipal et j’aimerai savoir comment le faire fonctionner, car on me dit qu’il faut mettre la balise #FORMULAIRE_PAYER dans le squelette.
    Oui mais ou ? Ma question doit être très stupide, mais en fait j’utilise le plugin Escal 2.2 pour gérer mes articles et la balise bien entendu ne marche pas, si je la tape dans la boite de création d’article.
    Pouvez vous m’aider en pensant que je suis très béotien.
    Je vous remercie d’avance de votre gentillesse.
    Notre site : http://www.magie-ffap.com

    Amicalement
    Peter Din

    • Dans un des squelettes ESCAL qui contient une BOUCLE « articles » listant les articles dévricant quelque chose qu’il faut payer.

    • Bonjour, je vous remercie de votre aide.

      Malheureusement, je suis trop débutant et je ne comprends pas ce qu’il faut faire, malgré votre aide.

      Je voulais réaliser un petit bloc sur la droite de notre site http://www.magie-ffap.com pour proposer à nos membres de soutenir par leurs dons volontaires notre équipe de france de magie FFAP.

      Mais je n’ai pas les bases de fonctionnement et de syntaxe et la documentation ne m’aide pas.

      Je vous remercie et je vous prie d’excuser mon incompétence.

      Peter DIn
      Président de la FFAP

    Répondre à ce message

  • 8

    Bonjour,
    Je viens d’installer le plugin et j’ai cette erreur ;
    spipal1.png

    • Elle est provoquée par l’ancienne syntaxe. J’ai corrigé dans
      43783
      mais je répète qu’il faut l’éviter car le nouveau code ne peut entièrement garantir que la valeur par défaut est #ID_ARTICLE.
      Il faut donc écrire explicitement :
      #FORMULAIRE_PAYER{#ID_ARTICLE}
      (ou autre chose que #ID_ARTICLE si on veut, c’est justement l’intérêt).

    • c’est quoi ce logo facho ?

    • C’est quoi ce message ce idiot ?

    • estger : merci pour ta contribution très utile, claire, pertinente et polie.

    • Bonjour,
      Je pense que estger s’inquiète de l’avatar Déesse A qui est un svastika ...

    • a !

      1) le logo est généré aléatoirement
      2) contrairement à la croix gammée il est bleu et pas noir sur blanc sur rouge
      3) le sens est contraire à celui de la croix gammée
      4) et puis faut vraiment avoir de l’imagination pour voir une croix gammée dedans.
      5) la svatiska a d’autre signification et usage que nazi http://fr.wikipedia.org/wiki/Svastika
      6) pour connaître ESJ, je ne pense pas qu’il soit nazi ou ayant de quelchonq accuitance avec le Nazisme.

    • Je suis d’accord :)
      C’est comme un test de Rorschach.
      Tiens-moi j’ai eu droit à une bouse !

    • en fait le logo ,’est pas généré aléatoirement : il est généré à partir de l’adresse email.

      Mais bon, les algorithmes sont tellement complexes qu’on peut considerer cela comme de l’aléatoire.

    Répondre à ce message

  • 3

    Les articles sont sélectivement étendus via la page de modification des articles. Un article peut être étendu en lui ajoutant un bouton don ou un bouton paiement.

    Comment ?

    merci

    • Automatiquement dès que le plugin est installé. Ne voyez-vous pas un formulaire supplémentaire quand vous modifiez un article ?

    • non, il n’y a pas de formulaire supplémentaire...

    • Dans la page de configuration, le champ rubrique doit être soit vide (et ainsi tous les articles seront concernés), soit comporter une suite de numéros de rubriques (et ainsi seuls les articles de ces rubriques seront concernés. Si rien n’apparait pour aucun des articles, c’est que ce champ n’est pas vide mais ne contient pas des numéros de rubrique correspondant aux essais effectués. Attention en particulier à ce que champ ne contienne pas un ou plusieurs espaces et rien d’autre.

    Répondre à ce message

  • 1

    Bonjour,

    Pour un usage utilisant le bouton PayPal inséré dans un article avec des comptes fictifs acheteur/vendeur de la Sandbox et avec la SVN 43623, j’obtiens un fonctionnement satisfaisant si j’effectue ces modifs :

    -  balise/payer.html : remplacer ’url_retour’ par ’notify_url’ (ligne 32)
    -  action/spipal_valider_paiement.php : remplacer ’notify_url’ par ’url_paypal’ (ligne 20) et ajouter $url = « www.sandbox.paypal.com » ; avant la ligne $fp = fsockopen ($url, ...

    Avec la configuration actuelle des comptes, je n’obtiens le COMPLETED qu’après être allé dans le compte fictif vendeur et depuis l’historique : afficher le détail de la transaction affichée « En cours de vérification » et cliquer sur Acceptez :

    Environnement de test :
    Vérification de paiement ........................ Acceptez ......... Rejeter

    Ensuite tout se déroule normalement côté SPIPAL.

    Bonne continuation.

    • Merci d’avoir testé. J’ai corrigé les 2 lignes mentionnées, mais pas l’ajout « $url = sandbox... » qui n’est là que pour test évidemment. CF 43660.

    Répondre à ce message

  • 5

    Bonjour,

    Premiers essais du plugin vers la Sandbox de Paypal : les dons sont reçus. Youpi, ça marche ! Le plus compliqué c’est la Sandbox ... Faut faire ce qu’ils veulent pas ce qu’on veut.

    Mais pas de retour d’IPN (Instant Payement Notification).
    1. c’est normal rien ne sort du bac à sable, les transactions fictives ne génèrent pas d’IPN.
    2. mais il y a un générateur d’IPN dans la Sandbox pour tester la fonction ...

    L’URL qui « écoute » la notification de retour de Paypal n’est pas correctement pointée dans spipal_gestion.php :

    'notify_url'          => 'www.paypal.com',  //prod
    //'notify_url'          => 'www.sandbox.paypal.com',  //test

    Elle devrait être de la forme : www.monsite.fr/quelque_chose

    Est-ce que cette fonction a été réellement développée ?
    Merci.

    • Excusez moi, la question est idiote. Mais je cafouille pas mal ...

    • Je rappelle d’abord que ce plugin est à l’état « dev » et qu’il est une actualisation à SPIP 2.1 d’un plugin pour SPIP 1.9.2 dont l’auteur signalait avoir réduit ses ambitions. Je mets au point au fur et à mesure les fonctionnalités qu’on est en droit d’en attendre, en les découvrant moi-même et sans savoir si elles ont vraiment fonctionné à un moment.

      Pour le test avec le simulateur d’IPN, j’obtiens ce qu’il faut quand je mets dans le champ « custom » le tableau sérialisé attendu par « valider_paiement ». Mais je n’ai pas encore fait de tests en vraie grandeur.

      Enfin, pour la confusion notify/retour, c’est corrigé par 43614, ainsi que d’autres choses. Attention à la nouvelle spécification.

    • Bonjour,
      Il se trouve que j’avais trouvé GOPayPal dans le but de permettre à notre association de recevoir des petits dons à travers notre site qui est assez fréquenté car reposant sur du rédactionnel. J’avais surmonté les codes obsolètes de SPIP 1.9 et j’en étais à la Sandbox de Paypal quand au détour d’une recherche j’ai vu SPIPAL. Mais je n’imaginais pas que vous aviez entrepris pareille révision en profondeur.

      Oubli de ma part, il reste un « url_retour » à remplacer par un « notify_url » dans formulaires/payer.html

              <input type="hidden" name="return" value="#META{/spipal/url_retour}" />
              <input type="hidden" name="notify_url" value="#META{/spipal/notify_url}" />

      Côté, IPN avec la Sandbox, « Retour paypal invalide b:0 ; » persistant
      Cordialement

    • Bonjour,
      D’après PayPal, le retour invalide peut avoir 2 causes. Quand on renvoie le message reçu de Paypal, il faut que la bonne URL pointe vers PayPal et que le contenu soit identique (codage compris).

      J’ai pas mal remué de sable avant de m’apercevoir que dans spipal_valider_paiement.php, l’url utilisée est « notify_url » (par ex : http://monsite/...), au lieu de « url_paypal » qui est soit www.paypal.com, soit www.sandbox.paypal.com.

      function action_spipal_valider_paiement()
      {
      	#spip_log("\r\n-------------------------------------\r\n", 'paypal');
      	#spip_log(print_r($_REQUEST, true)."\r\n", 'paypal');
      	$res = spipal_validation_arg($_POST, $GLOBALS['spipal_metas']['notify_url']);
      	#spip_log(print_r($res, true), 'paypal');
      	if (!is_string($res)) $res = var_dump($res, true);
      }

      Pour le moment, fsockopen renvoie une erreur ...

    • Petit complément,
      Dans la config de SPIPAL, il faut introduire l’URL complète type :

      www.sandbox.paypal.com/fr/cgi-bin/webscr

      , sinon on a une erreur 405.
      Dans spipal_valider_paiement.php,l’ « url_paypal » reprend cette forme. En forçant la valeur à www.sandbox.paypal.com, bonne nouvelle, PayPal répond et envoie le VERIFIED avec le cookie.
      Il reste des problèmes mais ça paraît en bonne voie.

    Répondre à ce message

  • haqqtiviste

    dur dur l’explication. si vous pouvez être plus clair, svp.

    Répondre à ce message

  • 7

    Bonjour,

    J’ai un SPIP 2.1.6 [16885] mais j’ai récupéré create.php @ 16916 qui évite le Fatal error signalé plus haut :

    Call to undefined function : alterer_base() in /.../spipal/base/spipal_gestion.php on line 21

    En allant sur la page « éditer les versements », à quoi sert cette ligne ?

    Fatal error : Call to undefined function association_icone() in /.../spipal/exec/spipal.php on line 30

    Merci.

    • Oups. Corrigé ici. C’est juste un lien vers la configuration du plugin, pour éviter de repasser par la page d’admin des plugins.

    • Bonsoir,
      J’ai un autre problème avec la configuration.
      En effet : exec=configurer_spipal, m’ouvre bien le formulaire mais les champs de celui-ci sont vides. Dans la table spip_spipal_metas, les champs sont bien remplis avec les valeurs par défaut de spip_spipal_metas.
      En mettant à jour la configuration, idem : les nouvelles valeurs ne sont pas passées à la table.
      Je ne vois pas ce qui se passe (mais je ne suis qu’un amateur)
      Merci

    • Ah, même problème : c’est un fichier du plugin Association qui manque. C’est corrigé ici.

    • Excellent, merci beaucoup.
      En effet je n’utilise pas le plugin Association !
      Je continue la découverte après avoir passé ces derniers jours à bricoler GoPayPal avant de découvrir votre travail bien utile.

    • Bonjour,
      Je reviens sur un détail.
      Après avoir inséré le nouveau fichier : formulaires/configurer_metas.php , dont il est question ci-dessus, le clic sur le bouton du formulaire « configuration SPIPAL » ouvre la page « Editer les versements » et non le rafraichissement de « configuration SPIPAL ».
      Merci

    • Je ne constate pas ce problème.

    • Bonjour,

      Retour sur ce passage de « Configuration de SPIPAL » à « Editer les versements » par appui sur le bouton OK de la première. Votre réponse suggère que je devrais constater autre chose. Je réagis par comparaison au fonctionnement avec GOPayPal, mais celui-ci utilisait Cfg (je parle côté webmestre).

      En cliquant sur « details » je constate que le formulaire se déplie mais aussitôt la page devient blanche avec la mention : [object Object] sous le code : javascript :$(’#truc’).show()

      Une idée ?

      merci.

    Répondre à ce message

  • 4

    Tiens, voilà un plugin qui tombe à pic pour un de mes projets...
    Alors, vite, je tente une installation sur un site en mutualisation (ferme à SPIP - serveur local ubuntu 10-04)...
    Et je tombe sur un os :
    1> Les tables ne sont pas créées...
    2> ecrire/ ?exec=admin_plugin ou exec=admin_plugin conduisent à une page trop vide pour être honnête

    Un ch’tit malaise quelque part ????

    • La version de SPIP est-elle bien une 2.1 SVN16914 au minimum ?

    • Ah non.... version 216 Revision16885
      Pourtant, je viens de mettre à jour mon noyau SPIP en téléchargeant depuis spip.net la dernière version stable disponible !

    • Si tu as des problèmes de mise à jour automatique, il suffit de charger la dernière version de fichier ecrire/base/create.php.

    • Effectivement... c’est OK maintenant avec la nouvelle version de create.php
      Merci !

    Répondre à ce message

  • 1
    haqqtiviste

    dans l’admin des plugins, après l’install :

    Fatal error: Call to undefined function: alterer_base() in /homez.312/mosqueeo/www/plugins/auto/spipal/base/spipal_gestion.php on line 21

    en spip dernière version et Zpip

    Répondre à ce message

  • 6

    Cette version de #CONFIG n’est pas disponible sur SPIP 2.1, et je veux éviter CFG qui est en fin de vie, et Bonux dont la masse est inutilement coûteuse.

    • Mais dans ce cas, pourquoi développer une syntaxe différente et incompatible :

      • avec les pratiques existantes
      • avec ce qui est déjà dans le trunk (2.3 actuellement)

      J’ai du mal à comprendre où tu vas là... Ou dit autrement, ça donne l’impression que 2 directions sont prises par SPIP, dont l’aboutissement serait un « fork ».

    • Un fork c’est quand il y a incompatibilité, ce n’est pas le cas. Quant au fait qu’il y a entre les 200 plugins de la zone pléthore de couples de balises qui font pratiquement la même chose, c’est le cas depuis des années.

    • J’oubliais : Bonux est un plugin à disparaître au fur et à mesure que ce qu’il permet sera intégré nativement à SPIP. Ce qui est en train de se passer en branche 2.3 avec :

      • les itérateurs qui inclue « si » et « POUR »
      • la compatibilité avec CFG
      • et sans doute pleins d’autre choses

      Créer une nouvelle syntaxe (#META alors que #CONFIG existe déjà) me semble contre productif pour la communauté.

    • Il n’y a effectivement pas incompatibilité de code puisque les codes peuvent cohabiter, mais il y a divergence de de syntaxe, donc, au moins complication pour l’acquisition de compétence et la formation.

      Donc la question, c’est peut-être : en quoi la syntaxe actuelle avec #CONFIG est moins bonne/pédagogique/cohérente que celle avec #META ?

    • Ce forum est destiné au plugin SPIPAL cette discussion n’y a pas sa place, je ne la poursuivrais pas. Et elle l’a d’autant moins que si 2 balises totalisant 2k octets qui ne sont pas le but du plugin lui-même constituent un Fork, il n’y a pas de mot pour caractériser les 500Ko de Bonux et ses buts.

    • Effectivement, elle n’y a pas sa place. Mais comme tu n’intervenais pas là où elle avait commencée je me suis contenté de mentionner ici l’existence de cette discussion où je nous invite à continuer.

    Répondre à ce message

  • Pourquoi avoir inventé une balise #META alors que SPIP dispose d’un balise #CONFIG dédiée à cela ?

    Voir la discussion sur la liste de la Zone.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom