Modules de paiement sécurisés (3/5)

PHP Ajouter un commentaire

Suite du tour d’horizon des paiements électroniques avec le 3ème module français : SPPlus.

SPPlus est commercialisé par la Caisse d’Epargne. Hormis le cas particulier d’avoir un compte entreprise dans cette banque, il y a normalement peu de chances que vous soyez concerné par ce module.

Cependant, vous pourriez y trouver un bon intérêt car ce système de paiement offre des fonctionnalités assez intéressantes :

  • support des grandes cartes du marché français (CB, Visa, Mastercard, Amex, Diner’s Card)
  • support de quelques cartes de crédit à la consommation (Cofinoga, Aurore)
  • paiement par chèque
  • système de paiement multiple très poussé : paiement en N fois, abonnement, acomptes…

Le principe, à l’instar des deux modules évoqués précédemment, repose sur :

  • une requête envoyée au serveur bancaire avec une clé de hachage (sceau),
  • une communication après paiement directement entre le serveur bancaire et le site Internet
  • une redirection de l’utilisateur vers une URL du site une fois le paiement effectué et la validation banque/site Internet terminée

Sur la partie technique, les informations du marchand (une clé et un code SIRET) servent d’informations pour les hachages envoyés au serveur et au retour pour le décryptage.

SPPlus est livré avec un kit PHP comportant une extension à installer. Après un rapide coup d’oeil sur le module en détails, on se rend compte qu’il se réduit à faire des hachages dans des fonctions natives, plutôt qu’en pur PHP (comme avec P@iement CIC par exemple). Attention donc si vous devez l’utiliser en environnement mutualisé, vous risquez d’avoir besoin de charger le module à la volée (si les permissions le permettent).
A noter : le kit existe également pour Java et C notamment. Ce qui donne une bonne indication sur la possibilité d’intégration pour des appareils mobiles.

Deux petits “plus” par rapport aux concurrents : la liste des IP des serveurs bancaires est connue et le script d’exemple fourni effectue un test sur $_SERVER['REMOTE_ADDR'] sur ces IP. Le test a une fiabilité relative, les variables $_SERVER étant toujours potentiellement piratables, il peut être judicieux de rajouter une petite sécurité supplémentaires en mettant une restriction à ces adresses dans un vrai pare-feu.

D’autre part, le site fournit des URLs pour effectuer quelques actions de paiement, ou traitement de paiement à distance, ce qui peut faciliter l’intégration dans une admin. Sur cette seconde fonctionnalité je suis extrêmement perplexe, car le script d’exemple laisse la clé directement dans le fichier PHP. Un pirate qui récupère le fichier à la main pour créer des paiements à sa guise… gloups. Assurez-vous dans tous les cas de mettre la clé en lieu sûr sur le serveur (non accessible par le web de préférence).

Les plus

  • Paiement rapide à intégrer
  • Documentation clean et efficace
  • Les fonctionnalités de paiement en N fois / par abonnement
  • La liste des IP des serveurs bancaires
  • L’administration distante, pratique pour l’intégration du backoffice de paiement dans le site.

Les moins

  • Le module PHP avec des fonctions de hachage dedans… est-ce vraiment nécessaire ?
  • Clés marchand à sortir des scripts et à mettre dans un endroit plus sûr
  • Réservé aux écureuils ;-)

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in