Module de Paiement PayZen

PayZen est un prestataire de paiement externe https://payzen.eu/ (du groupe Lyra Networks qui est aussi l’opérateur technique de la solution SystemPay utilisée par un groupe de banques).

Ce module permet les paiements à l’acte et les paiement récurrents.

Configuration du paiement avec PayZen dans le plugin Bank

Configuration

La configuration de ce module de paiement du plugin Bank se fait dans le menu Configuration > Paiements en ligne.

  • ID : il s’agit du numéro de SITE_ID, fournit par PayZen
  • CERTIFICAT de production : il s’agit d’une clé de sécurité fournie par Payzen, utilisée quand vous êtes en mode production
  • Cartes de paiement : sélectionnez les cartes bancaires qu’il sera possible d’utiliser pour le paiement
  • Autres moyens de paiement : si vous avez souscrit les options correspondantes dans votre contrat PayZen, vous pouvez aussi sélectionner le paiement par SEPA. Ce moyen de paiement est présenté séparément des cartes bancaires dans le formulaire de paiement car il n’est pas régi par les mêmes règles légales.
  • Mode Test : cochez la case pendant la phase de test de votre boutique, pour vérifier son bon fonctionnement avec des CB ou un SEPA factices (aucun paiement n’est réalisé dans le mode test)
  • CERTIFICAT de test : il s’agit d’une clé de sécurité unique de marchand fournit par Payzen, utilisé quand vous êtes en mode test
  • URL Serveur : cette URL doit être renseignée dans l’interface d’administration de la banque
    Attention : l’URL contient un identifiant qui dépend de l’informations ID, renseignez la bien avant de copier cette URL dans l’interface d’administration de PayZen.

Récupération des informations clients

Il est possible de récupérer les informations fournies par la banque sur l’identité du client (lors des paiements par SEPA) dans la globale $GLOBALS['bank_session'].

Discussion

6 discussions

  • 1

    Bonjour,
    comme je suis surprise de recevoir un mail de la banque pour m’informer de mon paiement, je voulais savoir si il est obligatoire de donner ce genre d’information et transférer le mail du client à la banque ? Une option de confidentialité est-elle possible ?

    Il me semble que ça passe au formulaire <input type="hidden" name="vads_cust_email" value="client@example.com"> via vads_cust_email (presta/payzen/call/request.php)

    Merci de la réponse et de cette éventuelle possibilité de protection des données personnelles.

    • Après un essai de paiement réel avec la ligne 135 mise en commentaire sur

      #  'email' => 'vads_cust_email', 
      bank/v5.1.2/presta/payzen/call/request.php

      le paiement se fait bien sans avoir à envoyer le mail. (le site vendeur se charge de cet envoi et le site de la banque propose d’imprimer le reçu, donc c’est bien suffisant)
      Modalité du paiement : avec le plugin payzen branché sur labanquepostale avec un compte bancaire payeur CreditM et un 3Dsecure

      Donc, je vais attendre de voir si ça tourne avec d’autres paiements réels sous d’autres modalités et vous tiendrai au jus !
      ++

    Répondre à ce message

  • 1

    PayZen indique ici : https://lyra.com/fr/3d-secure-2-next/
    que la modification vers 3DS2.0 prévue en septembre 2019 est retardée.

    Je me demande tout de même si ce plugin SPIP PayZen fonctionnera toujours en l’état ? La même page indique ceci (mais je ne connais pas les technicités du plugin) :

    "Types d’intégration non compatibles 3DS2.0
        Votre intégration s’appuie sur nos API WebServices de type SOAP : ce type d’intégration n’est pas compatible 3DS 2.0. Vous devez modifier votre intégration.
        Votre intégration s’appuie sur le redirect en mode SILENT : ce type d’intégration n’est pas compatible 3DS 2.0 et ne sera plus supporté en mode 3DS 2.0. Vous devez changer votre intégration en vous appuyant par exemple sur l’api REST+Client JS."

    Merci

    • Oui : le plugin s’appuie « sur la redirection vers notre page de paiement (hors mode SILENT) » qui est tout a fait compatible avec 3DS2.

      Par ailleurs, le web service SOAP n’est utilisé que pour les résiliations d’abonnement, et le plugin supporte maintenant l’API REST de PayZen pour faire ça.

      Donc ça roule !

    Répondre à ce message

  • 3
    Etienne J

    Bonjour,

    Nous avons eu un bogue sur le formulaire de paiement qui vient d’être identifié et qui semble apparu avec les dernières mises à jour. Après moultes investigations, notre développeur pu trouver : cela provenait du nom du site qui était encodé en HTML au lieu de laisser les caractères bruts. Un mot du nom contenait un accent et créé donc un décalage dans la génération de la signature de paiement, créant ainsi un refus chez Payzen. Il a fallu corriger manuellement le module « Banque » pour pouvoir palier à ce problème dans ces fichiers :

    plugins/auto/bank/v4.3.4/presta/systempay/call/request.php

    => ligne 288, ajout d’un « html_entity_decode » sur toutes les valeurs du formulaire

    et plugins/auto/bank/v4.3.4/presta/systempay/inc/systempay.php

    => ligne 149 ajout d’un « utf8_encode » pour garantir l’affichage en UTF8.

    Nous ne savons cependant pas pourquoi ce bug ne remonte que maintenant, il doit être présent depuis la dernière mise à jour du module.

    • Bonjour Etienne,

      Effectivement il doit être là depuis le début, il n’a pas du se manifester chez les autres utilisateurs du module probablement pas d’accents ou caractères nécessitant utf8_encode o_O

      As-tu fait un Pull Request avec tes modifications pour prise en compte par Nursit ?

    • Etienne J

      Négatif, le développeur est un prestataire qui est seulement intervenu sur notre site internet.

    • Pour information j’ai a priori corrigé ce « bug » (que je mets entre guillemets car je suppute qu’il ne se produit que si on a fait de la bidouille sur le contenu de champs en SQL ou des problème de charsets) via un patch moins violent https://github.com/nursit/bank/commit/e10a5c8ddd4575902fb44c3844948d305b6f55bf

    Répondre à ce message

  • 2

    PayZen indique ici : https://lyra.com/fr/3d-secure-2-next/
    que la modification vers 3DS2.0 prévue en septembre 2019 est retardée.

    Je me demande tout de même si ce plugin SPIP PayZen fonctionnera toujours en l’état ? La même page indique ceci (mais je ne connais pas les technicités du plugin) :

    "Types d’intégration non compatibles 3DS2.0
        Votre intégration s’appuie sur nos API WebServices de type SOAP : ce type d’intégration n’est pas compatible 3DS 2.0. Vous devez modifier votre intégration.
        Votre intégration s’appuie sur le redirect en mode SILENT : ce type d’intégration n’est pas compatible 3DS 2.0 et ne sera plus supporté en mode 3DS 2.0. Vous devez changer votre intégration en vous appuyant par exemple sur l’api REST+Client JS."

    Merci

    • D’après les informations de la page https://lyra.com/fr/3d-secure-2-next/ l’intégration utilisée par le plugin est bien compatible 3DSv2.0 et le plugin continuera de fonctionner au mieux.

      Il faut savoir par ailleurs que dans le pire cas (si on avait pas une intégration compatible), cela ne bloquerait pas les paiements mais déclencherait simplement l’authentification type 3DS de manière systématique, sur tous les paiements, par sécurité — la banque n’ayant pas les informations nécessaires pour évaluer le niveau de risque du paiement et dispenser éventuellement la demande de paiement de cette sécurité supplémentaire.

    • Merci. La rentrée en sera plus calme !

    Répondre à ce message

  • 1
    Etienne J

    Bonjour,

    Après avoir procédé à une multitude de tests, l’extension Payzen est opérationnelle sur notre site. Mais j’airais souhaité réinitialiser l’interface de gestion pour y supprimer les transactions de test : quelqu’un pourrait-il m’indiquer l’objet de stockage de ces transactions ?

    Par avance, merci !

    • Etienne J

      Bon ben, je me répond à moi-même :-) j’ai eu l’idée ce matin de rechercher dans les sources de l’extension, j’ai trouvé où sont stockées les transactions : c’est la table spip_transactions. Au cas où cela intéresse quelqu’un d’autre ;-)

    Répondre à ce message

  • Bonjour à vous,
    Merci pour le(s) plugin(s) !

    Je souhaiterais mettre en place des abonnements avec Payzen.
    L’option récurrence du paiement coutant 40€ / mois, le coût n’est pas négligeable.

    La question que je me pose :
    la récurrence des abonnements est gérée coté site spip ou coté payzen ?

    Merci d’avance,

    Martin

    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