Paiement avec Formidable

Ce plugin « Paiement avec Formidable » permet d’ajouter une étape de paiement à la fin de la saisie d’un formulaire créé par le plugin Formidable. Il le complète et nécessite par ailleurs le plugin bank qui gère l’interface technique avec les prestataires de paiement.

Mise en œuvre du paiement

Activer le traitement

Une fois le plugin activé, vous pouvez aller sur un de vos formulaires construits avec le plugin formidable. En suivant le lien « Configurer les traitements » vous trouverez un nouveau traitement proposé « Paiement : Demander un paiement après saisie du formulaire ». Il suffit de cocher la case et de configurer ce traitement pour bénéficier de cette fonctionnalité de paiement. Il est nécessaire d’activer également le traitement « Enregistrer les résultats ».

Configurer le traitement

La configuration du traitement est simple :

  • vous choisissez le champ dont la valeur doit être utilisée comme montant à payer ;
  • alternativement vous pouvez remplir un montant fixe. Ce montant pourra être utilisé si aucun champ n’est utilisé ou si le champ choisi n’est pas rempli ;
  • vous indiquez si le montant saisi s’entend Hors Taxes ou Toutes Taxes Comprises (ou si la TVA n’est pas applicable) ;
  • vous indiquez le taux de TVA qui doit être appliqué à ce montant (ou 0 si pas de TVA) ;
  • vous ajoutez un message qui sera affiché après paiement.

Type de champ pour le montant

Pour le montant vous pouvez utiliser un champ de type ligne : la saisie sera libre et c’est l’utilisateur qui choisit le montant qu’il va payer.

Vous pouvez utiliser un champ de type boutons radios : dans ce cas le formulaire propose plusieurs montants et l’utilisateur choisi une des options.

Attention : dans ce cas il faut que les valeurs fournies dans la configuration de la saisie soient bien des nombres, correspondant aux montants.

Par exemple :

10|Dix Euros
20|Vingt Euros

Enfin vous pouvez utiliser un champ de type liste déroulante qui permettra également à l’utilisateur de choisir le montant.

Si vous ne voulez pas laisser l’utilisateur choisir le montant à payer, ne mettez aucun champ pour le montant, et dans le traitement indiquez le montant fixe qui devra être payé.

Configurer le formulaire

Dans la configuration du formulaire, pour l’option « Afficher ensuite » vous pouvez choisir toutes les actions sauf celle intitulée « Rediriger vers une nouvelle adresse » qui ne permet pas à l’utilisateur de réaliser l’étape de paiement.

Fonctionnement

Une fois votre formulaire enregistré et configuré vous pouvez l’utiliser par exemple dans un article.

Dans le site public, l’utilisateur entre les valeurs dans le formulaire et clic sur « Valider ».

Il accède alors au formulaire de paiement :

  • la récapitulation du montant à payer
  • les moyens de paiement activés et configurés dans le plugin bank

L’utilisateur peut finir le processus de paiement en cliquant sur un des boutons.

Chaque affichage du formulaire de paiement créé en base une transaction au statut commande. Lorsque le paiement est confirmé la transaction passe en statut ok. Toutes les transactions peuvent être visualisées dans l’interface du plugin bank.

Discussion

42 discussions

  • 5

    Bonjour,

    J’essaye d’émettre une facture (ou un genre disons) suite à un paiement. Dans mon esprit, on ne peut émettre de facture que dans le cas d’un paiement réussi, donc j’envisageais dans le squelettes bank_retour_ok.html de remettre un formulaire formidable posant la question "facture oui/non) ...

    Je me demandais comment pouvais-je lier cet écran de retour au paiement effectué. Je pourrai faire le dernier mais j’ai peur de collision si X paiements effectués au même moment. Y-a-t-il un moyen de s’assurer de la traçabilité, être sûr que je vais bien chercher la bonne réponse dans la base de données correspondant au paiement effectué sur le poste. Que puis-je récupérer de ce retour de paiement qui m’assurera que je vais chercher la bonne transaction puis la bonne réponse au formulaire (je vois que cette dernière liaison existe dans un champ « parrain » donc ça ça devrait être bon).

    Une question annexe et néanmoins importante aussi, une idée pour essayer de faire un rôle de numérotation qui se suit sur les transactions d’un formulaire ?

    Merci d’avance

    Pierre

    • Pour générer une facture je te conseille d’utiliser le plugin https://github.com/nursit/factures qui génère automatiquement une facture à chaque paiement réalisé et se branche automatiquement sur les entrées du plugin bank.

      A noter qu’il faut créer 2 modèles modeles/transaction_details.html pour afficher sous forme de tableau la liste des produits payés et modeles/client_adresse_facture pour l’adresse du client

    • Bonjour,

      En plus je savais que ce plugin existait mais dans mon esprit il nécessitait la trilogie panier/banque/commandes, pas pensé qu’il pouvait aussi bien marcher avec formidable, je teste ça fissa !!!
      Merci pour tout ce boulot !

    • Bonjour,
      J’ai réussi à émettre une première facture, mais bien sûr j’ai aussi des questions :

      -  dans client_adresse_facture.html (je vois qu’il est bien appelé), je suppose que je dois faire une/des boucles pour récupérer une adresse client. S’agissant d’un paiement formidable, quel peut être mon chemin pour remonter factures->paiement->formidable qui contient l’adresse et le nom en question ? je suppose d’abord une boucle de transactions, mais quel est l’élément que j’ai pour retrouver la bonne transaction ? #ENVid ou #ENVid_transaction, autre ? (je demande car faire des tests de paiement avec la banque est long pour essayer 1 par 1 ...)

      -  même question pour les produits ... à priori même méthode,

      -  template de la facture ? moyen de l’éditer, je voudrais ajuster la notion de TTC/HT étant donné que évidemment (ce serait trop simple) j’ai les 2 produits sur la même facture ...

      Merci d’avance !

      Pierre

    • Bonjour,

      Je relance cette question, faire des tests avec un paiement complet est très très long, une ou 2 indications seraient super :-)

      Pierre

    • Ou y-a-t-il un moyen de re-générer la facture sans passer par un processus d’achat ?
      Pierre

    Répondre à ce message

  • 6

    Bonjour,
    Ce plugin est stable à priori. Cependant, il y a quelques trucs que je ne comprends pas :
    Dans le cadre d’un paiement paypal, j’ai créé un compte sandbox pour tester le cycle de paiement, et je n’y arrive pas.
    Quand je paie en paypal express cela revient bien sur le site, mais soit sur le formulaire comme quoi je l’ai déjà rempli, merci, mais pas d’indication de paiement, soit sur la page d’accueil du site.
    Si je paie en paypal tout court, là je reviens vers le site, cela me dis que le paiement n’a pas été effectué. Avant de mettre en production, je voudrais être sur de ce que je fais.
    A quoi sert le mode simulation ?

    • Dans le cas Paypal Express il y a en effet un bug : ce mode de paiement nécessite une étape de validation supplémentaire au retour sur le site, et j’avais oublié ce point. En l’état aucun paiement n’est réalisé, un correctif arrive très rapidement.
      Dans le cas Paypal simple, cela fonctionne normalement, je pense que le compte sandbox ne fonctionne pas. Le mode simulation sert à tester le workflow de paiement complet côté SPIP sans passer par le prestataire bancaire, il est surtout utile en phase de développement.

    • Voilà, la version 1.0.3 du plugin doit corriger le fonctionnement du paiement via PaypalExpress

    • impeccable. Merci. En fait Paypal express, ce n’est pas aussi express que cela car il faut effectivement valider deux fois. Pas sur que M ou Mme Michu aiment.

    • Bonjour,
      Avec Paypal Express, le prix ne s’affichait pas sur Paypal. Comme préciser sur ce forum, j’ai ajouté à /bank/presta/paypalexpress/inc/paypalexpress.php (ligne 62 et 65)
      => &useraction=commit
      Et maintenant le montant s’affiche bien !

    • Toujours concernant Paypal Express, je n’obtiens pas cette étape de validation supplémentaire. Juste le retour : bank_retour_ok mais toujours pas de paiement ;( Les principales pages du site sont dans une zone d’accès restreint. Est-ce que cela peut bloquer cette étape ?
      Merci.

    • Désolé, c’était un problème avec paypal. Ca fonctionne !!!
      Merci pour ce formidable plugin.

    Répondre à ce message

  • Polar oïd

    Bonjour,

    Dans un squelette, j’aimerais pouvoir présenter la date de paiement d’une transaction selon date_paiement+1 jour. Rapidement est sans créer de balise supplémentaire, est-il possible de réaliser le calcul avec une balise #EVAL pour laquelle on utiliserait #DATE_PAIEMENT en argument ? Il existe ceci :

    [(#EVAL{date("Y-m-d", strtotime("+1day"))})] 

    Qui fonctionne avec #DATE, la date du jour... Est-t-il possible de réaliser le même calcul sur #DATE_PAIEMENT ? étant donné que

    [(#EVAL{#DATE_PAIEMENT("Y-m-d", strtotime("+1day"))})] 

    ne retourne rien ?

    Merci pour votre aide :)

    Répondre à ce message

  • grodid

    Bonsoir,

    J’essaie de construire un formulaire de don avec la version 1.0.4 du plugin « Paiement avec Formidable ».
    C’est pas mal, mais, avec SPIP3 et Escal-V3, je ne sais pas comment faire pour récupérer,
    dans ce formulaire, le pseudo, l’email, et éventuellement le nom du visiteur qui souhaite faire ce don, et cela m’ennuie car je veux lui renvoyer un mail de réponse, et de remerciement, par ex.
    Je voudrais aussi stocker toutes ces infos dans la database associée au site, pour gérer au moins la trésorerie.

    L’idée est de forcer ce visiteur à s’inscrire, d’une manière ou d’une autre, avant de pouvoir naviguer sur le site, puis de récupérer les infos d’inscription pour les insérer dans le formulaire de don, s’il se décide à donner.

    Comment insérer ces infos, si j’arrive à les obtenir au moment du login, dans le formulaire, svp ?
    Avez-vous des exemples clairs et détaillés de ce qu’il faut faire, ou, éventuellement, des exemples de formulaires à importer ?

    Merci d’avance pour votre aide, Cdt, G.

    Répondre à ce message

  • Avec BANK, les emails « Reporting Paiements » affichent toujours 0 euro !
    Pourtant des paiements ont bien été effectué d’après ma banque. Pouvez vs m’aider ?

    Répondre à ce message

  • Bonjour, comment faire pour avoir dans un fichier excel les données d’un formulaire + les données de la transaction ? Existe-t-il des faq ou exemple ? Merci !!

    Répondre à ce message

  • 2

    Bonjour !
    Je viens d’installer les plugins, j’ai bien suivi le tuto ci-dessus,
    mais rien n’y fait le traitement de paiement ne s’effectue pas.
    Je reçois juste un email me signifiant qu’il y une erreur :

    Impossible de traiter correctement le formulaire 1
    Traitements attendus :paiement
    Traitements realises :

    puis il liste tous les traitements , mais rien n’indique où est l’erreur.

    Bref cela ne fonctionne pas pour moi et je ne vois pas où chercher !

    Cordialement.

    • Je précise : par traitement de paiement j’entends que je n’ai pas accès au formulaire de paiement.

      Merci.

    • Bonjour,

      Méa-culpa je n’avais pas coché « enregistrer les résultats  »

      Super ça fonctionne !

      Merci pour le travail fourni sur ce plugin !

    Répondre à ce message

  • dans le cadre d’une association, je souhaite demander le paiement pour l’achat d’un livret mais aussi en plus de cela donner la possibilité de faire un don. comment faire ??

    Répondre à ce message

  • 1

    Bonjour, pour l’utilisation de bank, y a-t-il des frais d’utilisation à charge du propriétaire de la page ?

    • Aucun frais lié à l’utilisation du plugin, mais les prestataires de paiement ont chacun une tarification avec un coût fixe et/ou un coût par transaction.

    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 :

  • 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