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,
Y a-t-il possibilité d’ajouter des frais de ports en l’état ?
Non. Le plugin ne traite qu’un seul montant défini à la fois, qu’il peut multiplier. Il n’est pas prévu pour aditionner des montants multiples, à moins d’intervenir sur les fichiers php.
Merci pour la réponse cher ami
Répondre à ce message
Spip 2.1.8, Formidable 0.5.7 + Transaction 0.3
Je suis en phase de construire des formulaires simples (un pour faire des dons, l’autre pour devenir membre). Tout fonctionne bien, sauf au moment de cliquer sur « Voir les réponses » depuis l’interface d’administration. Pour chaque réponse, un message d’erreur comme ceci :
Message = Erreur SQL 1054 Unknown column ’*****_formulaires_transactions.ref_transaction’ in ’field list’
SELECT spip_formulaires_transactions.ref_transaction, spip_formulaires_transactions.statut_transaction FROM spip_formulaires_transactions AS
spip_formulaires_transactions
WHERE (spip_formulaires_transactions.id_formulaires_reponse = 1)Squelette = ../plugins/auto/transaction/prive/liste/formulaires_reponses.html
Boucle = _transactions
Ligne = 45
Note : J’ai censuré le nom exacte de la bd MySQL avec des étoiles.
Alors le problème est que dans le fichier « transaction/prive/liste/formulaires_reponses.html » il y a deux références au tableau « spip_formulaires_transaction », qui n’existe pas dans mon installation car j’ai changé le préfixe spip_ pour autre chose.
Répondre à ce message
Ce plugin, comme Formidable s’installe sans problème. Et tout va bien, sauf ... que je ne comprends pas comment appeler le paiement ATOS par le formulaire. Je coche bien « Traitement du paiement Atos », et j’ai suivi les consignes « Paramétrage ATOS » ci-dessus, mais la validation du formulaire ne m’envoie pas à une page de la banque.
Idées où je dois chercher ? merci, Paolo
Je pense deviner le problème : Pour le bon fonctionnement de Transaction, il faut s’assurer que sous « Configurer le formulaire », le champ « Afficher ensuite (Apres validation, afficher à la place du formulaire :) » soit réglé à Rien du tout.
Je pense qu’il faut aussi laisser vide le champ « Message de retour », mais ça n’a peut-être pas d’importance.
C’était déjà le cas.
Oui ! Merci — ça fait toute la différence.
Maintenant j’ai l’erreur : « executable request non trouve bin/request » ... mais c’est déjà un pas plus loin.
Répondre à ce message
Je dois mettre en place un module de réservation de véhicules de luxe, avec ou sans chauffeur, pour l’un de mes clients. Recherches infructueuses jusqu’à maintenant ou très compliquées avec SPIP. Mais avec votre solution Transaction couplée à Formidable, on y est, non ?
Le processus serait le suivant : le visiteur remplit un formulaire pour choisir son véhicule, l’option avec ou sans chauffeur, le nb de personnes à embarquer, les dates (départ ; arrivée), le lieu de récup de la voiture... Jusque là, Formidable me permet tout cela, n’est-ce pas ? Y compris la sélection des dates avec un mini-calendrier ?
Le client souhaite qu’un acompte soit versé au moment de la résa : Transaction le fait. Ok.
Mais... il me manque un bout, à savoir l’interrogation de la disponibilité dudit véhicule pour que l’étape Acompte puisse se faire.
Et là, on serait pile poil sur un outil qui permettra la location de n’importe quoi. Mais est-ce que votre solution peut interroger un calendrier de disponibilité ? Mille fois merci.
Répondre à ce message
Merci pour ta réponse rapide,
J’utilise la version démonstration pour Linux (http://www.sogenactif.com/index.php?id=46)
“assures toi que les fichiers on bien été transférés en tant que fichiers binaires.”
J’ai tout simplement ajouté l’extention .bin aux fichiers c’est bien ça ?
NON NON ! c’est un paramètre de ton logiciel FTP !
Il ne faut pas modifier le nom des fichiers mais s’assurer que l’upload se fait bien en tant que fichier binaire dans ton logiciel FTP
J’ai bien fait pourtant dans filezilla « Transfert > Type de transfère > Binaire », il n’y a aucune extension après le transfert, ça reste « request » et toujours la même erreur.
Je suis sur que ce n’est pas grand chose ... comme toujours dans l’informatique.
Mets ton safe_mode à off si ce n’est pas déjà le cas
Mode de sécurité (safe mode) : Désactivé
Je ne vois pas où peut être le problème (et je pollue les commentaires).
Quel sont les droits de ces fichiers binaires (et du dossier les contenant) ?
755, j’ai même essayé 777 ...
Répondre à ce message
Bonjour,
Je pense avoir suivi toute les étape du tuto très bien détaillé d’ailleur.
J’ai l’erreur : « executable request non trouve bin/request » pour ATOS je ne comprend pas.
Aussi, il faut bien mettre uniquement (dans mon cas) :
<transaction|id={{don}}|montant_fixe_1={{?quemettreici}}>
Bonjour,
As-tu bien copié les binaires fournis par ATOS dans le répertoire paiement/atos/bin ?
Le message d’erreur semble indiquer qu’il ne les trouve pas.
Vérifie également que tu as bien utilisé les fichiers compatibles avec ton hébergement (Linux ou Windows, 32 ou 64 bits), enfin assures toi que les fichiers on bien été transférés en tant que fichiers binaires.
Pour ta 2e question le paramètre à compléter dans montant_fixe_1 est le montant en euros.
exemple pour un don de 100€ :
<transaction|id=don|montant_fixe_1=100>
Répondre à ce message
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 : |