SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

279 Plugins, 195 contribs sur SPIP-Zone, 68 visiteurs en ce moment

Accueil > Contribs dédiées > Commerce > Transaction > Transaction : créer des formulaires avec paiement en ligne

Transaction : créer des formulaires avec paiement en ligne

13 mars 2011 – par Arnault Pachot, Emmanuel Nurit, nddinechin – 108 commentaires

29 votes

Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises.

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.
  • 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.
  • 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 remplacer paiement_atos_confirmation.php par votre nom personnalisé)
    • Renommez les fichier paiement/atos/conf/certif.fr.xxxxxxxxxxxxxxx et paiement/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.

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).

Voir en ligne : http://plugins.spip.net/transaction

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 18 avril à 12:09, par Luc En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Bonjour

    Sur un site Spip 2.1.23 avec Formidable 0.6.6, j’ai installé Transaction 0.3.1.
    J’ai besoin d’utiliser l’API du Crédit Mutuel, j’ai obtenu auprès de cette banque tous les renseignements nécessaires, j’ai modifié le fichier paiement/cmcic/config.php

    Je suis en phase de test :
    je remplis le formulaire
    lorsque je valide la saisie, et que je dois « valider le paiement », j’obtiens une belle erreur 500...

    J’ai dû rater kekchose d’important ?

    Merci
    Luc

    • Le 30 avril à 06:43, par Luc En réponse à : Transaction : créer des formulaires avec paiement en ligne

      Bonjour,

      Après moultes tentatives, je viens de parvenir à utiliser le plugin Transaction en évitant l’erreur 500...
      Les essais de paiement « test » fonctionnent.
      Juste une bizarrerie : dans la configuration des traitements du formulaire, j’ai choisi l’enregistrement des résultats dans la base de données et ceux-ci s’y affichent en double...
      J’aurais aimé également que la « référence » des paiements puisse être extraite dans le fichier CSV créé, elle n’y est pas : seulement visible depuis la page « voir les réponses » de l’espace privé. Cet élément est important puisque c’est depuis cette référence que le croisement avec le fichier établit par la banque peut s’effectuer...

      Luc

    Répondre à ce message

  • Le 25 février à 15:34, par Nicole En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Bonjour,

    Bravo pour ce plugin, depuis le temps que je galérais avec les vilains boutons « Faire un don » de Paypal pour encaisser les cotisations de mon asso.

    J’ai donc fait un formulaire d’adhésion avec formidable (un petit script php pour lier avec le plugin associaspip ? plus tartd ;-) ) qui propose le paiement par chèque, virement et Paypal. Jusque là tout marche impec. y compris le test de paiement dans la sandbox de Paypal, mais quand on revient sur le site (j’ai mis l’url de renvoi http://www.avectoit.org/?page=transaction_merci sur mon compte marchand Paypal), le contenu brut de celle-ci s’affiche et j’ai 4 erreurs dans le squelette qui s’affichent (copie d’écran jointe). Il manque un include quelque part non ? ou cela viendrait-il d’une limitation de la sandbox ?

    D’autre part j’aimerais envoyer à Paypal, pour les visiteurs qui n’ont pas encore de CB enregistrée dans un compte paypal, les données first_name last_name address1 zip city email depuis celles qu’ils ont saisies dans mon formulaire (leur demander de retaper chez Paypal ce qu’ils viennent de faire chez moi ne fait pas très sérieux !). Ça devrait être possible ?

    Je suis en spip 3.0.7

    Merci de vos lumières.

    PNG - 39.2 ko
    • Le 25 février à 20:13, par Nicole En réponse à : Transaction : créer des formulaires avec paiement en ligne

      Re :

      J’ai trouvé pour les erreurs dans le squelette (pour ma dist. 3.0.7) : dans le squelette
      /plugins/auto/transaction/transaction_merci.html il faut remplacer dans les quatre
      <INCLURE{fond=inc-...}>
      inc-head par inclure/head
      inc-entete par inclure/header
      inc-rubriques par inclure/rubriques
      inc-pied par inclure/footer

      et je retrouve l’habillage de mon site :)

      Ma question sur le passage des variables à l’API de Paypal reste pendante.

    Répondre à ce message

  • Le 24 février à 17:26, par MARC En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Bonjour,

    Une intégration avec SystemPay est-elle prévue ?
    Merci pour votre prompte réponse ... :-)

    Répondre à ce message

  • Le 4 février à 11:51, par Pierre-Jean En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Bonjour,

    Pourriez-vous m’indiquer comment modifier/quel fichier surcharger pour faire évoluer l’apparence du retour de formulaire avec les choix de moyens de paiements.

    Je voudrais par exemple supprimer les images sur certains moyens de paiements...

    Merci beaucoup pour cet incroyable plugin !

    Pierre-Jean

    • Le 8 février à 11:49, par Pierre-Jean En réponse à : Transaction : créer des formulaires avec paiement en ligne

      Je up mon message et complète :

      J’affiche le formulaire dans une colonne à droite du contenu principal, j’ai donc dans les 250 pixels pour l’afficher du coup, le retour de formulaire oblige un scroll monstrueux car il n’y a plus asssez de place pour le texte situé à droite de chaque logo associé à un moyen de paiement...

      Bon week-end !

    Répondre à ce message

  • Le 15 décembre 2013 à 15:34, par gillesq En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Excellent plugin.

    Dans le cas d’une utilisation avec la dist en 3.0.13, il faut refaire les squelettes transaction_regret.html et transaction_merci.html.

    • Le 20 décembre 2013 à 15:13, par Nicaille En réponse à : Transaction : créer des formulaires avec paiement en ligne

      Attention tout de même, d’après mon expérience, à savoir :
      -  Mise en place d’un paiement ATOS (BNP Parisbas ) sur serveur mutualisé OVH (Plan Perso)

      Les enregistrements se passent de la manière suivante :
      -  Saisie d’un montant et validation du formulaire
      -> Ajoute une entrée dans la table « spip_formulaires_transactions » sans montant et avec une « ref_transaction » (champ) généré automatiquement (13 caractères) qui non compatible avec l’API de paiement BNP (6 caractère max).
      -  Choix du mode de paiement
      -> Ajoute encore une entrée dans « spip_formulaires_transactions » (bizarre ?!)
      -  Validation du formulaire donnée bancaire chez BNP
      -> Si valide : appel de la page de confirmation automatique (response_auto ou aussi appelée confirmclientannée.php)
      -> N’arrive pas à changer la valeur du champ statut_transaction

      Donc à vous de bien vérifier si les appels automatiques sont effectués et efficients. Et il n’est paspossible de consulter la table « spip_formulaires_transactions » depuis spip seulement depuis la BDD (phpmyadmin, bizarre également)

      Je ne demande qu’a me tromper mais voici le retour de mon expérience récente.

    Répondre à ce message

  • Le 10 octobre 2013 à 10:15, par elm31rugby En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Pas de redirection vers Paypal

    Bonjour, un léger problème que je rencontre avec « Transaction ». Je réalise une inscription en ligne pour un colloque. Les gens remplissent le formulaire d’inscription et sont dirigés vers Paypal pour payer les frais d’inscription.
    Lorsque je configure mon formulaire, si je n’indique rien dans la case « Message de retour », une fois le formulaire rempli je suis bien redirigé vers Paypal
    Si je mets un message du genre « Merci pour votre inscription », le message s’affichent une fois le formulaire rempli mais les gens ne sont pas redirigés vers Paypal, et l’inscription n’est pas validée.
    Ai-je oublié quelque chose ? Merci pour votre aide
    (en attendant, je désactive le message)
    Eric LM

    • Le 10 octobre 2013 à 10:24, par elm31rugby En réponse à : Transaction : créer des formulaires avec paiement en ligne

      Ok, je viens de voir le paragraphe correspondant dans le topo

      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.

      Désolé pour le bruit. Ce qui me pose un problème, car dans mon cas, l’inscription est gratuite pour les étudiants, et j’aurais bien voulu que quelque chose s’affiche lorsque les étudiants s’inscrivent.
      -  si je mets un message comme quoi l’inscription est confirmée, ceux qui paient ne sont pas redirigés vers Paypal
      -  si je ne mets rien, ceux qui ne paient pas n’on pas de message comme quoi l’inscription a bien été prise en compte.

      Eric LM

    • Le 10 octobre 2013 à 16:03, par elm31rugby En réponse à : Transaction : créer des formulaires avec paiement en ligne

      Bonjour, je viens de contourner le problème en créant deux formulaires : un avec paiement des frais de participation (et le fichier transaction_merci.html me permet de confirmer que la transaction s’est bien passée), et un autre formulaire « simple », sans règlement des participations aux frais, et dans lequel je confirme l’inscription grâce au message de retour du formulaire

      Mais, bon : comme dans Transaction il y a une proposition de montant multiple, l’un d’entre eux devrait pouvoir être nul.

      N’hésitez-pas à me contacter si vous voulez plus d’infos.

      Bonne journée, Eric LM

    Répondre à ce message

  • Le 9 octobre 2013 à 10:57, par Pierre En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Bonjour,

    Je me demandais si ce plugin pouvait permettre de réaliser un (petit) site de vente en ligne.

    Quand je lis tout ça, j’ai l’impression que l’on est cantonné à un paiement pour une chose, il n’y a pas de panier pour acheter 2 choses, il faut que ce soit lié à un « formidable » qu’il faudrait donc lier à un objet (imaginons par ex que cet objet soit décrit dans un « article » au sens spip) ...

    Bref si quelqu’un a un retour d’expérience (ce pour quoi c’est utilisé en général, ou alors la quantité petite ou grande de bidouilles qu’il faut faire pour faire l’équivalent d’un Thelia, enfin d’un genre de Thelia), etc ... ) A quoi vous l’utilisez par ex ? pour l’instant la seul appli que je vois c’est effectivement le truc style don ou cotisation d’assoc.

    • Le 9 octobre 2013 à 11:04, par Pierre En réponse à : Transaction : créer des formulaires avec paiement en ligne

      J’ajoute que je suis déjà un utilisateur de Thelia mais que le plugin correspondant me semble compromis étant donné l’arrivée de Thela 2 entièrement refondu ... et que j’ai trouvé un plugin « paniers » (sur http://plugins.spip.net/paniers.html) qui semble en cours de dev sans aucune page ici sur contrib ... mais qui pourrait peut-être se combiner avec Transactions ;..

    Répondre à ce message

  • Le 18 juin 2013 à 23:36, par Eterzere En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Bonjour,

    Sous SPIP 3.05 et plugins Formidable 1.3.6 et Transaction 0.3.1, le formulaire CMCIC affiche toujours un champ montant=0.
    Visiblement, le montant_1 du formulaire n’est pas récupéré, via SESSION[’total’].
    J’ai tenté également un montant fixe via l’appel du formulaire, idem. Les valeurs ne sont pas transmises...

    Merci de vos conseils

    Répondre à ce message

  • Le 11 juillet 2011 à 15:52, par miros En réponse à : Transaction : créer des formulaires avec paiement en ligne

    J’utilise le plugin avec satisfaction malgrès la non gestion dynamique des emails.
    et petit détail génant le formulaire n’envoie pas les centimes au système de paiement ( paybox)
    avec la virgule comme séparateur, on est obligé d’utiliser le point comme séparateur.
    Comment puis-je régler ce problème ?
    Cordialement,
    m

    Répondre à ce message

  • Le 6 mai 2013 à 16:29, par Pierre-Jean En réponse à : Transaction : créer des formulaires avec paiement en ligne

    Bonjour,

    Je cherche à savoir si il est possible avec Transaction et le mode de règlement Paypal de :

    -  Vendre des produits dématérialisés avec l’envoi du lien vers la page de téléchargement dans un mail envoyé à l’acheteur après le retour paypal.

    -  Permettre l’achat de plusieurs « objets » au sein d’une même transaction. Dans mon cas il s’agit d’une collection de livres que l’utilisateur doit pouvoir commander unitairement ou en choisissant plusieurs lors de sa commande.

    Si certaines choses ne sont pas possible, serait-il possible d’avoir des pistes, et diverses alternatives ?

    Je vous remercie par avance pour votre aide !

    • Le 10 mai 2013 à 06:15, par Polar oïd En réponse à : Transaction : créer des formulaires avec paiement en ligne

      Salut, à ma connaissance le plugin n’envoie pas de mail après le retour de l’IPN Paypal, ni en admin ni en user... ce qui manque d’ailleurs à propos de ce plugin... Par contre Paypal redirige ensuite l’utilisateur vers une page de paiement confirmée qui est unique à la fin de la procédure de paiement. Je ne sais pas si il serait possible de passer différentes variables d’url pour renvoyer sur différentes pages pour accéder par exemple aux contenus payés...

      L’information de paiement validée en base de données pourrait servir théoriquement à confirmer ou infirmer l’accès vers des contenus téléchargeables à condition d’intégrer une étape de téléchargement via un squelette prévu à cette effet mais cela impliquerait que l’utilisateur soit en session sur le site (login + password) pour y accéder en fonction de son N° de réponse au formulaire et de la référence de paiement...

      Ton sujet de vente de produits dématérialisés est très intéressant, nous pourrions continuer cette discussion si tu le souhaites et sur la base mon expérience en la matière...

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • GIS 4

    11 août 2012 – 808 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Badge pour dons

    8 février 2012 – 10 commentaires

    Ce plugin permet d’afficher un badge dans les pages publiques de votre site pour inciter les visiteurs à faire des dons. Ce plugin a été réalisé afin d’afficher un badge d’appel au don sur plusieurs sites gérés par l’association « Les petits (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1253 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • CookieChoices

    26 septembre – commentaires

    Affiche un avertissement à l’usage des cookies en utilisant le script cookiechoices fourni par google Introduction Par défaut, SPIP est respectueux de la vie privée de ses visiteurs et ne pose pas de cookies de traçages ou publicitaires. Ce plugin (...)

  • Plugin Vidéo(s)

    23 novembre 2010 – 526 commentaires

    Interface de gestion et modèle d’insertion des vidéos : Dailymotion Vimeo Youtube Modèle de la balise HTML5 video avec alternative flash html5media : Lecture HTML5/Flash pour tout navigateur des fichiers MP4/H264/Ogg/WebM/Mkv Support (...)