Présentation
Transaction introduit 3 nouveaux types de champs, qui modifieront le comportement d’un formulaire lorsque ceux-ci lui sont ajoutés.
Un champ “montant fixe” pour définir un prix
Ce champ offre la possibilité de définir un montant qui sera associé au formulaire. C’est le montant qui sera réglé par le visiteur après avoir validé le formulaire. Ce mode est le mode classique pouvant être utilisé pour l’achat d’un produit.Deux champ “saisie montant” et “sélection montant” : c’est l’internaute qui choisit le montant à payer
Ces deux champs offrent au visiteur la possibilité de saisir un montant libre ou de sélectionner un montant parmi une liste de montant proposés. Ce mode de fonctionnement est utilisable par exemple dans le cas d’un formulaire de don.
L’interface de paramétrage des traitements associés au formulaire est complétée de nouveaux traitements dédiés au paiement en ligne : un traitement par module de paiement bancaire.
Modules de paiement livrés avec les plugin
CMCIC | Crédit Mutuel, CIC, Banque OBC,.. |
---|---|
PAYPAL | Paypal |
CHEQUE | Paiement par chèque |
VIREMENT | Paiement par virement |
ATOS | Société Générale, BNP Paribas (Mercanet) |
PAYBOX | Crédit coopératif, La poste,... |
Ce sont des adaptations des modules de paiement Thélia.
Installation
Le plugin transaction s’installe comme tout plugin SPIP et requiert l’installation préalable du plugin Formidable.
Appel du formulaire
Il est possible d’appeler le formulaire formidable en l’appelant par son id
- dans un article
<formulaire|formidable|id=34> ou bien <formulaire|formidable|id=contact>
- depuis un squelette :
#FORMULAIRE_FORMIDABLE{34}
ou bien#FORMULAIRE_FORMIDABLE{contact}
; il est alors possible de passer en paramètre la valeur de certains champs par exemple celui du montant fixe#FORMULAIRE_FORMIDABLE{contact, #ARRAY{montant_fixe_1, Ma valeur}}
ou d’utiliser le modèle transaction pour appeler le formulaire en passant en paramètre la valeur du champ.
- dans un article
<transaction|id=contact|montant_fixe_1=Ma valeur>
Message de retour du formulaire
Attention : il ne faut pas utiliser le « message de retour » de formidable dans la configuration du formulaire sinon celui-ci prends le devant et aucun mode de paiement ne s’affiche à la validation du formulaire.
Paramétrage
Documentation extraite des modules Thélia et adaptée pour Transaction
- Paramétrage CMCIC
- Editez le fichier
paiement/cmcic/config.php
et configurez les variables avec les données que vous a fournit votre banque. - La banque vous fournira toutes les valeurs (exceptées les url de retour)
- Pour utiliser la réponse automatique, vous devrez fournir l’url à appeler à votre banque. Renommez
paiement/cmcic/paiement_cmcic_confirmation.php
avec un nom personnalisé (ex : confirmdupond2011.php) - Dans l’onglet “configurer les traitements” associé au formulaire, indiquez quelle API bancaire doit être appelée parmi CIC, Crédit Mutuel ou Banque OBC, et activez le mode test ou le mode production.
- Editez le fichier
- Paramétrage Paypal
- Dans l’onglet “configurer les traitements” associé au formulaire, indiquez simplement l’adresse email du compte à créditer.
L’Environnement de test PayPal permet de tester la plupart des aspects du système PayPal incluant la notification instantanée de paiement. Pour effectuer un test sur l’Environnement de test :
- 1. Créez un compte développeur dans l’Espace Intégration http://developer.paypal.com
- 2. Créez un compte Personnel dans l’Environnement de test et ajoutez une carte bancaire.
- 3. Créez un compte Business dans l’Environnement de test puis ajoutez et confirmez un compte bancaire.
- 4. Dans votre bouton PayPal et le script de gestion NPI, utilisez l’URL https://www.sandbox.paypal.com/cgi-bin/webscr là où vous utiliseriez normalement https://www.paypal.com/cgi-bin/webscr.
- 5. Procédez à un paiement en utilisant l’email et le mot de passe du compte Personnel pour la connexion.
- Paramétrage Paybox
- Renommez
paiement/paybox/paiement_paybox_confirmation.php
avec un nom personnalisé (ex : confirmdupond2011.php) - Editez le fichier
paiement/paybox/paiement.php
et remplacez les valeurs par les valeurs fournies par paybox.
- Renommez
- Paramétrage ATOS
- Copiez les binaires fournis par ATOS dans le répertoire
paiement/atos/bin/
il s’agit de request et response - Renommez
paiement/atos/paiement_atos_confirmation.php
avec un nom personnalisé (ex : confirmdupond2011.php) - Copiez le contenu du certificat fourni par votre banque dans
paiement/atos/conf/certif.fr.xxxxxxxxxxxxxxx
- Editez le fichier
paiement/atos/conf/parcom.xxxxxxxxxxxxxxx
et indiquez les bonnes url (n’oubliez pas de remplacerpaiement_atos_confirmation.php
par votre nom personnalisé) - Renommez les fichier
paiement/atos/conf/certif.fr.xxxxxxxxxxxxxxx
etpaiement/atos/conf/parcom.xxxxxxxxxxxxxxx
remplacez tout simplement les xxxxxxxxxxxxxxx par votre n° de marchand - Editez le fichier
paiement/atos/paiement.php
et inscrivez votre n° de marchand.
- Copiez les binaires fournis par ATOS dans le répertoire
Sécurité des données bancaires et validation des paiements
Tous les paiements bancaires s’effectuent sur le site des banques, aucune donnée bancaire (numéro de carte, code de vérification, ...) n’est traitée dans l’environnement SPIP.
Comme dans tout module de vente en ligne, il convient de toujours vérifier qu’un paiement a été effectivement réalisé dans l’espace d’administration de vos paiements reçus, fourni par votre banque.
Exemple - démo
Voici un formulaire en phase de mise en place, que vous pouvez tester. Le portail CMN utilisé ici ne traitant que le montant, le formulaire se charge de recueillir les coordonnées complètes du donateur. Dans le cas d’un paiement par Paypal, cela serait inutile puisque Paypal se charge déjà de les recueillir (autre exemple à venir).
Discussions par date d’activité
47 discussions
Bonjour,
est-il possible de passer plusieurs paramètres d’un menu déroulant au moment de l’appel du formulaire ?
J’ai deux options de prix pour un champ « Sélection montant ». Deux clés constantes et des valeurs variables :
membreOui|gratuit
membreNon|10 €
J’aimerais utiliser un formulaire standard et demander au rédacteur d’indiquer les prix toujours changeants depuis ses articles :
<transaction|id=formEvent|montant_selection_1=Mes valeurs...>
C’est plus facile que de lui faire dupliquer et modifier les formulaires.
Malheureusement je ne trouve pas la syntaxe à utiliser.
Merci de vos conseils pour ce plugin vraiment sympa. Bonne année à tous.
Répondre à ce message
Bonjour à tous,
J’aimerais savoir comment faire pour avoir un numero de carte test pour tester un module de paiement PNB Paribas sous prestashop ! Merci de votre aide...
Répondre à ce message
Bonjour à tous ! J’aimerai savoir si c’est possible, comment faire pour avoir un compte teste PNB Paribas pour tester le module ATOS/SIPS sous prestashop ! merci de votre aide :)
Répondre à ce message
Bonjour,
après avoir suivi toutes les consignes, j’ai cette erreure :
« Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. »
je suis chez ovh
quelqu’un a t-il une idée ??
merci
béa
Bonjour
J’ai le même probleme : Internal Server Error
avez-vous trouvé une solution
Merci bcp
Bonjour
J’ai le même probleme : Internal Server Error
Avez-vous trouvé une solution
Note : je suis chez ovh...
Réponse :
Dans mon cas et pour exécuter paiement.php il s’agissait détendre les droits d’accès par ftp...
Bonjour,
Pouvez-vous préciser quels droits d’accès vous avez modifiés ? Les miens sur paiement.php sont déjà à 777 ... Sur quel fichier ou quel dossier avez-vous modifié les droits ? (car j’ai également une erreur interne, et je suis également chez OVH)
Merci !
Salut,
On supprime paiement.php de la dist du plugin SPIP, on copie le code, on recréé un fichier du même nom, on passe le code php dedans. On test : ok
On fait la même chose pour l’IPN PAYPAL avec paiement_paypal_confirmation.php ou autres fichiers...
C’est la solution que j’ai trouvé, apparemment le problème est lié aux fichiers source du plugin, un vrai mystère... Je suis sur Mac et me demande si il n’y aurait pas un lien...
J’avais modifié les droits sur ovh pendant la phase de dev, ce qui avait débloqué la situation et je l’ai retrouvé en prod sur un autre site et dans ce cas même avec un 777 rien à faire ???... La solution indiquée fonctionne de mon coté sur ovh...
Bon courage pour la suite !
Merci pour la réponse, c’est sympa. Sur un forum Prestashop, quelqu’un avait le même problème. Selon lui, la solution consiste à mettre les droits à 705 http://www.prestashop.com/forums/topic/145411-resolu-problemes-internal-server-error-avec-paypal-et-moneybooker/
Le fait est que j’ai mis 705 sur tout le dossier « paiement » (pas uniquement sur le fichier paiement.php) et que ça a l’air de fonctionner (je suis bien redirigé sur mon compte paypal)
Mystère, mystère... A suivre
Bon après midi !
Eric LM
Bonjour.
Moi aussi j’avais une erreur 500 avec spip 3.05 et précédents (3.0.X) pour un règlement paypal.
Mettre les droits en 705 ou autre n’a pas résolu mon problème
Refaire les fichiers non plus. Réinstaller le plugin non plus.
Ce qui a marché c’est de placer le plugin directement dans le dossier plugin et non le dossier auto (qui a des droits 755)
Si ca peut aider
Répondre à ce message
Le plugin comporte tellement de trou de sécurité, il est facile de modifier le montant total (champ hidden), et encore plus si on desactive le javascript qui valide un second possédant aussi le montant... Difficile d’appeler ce plugin... un plugin de transaction. Au mieux, c’est un plugin de don.
A bon entendeur....
Salut,
Cette critique est légitime, cela dit la manipulation/injection d’un formulaire quel qu’il soit ne concerne pas uniquement ce plugin... Une solution consiste à valider un paiement uniquement si la somme perçue correspond bien à la somme demandée sur la base d’une script dédié à cet usage... A ce sujet ce petit tuto peur mettre sur la voie...
http://www.grafikart.fr/tutoriels/php/paiement-paypal-181
Répondre à ce message
Bonjour,
comment adapter ce plugin pour spplus ?
Répondre à ce message
bonjour ,
je suis entrain de tester le plugin avec le mode « PAYPAL » sur le serveur de test (sandbox)
j’ai bien cree des comptes de test sur sandbox paypal.
je commence à faire des tests tout marche bien , j’ai des traces sur Paypal que la transaction est réussite (imprimer facture .... mail reçu ...) mais dans ma BD table : spip_formulaires_transactions le champs « Statut_transaction » toujours == 0
par contre dans paiement_paypal_confirmation .php j’ai bien ça !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if(strstr($reponse, « VERIFIED »))
$reference = $_POST[’invoice’] ;
sql_updateq(’spip_formulaires_transactions’, array(’statut_transaction’ => 1), ’ref_transaction=’ . sql_quote($reference)) ;
Bonjour, Est-ce que quelqu’un a déjà essayé ce plugin avec PAYPAL !!?? !!
Bonjour, j’essaie de configurer un formulaire de paiement avec Paypal, j’ai configuré un compte acheteur et un compte vendeur via le serveur de test (sandbox) puis fourni l’adresse mail du compte vendeur dans transaction/paiement/paypal/paiement.php en suivant la documentation du plugin transaction. Au stade actuel, l’exécution de paiement.php dirige correctement sur https://www.sandbox.paypal.com/cgi-bin/webscr mais indique le message d’erreur suivant : « Certaines des informations requises sont manquantes ou incomplètes. Veuillez corriger les informations saisies, puis réessayer. » comme indiqué sur la capture d’écran. Je ne parviens pas à comprendre ou se situe le problème, étant donné le caractère succin du message délivré par paypal ? J’aimerais entrer en contact avec une personne qui aurait réussi à configurer le plugin correctement avec paypal.
Merci d’avance pour votre aide précieuse !
Si cela peut aider, dans un post de Ralph Davidovits intitulé Paypal IPN : script PHP de notification de paiement par e-mail, l’auteur indique que lors d’une vraie transaction Paypal réussie, le statut indiquera « valide », étant donné qu’un test effectué avec le sandbox de paypal correspond à une simulation... à vérifier...
oui ça vient du mode test de paypal qui n’envoie pas la réponse « VERIFIED » après le paiement.
Répondre à ce message
Bonjour,
Je me demandais s’il était possible que le mail de confirmation de formidable parte APRES la confirmation du paiement par un utilisateur ?
En effet, actuellement, le mail de confirmation est envoyé après le remplissage du formulaire même si le paiement est refusé (et donc la demande aussi du coup).
J’ai vu la méthode traiter_email_dist, comment pourrais-je l’appeler à partir du plugin transaction (quels paramètres) ? (à savoir qu’on utilise qu’un seul moyen de paiement)
Merci d’avance
Répondre à ce message
Bonjour ! Est-ce que vous pouvez me dire comment je peux avoir deux formulaires (sur deux pages) avec deux différents comptes bancaires ? Faut-il avoir deux fichiers config ou deux dossiers avec les paramètres spécifiques ?
Merci en avance !
Bonjour,
je pense effectivement qu’il faut faire 2 fichiers config différents pour déclarer chacun des TPE virtuel et en fonction du formulaire qui appelle l’API, charger un ou l’autre des fichier config.
Par contre je ne comprends pas trop le but, 2 TPE sur le même site ?
La façon d’appeler l’API de chaque banque est différent, il faudra étudier les fichiers pour faire l’appel du fichier de config au bon endroit.
Tout d’abord merci pour la réponse et excusez-moi de répondre tardivement, mais mieux comprendre le plugin (+atos) m’a pris plus de temps que prévu.
Le premier TPE sert pour envoyer les dons, le deuxième (le nouveau) pour acheter des différents produits. C’est la raison des deux comptes.
Dans le deuxième cas de figure il faut tenir compte du frais d’expédition (qui se varie en plus en fonction du pays) en conséquance cette deuxième formule sera plus complèxe que la première et le le fichier (traiter/)paiement_atos.php doit être aussi adapté.
Est-ce que je vois bien que la fonction concernée (traiter_paiement_atos_dist) compte le total soit à partir d’un montant fixe, soit à partir d’un montant sélectionné ? Dans notre cas (coûts fixes et variables) il seraitent utile d’avoir à la fois les deux.
Merci encore une fois.
Répondre à ce message
Bonjour, Est-ce que quelqu’un a déjà essayé ce plugin avec SPIP 3 ? (Et alors ...?)
Bonjour,
mes premiers test avec la release candidate semblent fonctionner correctement :)
En effet, pour moi cela fonctionne aussi.
Pourtant, on ne peut pas l’activer telle quelle avec la version stable de SPIP 3. Cela affiche « version incompatible ». Mais en changeant la ligne :
<necessite id="SPIP" version="[2.0.0;3.0.99]" />
on arrive à l’activer...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 :
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.
Suivre les commentaires : |