Transaction : créer des formulaires avec paiement en ligne

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.

Attention, l’interface de paiement avec les prestataires bancaires n’est plus maintenue dans ce plugin. On préfèrera l’alternative Paiement avec Formidable qui utilise le plugin de gestion des prestataires bancaires https://github.com/nursit/bank

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

Discussion

Aucune discussion

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