SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 81 visiteurs en ce moment

Accueil > Commerce > Bank > Plugin Bank

Plugin Bank

12 juin 2015 – par Cerdic – 76 commentaires

28 votes

Le plugin Bank prend en charge l’interface technique de paiement avec de nombreux prestataires de paiement par Carte Bleue, SEPA… Il prend également en charge la conservation de l’historique des transactions de paiement et de leur état et offre une API pour permettre aux autres plugins d’offrir des fonctionnalités autour des paiements (plugins de dons et souscriptions, paiement avec formidable, gestion de commandes…)

Configuration

La configuration du plugin permet d’ajouter, activer, ordonner et configurer les modules de paiement que vous souhaitez utiliser ainsi que les notifications [1].

Configuration du plugin Bank

L’ordre dans lequel vous positionnez les modules de paiement dans cette configuration sera l’ordre dans lequel ils seront proposés aux visiteurs sur les pages de paiement.

Paiements à l’acte

Paiements à l’acte par Carte Bancaire
Le plugin permet les paiements uniques par Carte Bancaire avec

Paiements à l’acte par SEPA
Les paiements à l’acte sont possibles par SEPA via le prestataire Payzen.

Paiements à l’acte par Chèque
Les paiements par chèque sont pris en compte par un module dédié.

Paiements à l’acte par Virement
Les paiements par virement sont pris en compte par un module dédié.

Paiements à l’acte sur la facture du fournisseur Internet
Le module de paiement Internet+ permet le paiement des petits montants directement via la facture du fournisseur Internet du visiteur.

Simulation du paiement
Le plugin permet également la simulation du paiement en phase de développement du site.

Paiements récurrents

Paiements récurrents par Carte Bancaire
Les paiements récurrents sont possibles par Carte Bancaire via les prestataires Paybox, Payzen et Stripe.

Paiements récurrents par SEPA
Les paiements récurrents sont possibles par SEPA via le prestataire Payzen.

Paiements récurrents sur la facture du fournisseur Internet
Le module de paiement Internet+ permet le paiement récurrent de petits montants directement via la facture du fournisseur Internet du visiteur.

Notifications

Le plugin génère un ticket d’achat comportant les informations techniques de chaque paiement, et vous pouvez configurer l’adresse email qui recevra ce ticket ainsi que l’email expéditeur.

Il en est de même pour le récapitulatif journalier des paiements : indiquez l’adresse qui recevra ce récapitulatif par mail.

Suivi des transactions

Avant tout affichage du formulaire de paiement, une transaction est créée en base avec toutes les informations concernant le paiement (prix, prix HT, id_auteur ou email associé, date de la transaction).

Le menu Activités > Transactions permet de retrouver la liste de toutes les transactions et de les trier par statut :

  • OK pour les transactions dont le paiement a été réalisé
  • Commande pour les transactions créées mais qui restent en attente de paiement
  • Attente pour les transactions dont le paiement a été initié par un mode qui ne permet pas l’encaissement instantané (chèque, virement)
  • Echec lorsqu’une tentative de paiement a eu lieu mais n’a pas réussi. Le code d’erreur est alors visible au survol du statut de la transaction
  • Abandon pour les transactions abandonnées (si votre site permet l’abandon de commandes par exemple)
  • Remboursées pour les transactions remboursées à posteriori
Liste des transactions

Pour chaque transaction la liste affiche le mode de paiement utilisé (nom et identifiant du module de paiement), le numéro d’autorisation, dont le format dépend du module de paiement, et le lien vers l’auteur si il est connu.

Certaines transactions peuvent avoir le mode ’gratuit’ indiqué. Ce « mode de paiement » est automatiquement utilisé lorsqu’on demande le paiement d’une transaction dont le montant est nul (cas de remises ou cadeaux), il se compose d’un simple bouton de validation, mais permet le passage dans tout le processus de paiement, comme pour le paiement via une plateforme externe.

La recherche permet de retrouver une transaction par son numéro d’autorisation, ou toutes les transactions utilisant un mode de paiement particulier.

Squelettes

#FORMULAIRE_PAYER_ACTE

Ce formulaire permet de proposer un formulaire de paiement.

  1. [(#FORMULAIRE_PAYER_ACTE{10,
  2.                       #ARRAY{
  3.                               montant_ht,8,
  4.                               id_auteur,#ID_AUTEUR,
  5.                       }
  6. })]

Télécharger

La transaction est automatiquement créée. Les arguments sont les mêmes que pour l’API inserer_transaction ci-dessous.

modeles/payer_acte.html

Ce modèle permet d’afficher le formulaire de paiement pour une transaction existante :

  1. <INCLURE{fond=modeles/payer_acte,id_transaction,env} />

Les modules de paiements à l’acte activés et configurés seront utilisés pour proposer les modes de paiement aux visiteur.

modeles/payer_abonnement.html

Ce modèle permet d’afficher le formulaire de paiement récurrent pour une transaction existante :

  1. <INCLURE{fond=modeles/payer_abonnement,id_transaction,env} />

Les modules de paiements récurrents activés et configurés seront utilisés pour proposer les modes de paiement aux visiteurs.

modeles/transaction_details.html

Ce modèle est utilisé pour afficher le détail du paiement de la transaction, par exemple sur les factures (via un plugin externe). Vous pouvez le surcharger pour afficher une liste de produits associée à la transaction et qui en constituent le prix par exemple.

content/payer.html

Ce squelette affiche le contenu minimum d’une page de paiement d’une transaction.

content/bank_retour_ok.html

Ce squelette fournit le contenu de la page de retour après paiement réussi. Vous pouvez l’utiliser pour fournir une page spip.php?page=bank_retour_ok fonctionnelle qui est nécessaire au fonctionnement du plugin.

content/bank_retour_attente.html

Ce squelette fournit le contenu de la page de retour après un paiement en attente d’encaissement (typiquement lors du paiement par chèque ou virement). Vous pouvez l’utiliser pour fournir une page spip.php?page=bank_retour_attente fonctionnelle qui est nécessaire au fonctionnement du plugin.

content/bank_retour_echec.html

Ce squelette fournit le contenu de la page de retour après paiement échoué. Vous pouvez l’utiliser pour fournir une page spip.php?page=bank_retour_echec fonctionnelle qui est nécessaire au fonctionnement du plugin.

API

inserer_transaction

  1. $inserer_transaction = charger_fonction('inserer_transaction','bank');
  2. $id_transaction = $inserer_transaction($montant,$options);

Télécharger

Paramètre
string $montant montant a payer
array $options tableau d’options
   string montant_ht Montant HT du paiement
   int id_auteur id_auteur associé à la transaction 
   string auteur_id  autre identifiant de l’auteur
   string auteur nom ou email de l’auteur
   string parrain parrain/tracking associé à la transaction
   int tracking_id numéro de tracking
   bool force false pour recycler une transaction identique encore au statut commande (par défaut), true pour forcer la creation d’une nouvelle transaction
   array champs autre champs ajoutés a la transaction

La fonction retourne l’id_transaction de la transaction créée, ou 0 en cas d’erreur.

Pipelines

Les pipelines suivants permettent de s’insérer dans le processus de paiement et de personnaliser selon vos besoins.

bank_pre_facturer_reglement

Le pipeline est appelé après le règlement d’une transaction, avant facturation éventuelle de la transaction. Le pipeline peut servir a créer un compte client post-achat (mais avant facturation). Il a le même format de données que bank_traiter_reglement. Il est possible de récupérer les informations éventuellement fournies par la banque sur l’identité du client dans la globale $GLOBALS['bank_session']

bank_facturer_reglement

Le pipeline est appelé après le règlement d’une transaction, lorsqu’on peut facturer la transaction (si nécessaire). Le pipeline est utilisé par un éventuel plugin de facturation. Il a le même format de données que bank_traiter_reglement.
Il est possible de récupérer les informations éventuellement fournies par la banque sur l’identité du client dans la globale $GLOBALS['bank_session']

bank_traiter_reglement

Le pipeline est appelé lors du règlement d’une transaction
Il est possible de récupérer les informations éventuellement fournies par la banque sur l’identité du client dans la globale $GLOBALS['bank_session']

bank_traiter_remboursement

Le pipeline est appelé lors du remboursement d’une transaction. Le format des données est le même que pour le pipeline bank_traiter_reglement.

bank_editer_ticket_reglement

Le pipeline est appelé après le règlement d’une transaction, lors de l’édition du ticket de paiement (ticket interne, à destination des administrateurs du site et non du client).

bank_redirige_apres_retour_transaction

Le pipeline est appelé au moment de déterminer l’URL de retour après transaction. Par défaut on retourne vers l’une des URLs ?page=bank_retour_ok, ?page=bank_retour_attente ou ?page=bank_retour_echec mais ce pipeline permet de modifier ce comportement pour changer la page de retour en fonction du module de paiement utilisé ou d’autres paramètres liés à la transaction.

trig_bank_notifier_reglement

Le pipeline est appelé après le règlement, pour notifier le bon règlement. Il a le même format de données que bank_redirige_apres_retour_transaction.

trig_bank_reglement_en_attente

Le pipeline est appelé lorsqu’une transaction est marquée en mode de paiement chèque ou virement, et que le règlement effectif devra attendre la réception du chèque ou virement. Cela permet par exemple d’envoyer un mail aux administrateurs ou au client.

trig_bank_reglement_en_echec

Le pipeline est appelé lorsqu’un échec ou un abandon de paiement est constaté sur une transaction.

API Abonnements

Le plugin prend en charge les paiements récurrents, mais pas du tout les abonnements associés à ces paiements récurrents qui sont du ressort d’un autre plugin.
Une API est fournie et doit être implémentée pour le bon fonctionnement des paiements récurrents.

Pour ces 4 fonctions une implémentation minimale incomplète est fournie dans le dossier abos/ du plugin et contient les informations nécessaires pour son implémentation complète. Pour chacune on pourra réaliser l’implémentation par le pipeline idoine, ou par surcharge du fichier, selon les cas.

abos/decrire_echeance

Cette fonction est appelée lors de l’affichage du formulaire de paiement récurrent, pour connaître le détail de la récurrence : périodicité, montant des échéances (qui peut être différent du montant du premier paiement), numéro d’offre abonnement pour Internet+

abos/activer_abonnement

Cette fonction est appelée après que le premier paiement ait été reçu. Elle a en charge l’activation de l’abonnement lié à la transaction.
Attention, dans le cas où le paiement de la première transaction est à encaissement différé (SEPA par exemple), la fonction sera appelée une première fois à l’enregistrement du mode de paiement (avec la transaction en statut attente) et une seconde fois quand le paiement de la transaction sera effectivement encaissé. Il convient donc de vérifier le statut de la transaction pour décider d’activer ou non l’abonnement (avec une période d’essai par exemple).

abos/preparer_echeance

Cette fonction est appelée lorsque le plugin est notifié d’un paiement récurrent. La fonction doit créer une nouvelle transaction correspondant à l’échéance attendue de l’abonnement concerné et la retourner pour permettre la prise en compte du bon paiement ou du rejet du paiement de cette transaction.

abos/renouveler_abonnement

Cette fonction est appelée lorsque le plugin est notifié d’un paiement récurrent réussi, après avoir traiter le règlement de la transaction correspondant à l’échéance. Elle peut par exemple se charger de prolonger la date de validité de l’abonnement jusqu’à la prochaine échéance.

abos/resilier

Cette fonction est appelée lorsque le plugin est notifié d’un paiement récurrent échoué.

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

Notes

[1Vous pouvez configurer plusieurs modules du même prestataire, avec des configurations différentes dans le cas où vous disposez de plusieurs contrats.

Dernière modification de cette page le 27 octobre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 29 mars à 12:33, par Fennec72 En réponse à : Plugin Bank

    En « ecrire/ ?exec=configurer_bank », quand on choisi comme prestataire « Simulation (necessite une autorisation par define) (2CF8) », que faut-il faire exactement ?

    « define », je suppose que c’est du PHP, mais où et comment ?

    Merci d’avance,

    Cordialement,

    Hervé

    Répondre à ce message

  • Le 29 mars à 12:19, par Fennec72 En réponse à : Plugin Bank

    Bonjour,

    Le « plugin Bank » est manquant dans le dépôt depuis l’espace privé en spip 3.2.1

    Merci d’avance,

    Cordialement,

    Hervé

    Répondre à ce message

  • Le 16 mars à 11:25, par Cricri En réponse à : Plugin Bank

    Bonjour

    Au risque de passer pour une blonde que je suis - désolé je débute et je n’arrive pas à tout suivre dans les explications- j’ai créé pour ma petite association un petit site sous spip dans lequel je souhaite mettre un formulaire un formulaire d’adhésion en ligne avec paiement par virement.
    Le formulaire est créé (article), j’ai configuré le module de paiement par virement dans mon espace privé, mais comment j’appelle le paiement par virement dans mon article ? Et dois-je configurer une page html du plugins bank au préalable ?

    Merci pour vos réponses

    • Le 16 mars à 12:01, par DD En réponse à : Plugin Bank

      C’est un formulaire Formidable ? SI oui Il y a une extension de Formidable pour la transaction : https://contrib.spip.net/Paiement-avec-Formidable-4614

    • Le 16 mars à 14:19, par Cricri En réponse à : Plugin Bank

      Bonjour monsieur
      merci pour votre retour.
      Non mon formulaire n’est pas lié à Formidable, il s’agit d’un article basique avec un pdf en bulletin d’adhésion.
      Les gens renvoient le bulletin avec un chèque ou le bulletin par mail avec un paiement par virement (et ticket payeur à joindre aussi) depuis le site.
      Ce n’est peut-être pas ce squelette dont j’ai besoin

    • Le 16 mars à 15:57, par DD En réponse à : Plugin Bank

      Mademoiselle,
      Un article « basique » n’est pas lié par défaut à une transaction. Je pense que le plus simple pour les virements est d’ajouter un formulaire Formidable avec l’extension transaction + le plugin Bank + paramétrer le mode virement.

    • Le 16 mars à 16:02, par Maïeul En réponse à : Plugin Bank

      Dit autrement : si vous demandez aux gens de remplir un PDF puis de l’envoyer par la poste, comment voulez vous qu’on puisse automatiser le traitement avec un plugin comme bank ?

      Par contre ce qu’il est possible de faire est de créer un vrai formulaire web (avec le plugin formidable) qui peut se combiner avec l’extension transaction + bank.

    • Le 16 mars à 16:14, par Cricri En réponse à : Plugin Bank

      Je vous remercie monsieur je vais essayer

    • Le 16 mars à 16:24, par Cricri En réponse à : Plugin Bank

      je ne cherchais pas forcément à lier le pdf à la transaction mais juste renseigner le montant dans le paiement par virement à travers le plugin bank. le pdf sert juste de support complémentaire isolé.
      je vais m’atteler rapidement au plugin formidable. Je vous remercie pour vos retours

    Répondre à ce message

  • Le 18 janvier à 09:43, par Daniel En réponse à : Plugin Bank

    Bonjour
    J’avais bien configuré les transactions par chèque et par virement.
    Mais depuis une mise à jour de SPIP ( passage de 3.0 à 3.2) et des plugins dont celui-ci, lorsque l’on choisit ces options sur le site il apparait une fenêtre d’erreur :
    « Aucun squelette bank_retour_attente.html n’est disponible... »
    Pourtant ce fichier figure bien dans le dossier du plugin « content ».
    La transaction figure bien en attente dans l’interface privée, mais les renseignements documentés dans la config ne parviennent plus à l’utilisateur ( adresse pour envoyer le chèque ou IBAN de la banque pour les virements)
    Merci de votre aide

    • Le 5 février à 16:56, par Daniel En réponse à : Plugin Bank

      Je me réponds à moi-même.
      Après plusieurs désinstallations et réinstallations, ça (re)marche.
      Mais l’affichage des renseignements n’est pas stylé.
      Merci de votre aide

    Répondre à ce message

  • Le 29 janvier à 15:45, par atoom En réponse à : Plugin Bank

    Salut,

    D’abord merci pour ce superbe plugin très pratique.

    J’ai mis en place un système de paiement récurrent avec le provider Stripe. Côté Stripe, les paiements sont bien renouvelés et il appelle correctement le webhook qui lui renvoie une 200. Cependant, côté Spip, rien ne se passe : pas de nouvelle transaction créée, pas de mise à jour de la transaction existante.

    Ma question est donc : qu’est-il sensé se passer dans ce cas (la doc est peu bavarde à ce sujet) ? Une nouvelle transaction ne devrait-elle pas apparaitre en base ? Comment savoir qu’un paiement a été renouvelé ?

    Merci !

    Répondre à ce message

  • Le 7 novembre 2017 à 11:10, par Mike lbh En réponse à : Plugin Bank

    Salut Jordi

    Parmi les nombreux sous-plugins mis au point , il y en a probablement qui fonctionnent
    à peu près de la même facon que l’API de la CAIXA.
    Le mieux est d’identifier le cas le plus proche et s’en inspirer.
    C’est ce que j’ai fait pour un mode dérivé de Paypal.

    Mike lbh

    • Le 1er janvier à 18:06, par jordibardaji En réponse à : Plugin Bank

      Merci Mike.

      J’ai essayé de voir quelq’un de les sous plugins qui peut être de de la même façon mais c’est trop dur pour moi.

      J’ai besoin de quelque aide.

      Je suis perdu quan j’ai essayer de comprendre comme ça marche.

      Jordi

    Répondre à ce message

  • Le 10 septembre 2017 à 14:35, par jordi Bardaji En réponse à : Plugin Bank

    Bonjour,

    J’ai besoin d’ajouter le paiment par carte avec la banque CaixaBank (c’est une banque Espagnole). J’habite en Espagne et mon client a besoin de ça.

    Comment faire pour ajouter cette banque ? Est-ce que vous avez des instructions dont je peux me servir ?

    Merci,

    Jordi Bardají

    Répondre à ce message

  • Le 29 octobre 2016 à 07:46, par Seb En réponse à : Plugin Bank

    Bonjour,

    Il a l’air excellent comme plugin !
    Possible de rajouter un nouveau module de paiement ?
    Car il y a PayPlug qui est plutôt sympa :)
    Enfin s’il y a besoin je veux bien tenter de mettre le nez dedans afin d’ajouter PayPlug comme nouveau module ;)

    @+

    • Le 16 mars 2017 à 10:57, par Pyo En réponse à : Plugin Bank

      bonjour
      je commence tout juste à mettre le nez dans le plugin commerce.
      J’utilise déjà (sous presta) la système payplug. Mais il n’apparaît pas dans la liste proposée par défaut. Comment faire ?
      Merci
      Pyo

    Répondre à ce message

  • Le 28 février 2017 à 16:58, par Pifou du Rouergue En réponse à : Plugin Bank

    Bonjour,

    Et tout d’abord bravo et merci pour ce plugin !

    Je cherche, en utilisant simplement #FORMULAIRE_PAYER_ACTE qui me suffit amplement, à passer un paiement par CMCIC, mais celui-ci arrive systématiquement en version paiement 3 fois (paramètre nbrech) alors que je n’ai rien demandé (et donc passé seulement les paramètres de base).

    Je me doute qu’il « suffirait » de passer ce paramètre à 0, mais je n’ai pas trouvé comment.

    Voilà mon code :

    1. [(#FORMULAIRE_PAYER_ACTE{#GET{prix},
    2.                                        
    3.                                          #ARRAY{
    4.                                                 montant_ht,#GET{prix},
    5.                                                 titre, 'Formation',
    6.                                                 auteur, #ENV{input_6},
    7.                                                 nbrech, '0'
    8.                                                 }
    9.                                         })]

    Télécharger

    (Oui je passe par formidable, mais là n’est pas le sujet)

    Quelqu’un aurait-il la solution s’il vous plait ?

    Répondre à ce message

  • Le 18 janvier 2017 à 21:57, par Safari En réponse à : Plugin Bank

    Bonjour,
    Je rencontre un problème avec l’utilisation du plugin.
    Je ne comprends pas, le problème disparait avec un rechargement de la page ’paiement’, sachant que j’utilise le code suivant pour envoyer le paiement :

    [(#FORMULAIRE_PAYER_ACTE{
               #PRIX*,
               #ARRAY{
                       montant,[(#PRIX*)],
                       id_commande,#ID_COMMANDE,
                       id_auteur,#ID_AUTEUR
               }
       })]

    Voila ce que me dit SPIP lorsque j’active le mode ’&var_profile=1’ :

    Catchable fatal error : Object of class PDOStatement could not be converted to string in .../plugins/auto/bank/bank/inserer_transaction.php on line 105

    Je ne comprends pas cette erreur.

    Une bonne âme plus compétente que moi saurais m’indiquer une piste ?
    Merci.

    PS : dois-je insérer les lignes suivantes dans un fichier mes_options (ce que je n’ai pas fait) ?

       $inserer_transaction = charger_fonction('inserer_transaction','bank');
       $id_transaction = $inserer_transaction($montant,$options);
    • Le 21 janvier 2017 à 13:26, par Saf En réponse à : Plugin Bank

      Je me réponds à moi même... à priori, pour que le modèle fonctionne, il faut un montant_ht
      => comme d’ailleurs précisé sur cette page dans l’exemple... Autant pour moi...
      Merci Cedric pour ce plugin très utile.

    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

  • Envoyer des fichiers avec un formulaire Formidable

    2 janvier 2017 – 56 commentaires

    La version 3.0.0 du plugin Formidable permet de créer des formulaires comprenant des envois de fichiers. Cet article regroupe la documentation relative à cette fonctionnalité. Pour une présentation générale de Formidable, voir « Formidable, le (...)

  • Grappes 1.0

    23 novembre 2012 – 33 commentaires

    Présentation et nouveautés Cette version 1.0 du plugin Grappes est un portage pour SPIP 3.x. Le plugin permet de grouper des objets de SPIP dans des grappes. Les objets du core (articles, rubriques, auteurs, etc.) sont pris en charge, ainsi que (...)

  • Cycle2

    7 août 2014 – 117 commentaires

    La seconde version de la librairie Javascript « jQuery Cycle », qui permet de produire des diaporamas, se nomme « Cycle2 » : http://jquery.malsup.com/cycle2/. Voici cette nouvelle librairie mise en plugin pour SPIP. Si vous utilisez déjà « jQuery (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 128 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Mon site affiche une page blanche ou je ne peux plus accèder à l’espace privé

    7 février 2008 – 34 commentaires

    Au secours ! « Tout à coup » votre site devient inutilisable ou inaccessible ! Comment faire ? Pourquoi ? Par où commencer ? Sans pouvoir couvrir tous les cas, cet article va essayer de vous guider rapidement vers la (...)