1. Installation dans PrestaShop

1.1 Exigences

  • PrestaShop version 1.4 au moins doit être installé.
  • Le serveur doit être accessible aux requêtes HTTP externes.

    Note : la validation du paiement ne fonctionnera pas correctement si par exemple votre site est en mode maintenance ou est protégé par l’authentification HTTP Basic.

1.2 Procédure d’installation

Le module d’extension PrestaShop Worldline est disponible sur la plate-forme PrestaShop Add-ons (https://addons.prestashop.com/en/payment-card-wallet/45466-ingenico-epayments-sca-ready.html) et ne nécessite aucune procédure d’installation particulière.

Attention : L’installation de ce plug-in de nouvelle génération ne prend actuellement pas en charge la migration des paramétrages et tokens des plug-in de générations antérieures. Les générations antérieures de notre plug-in Prestashop resteront à jour par rapport aux normes en vigueur les plus récentes.

Vous trouverez le module dans l’onglet “Modules” :

  • en cherchant dans le “Catalogue of modules and themes” avec PrestaShop 1.5 ou supérieur
  • en utilisant l’option “Add a module from PrestaShop Add-ons” avec Prestashop 1.4.
Pour activer les fonctionnalités DirectLink/Alias, activez les extensions PHP mcrypt, curl et simple xml.

Conformément aux normes de sécurité, le protocole TLS 1.2 doit être mis à disposition.


2. Configuration

2.1 Worldline Back Office

Connectez-vous à votre Back Office Worldline pour définir les paramètres requis.

Lors de votre première connexion sur votre compte, vous devez exécuter les étapes de configuration suivantes pour votre compte test :

  • Détails administratifs
  • Modes de paiement
  • Informations techniques
  • Demande d’activation

Si vous souhaitez modifier l’un ou l’autre détail alors que votre compte test a déjà été activé, vous pouvez naviguer sur les différentes pages de configuration via la menu de votre compte Worldline.

2.1.1 Informations techniques

Afin de pouvoir activer et utiliser l’extension, et de bénéficier de notre assistance si nécessaire, il est important de suivre les étapes décrites ci-dessous.

  1. Allez dans "Configuration" > "Information technique" > "Contrôle de données et d'origine" :

    1. Dans la section "Contrôles pour e-Commerce & Alias Gateway”, saisissez le code secret de votre choix dans le champ "Clé SHA-IN". Vous devrez également configurer le même code dans le Back Office PrestaShop. Pour vérifier les données qui sont transmises à notre système, notre plate-forme Worldline requiert la méthode SHA sécurisée de vérification des données.

      Champ Description
      SHASIGN Chaîne unique de caractères pour la validation des données de commande. Une chaîne hachée avec l’algorithme SHA-1 aura toujours une longueur de 40 caractères.
    2. Cliquez sur le bouton "Sauvegardez".
  2. Sélectionnez l’onglet "Paramètres de transaction globaux" :
    1. Dans la section "Code d'opération par défaut", sélectionnez "Vente".
    2. Dans la section “Procédure de télécollecte (paiement/data capture) par défaut", conservez la première option, car ce mécanisme n’est pas utilisé avec l’extension PrestaShop.
    3. Dans la section "Tentatives de paiement multiples", nous vous recommandons de changer la valeur pour 3 (au lieu de 10, la valeur par défaut).
    4. Dans la section “Traitement des transactions individuelles”, sélectionnez “Online mais basculer en offline durant les périodes d’indisponibilité du système acquéreur.”.
    5. Cliquez sur le bouton "Sauvegardez".
  3. Sélectionnez l’onglet "Paramètres globaux de sécurité" :
    1. Dans la section "Méthode de hachage", sélectionnez "SHA-1" comme algorithme de hachage (option "Algorithme de hachage") et "UTF-8" comme système d’encodage de caractères (option "Encodage des caractères").
    2. Dans la section "Modèle", sélectionnez "Oui" pour l’option "Activer le contrôle JavaScript sur le modèle" et “Non” pour l’option “Autoriser l'utilisation d'un modèle statique”.
    3. Cliquez sur le bouton "Sauvegardez".
  4. Sélectionnez l’onglet "Retour d'information sur la transaction" :
    1. Dans la sous-section "e-Commerce - Redirection HTTP dans le navigateur" :
      1. Dans chaque champ de redirection d’URL (Accepturl, Declineurl, Exceptionurl, Cancelurl), définissez la même valeur "YOUR_SHOP_URL/modules/ogone/confirmation.php ".
      2. Sélectionnez les options "Je veux recevoir les paramètres de transaction en retour dans les URL lors de la redirection." et "Je veux que Worldline affiche, sur la page de paiement, un message court à l’attention du client lorsqu'une redirection vers votre site est détectée juste après le processus de paiement.".
    2. Dans la sous-section "e-Commerce - Requête directe HTTP serveur-à-serveur" :
      1. Sélectionnez "En ligne, mais différer la requête lorsque les requêtes en ligne échouent.”
      2. Dans les deux champs "URL de la page post-paiement du marchand", définissez la valeur "YOUR_SHOP_URL/modules/ogone/validation.php".
      3. Sélectionnez "GET" dans le champ "Méthode de la requête".
    3. Dans la sous-section "Paramètres dynamiques du commerce en ligne", sélectionnez tous les paramètres disponibles.

    4. Dans « Direct HTTP server-to-server request», saisissez l'URL suivant dans « If the payment's status is ‘accepted’, ‘on hold’ or ‘uncertain’. / « If the payment's status is ‘cancelled by the client’ or ‘too many rejections by the acquirer’ ».
      1. Pour les versions du plugin jusqu’à la version 1.6.X : YOUR_SHOP_URL/modules/ogone/validation.php
      2. Pour les versions du plugin ultérieures à la version 1.6.X : YOUR_SHOP_URL/module/ogone/notify
    5. Dans « All transaction submission modes», saisissez l’URL suivant dans « HTTP request for status changes » > URL on which the merchant wishes to receive a deferred HTTP request, should the status of a transaction change offline :
      1. Pour les versions du plugin jusqu’à la version 1.6.X : YOUR_SHOP_URL/modules/ogone/validation.php
      2. Pour les versions du plugin ultérieures à la version 1.6.X : YOUR_SHOP_URL/module/ogone/notify
    6. Dans la section “Général”, sélectionnez "Je veux que Worldline affiche un message d’attente de traitement au client pendant le traitement du paiement.".
    7. Dans la sous-section "Tous les modes de soumission - Sécurité pour les paramètres de la requête", complétez le champ "Clé SHA-OUT". Le code "Clé SHA-OUT" doit être identique au code Clé SHA-IN saisi précédemment.
    8. Dans la sous-section "Tous les modes de soumission - Requête http pour les changements de statut", sélectionnez "Lors de tous les changements de statut offline (paiement, annulation...)." et définissez la valeur "YOUR_SHOP_URL/modules/ogone/validation.php".
    9. Cliquez sur le bouton "Sauvegardez".
  5. Sélectionnez l’onglet "E-mails de transaction" :

    Dans la section "E-mails pour le marchand", procédez comme suit (facultatif) si vous souhaitez recevoir un e-mail pour toute notification de transaction :

      1. Complétez votre adresse électronique.
      2. Sélectionnez "Oui, pour tous les modes de soumission de transactions." pour l’option "Recevoir les e-mails de confirmation de transaction".
      3. Sélectionnez "Oui, lors de tous les changements de statut hors ligne (paiement, annulation, etc.)." pour l’option "Recevoir des e-mails en cas de changement de statut de transaction hors ligne".
      4. Cliquez sur le bouton "Sauvegardez".
  6. Sélectionnez l’onglet "Info de test".

    Dans la section "Info de test", sélectionnez l’option "Je veux simuler les résultats des transactions sur la base du numéro de carte.".

2.1.2 Configuration du module - Ingenico

Pour utiliser les fonctionnalités avancées, DirectLink doit être activité et configuré, et assigné à un utilisateur dédié.


Onglet Champ Valeur Remarques
Vérification des données et de l’origine

URL de la page du commerçant contenant le formulaire de paiement qui appellera la page: orderstandard.asp

[EMPTY]


Code SHA-IN



Vérifications Ogone DirectLink et Ogone Batch (automatiques) [Server’s IP] Affichage sur la page de configuration PrestaShop sous l’onglet Configuration

Code SHA-IN [PASSPHRASE]

Retour de transaction



Accepturl [http://shopurl.com]/modules/ogone/confirmation.php Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration


Declineurl

[http://shopurl.com]/modules/ogone/confirmation.php
Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration


Exception

[http://shopurl.com]/modules/ogone/confirmation.php
Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration


Cancelurl

[http://shopurl.com]/modules/ogone/confirmation.php
Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration
Réception des paramètres de retour de transaction sur les URL de redirection [YES]
Demande HTTP directe de serveur à serveur
Moment de la demande
Online but switch to a deferred request when the online requests fail.

Si le statut du paiement est « accepted » (accepté), « on hold » (en attente) ou « uncertain » (incertain).

[http://shopurl.com]/modules/ogone/validation.php Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration

Si le statut du paiement est « cancelled by the client » (annulé par le client) ou « too many rejections by the acquirer » (trop de rejets par l'acheteur).

[http://shopurl.com]/modules/ogone/validation.php Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration
Méthode de demande
GET
Demande HTTP de changement de statut
For each offline status change (payment, cancellation, etc.).

L’URL dans laquelle le commerçant souhaite recevoir une demande HTTP différée en cas de changement de statut hors ligne d’une transaction.

[http://shopurl.com]/modules/ogone/validation.php Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration
Paramètres e-Commerce dynamiques
ACCEPTANCE
AMOUNT
BRAND
CARDNO
CURRENCY
NCERROR
ORDERID
PAYID
PM, STATUS

Alias Gateway et tokénisation
Paramètres dynamiques

ALIAS.ALIASID
CARD.BRAND
CARD.CARDNUMBER
CARD.CARDHOLDERNAME
CARD.EXPIRYDATE
ALIAS.NCERROR
ALIAS.STATUS
ALIAS.STOREPERMANENTLY
Si un alias est nécessaire
Généralités
I would like Ogone to re-launch the "end of transaction"
(post-payment request/redirection) process if required.
Code SHA-OUT [PASSPHRASE]
Demande HTTP de changement de statut For each offline status change (payment, cancellation, etc.).
L’URL dans laquelle le commerçant souhaite recevoir une demande HTTP différée en cas de changement de statut hors ligne d’une transaction.
[http://shopurl.com]/modules/ogone/validation.php Les URL s’affichent dans le BO PrestaShop sous l’onglet Configuration
DirectLink
Paramètres dynamiques
ACCEPTANCE
ALIAS
AMOUNT
BRAND
CREATION_STATUS
CURRENCY
ECI
NCERROR
NCERRORPLUS
NCSTATUS
ORDERID
PAYID
PM
STATUS. SUBSCRIPTION_ID
VALID
VC
SCO_CATEGORY
SCORING


2.2 Back Office PrestaShop

Une fois l’extension installée, exécutez les étapes suivantes :

  1. Connectez-vous à votre Back Office PrestaShop.
  2. Allez dans "Module" > "Payment" > "Worldline".
  3. Cliquez sur l’onglet “Configuration”.
  4. Sélectionnez l’option et complétez les informations suivantes.
Paramètre Description
PSPID Définissez le PSPID de votre compte Ogone. Vérifiez si les deux comptes (Test et Production) ont été créés.
SHA-IN Pass phrase Définissez le code SHA-IN que vous avez configuré dans votre Back Office Worldline à la section "Technical information" > "Data and origin verification".
Attention : le code SHA-IN peut être différent pour le mode Test et Production.
SHA-OUT Pass phrase Définissez le code SHA-OUT que vous avez configuré dans votre Back Office Worldline à la section "Technical information" > "Transaction feedback".
Attention : le code SHA-OUT peut être différent pour le mode Test et Production.
Mode Test ou Production

Configuration du Back Office PrestaShop

2.2.1 Configuration du module - PrestaShop

Remarques générales:

Les informations supplémentaires qui s’affichent dans la page de configuration du module sont des messages liés à des erreurs de configuration. Ces messages sont de quatre types : d’erreur, d’avertissement, de notification et de réussite.

Pour plusieurs magasins, la configuration est liée au contexte d’un magasin spécifique. Si la configuration est différente pour chaque magasin, nous conseillons de les configurer séparément. Un message d’avertissement exhortera les commerçants à en vérifier l’exactitude si la configuration diffère pour chaque magasin.


3. Utilisation du module - Back Office PrestaShop

Un nouvel onglet de la vue Commande du BO PrestaShop permet d’afficher la catégorie de notation des fraudes ainsi que les formulaires de capture et de remboursement.

La capture est limitée au montant de la commande moins les captures faites (transaction réussie avec statut 9) et les captures en attente. Le remboursement est limité au montant payé de la commande moins les remboursements faits (transaction réussie avec statut 8) et les captures en attente. La notation s’affiche si l’option correspondante est cochée dans la page de configuration du module. Actuellement, seule la catégorie de notation (Vert/Orange/Rouge) s’affiche. Pour utiliser cette fonctionnalité, DirectLink doit être activé. En cas de remboursement ou de capture, une notification privée se trouve dans le bloc des messages de la commande. Le remboursement ou la capture sont validés lorsque le serveur Ingenico fait une demande HTTP directe. Il y a un délai d’environ 10-15 minutes entre l’opération de lancement et la confirmation.Lorsque le premier paiement est capturé, le statut passe à « traitement du paiement ». Chaque paiement est enregistré séparément. Lorsque le montant capturé correspond au montant total de la commande, le statut de la commande est mis à jour pour devenir « paiement accepté ». Un nouvel onglet dans le BO (Commandes -> Transactions Ingenico ePayments) permet de visualiser toutes les transactions enregistrées via PrestaShop (validation de paiement, changement de statut).

Cliquez sur la ligne de la transaction ou sur le bouton « View » (Afficher) pour afficher les informations sur la transaction.

Un nouvel onglet dans le BO (Commandes -> Commandes Ingenico ePayments) résume toutes les commandes payées avec le module Ingenico.


4. Utilisation du module - Front Office PrestaShop

Un nouvel onglet « My Payment Means » (Mes moyens de paiement) est disponible dans la section « My account « (Mon compte) lorsque l’utilisation de l’alias est activée. Lorsque l’alias est créé, il s’affiche dans cette section.

Les alias peuvent être créés directement dans la section de paiement ou dans la section « My payment means » et supprimés en cliquant sur l’icône de poubelle située en haut à gauche. Ils ne peuvent être modifiés.
Dans les deux cas, ils sont créés via FlexCheckout (page de tokénisation hébergée) et intégrés via iframe.
Certains paramètres de sécurité ou programmes antivirus peuvent bloquer l’affichage de FlexCheckout. Lorsque le formulaire intégré est traité, le résultat de l’opération s’affiche dans le même iframe. Si l’opération réussit, la redirection (selon le contexte) affiche l’alias récemment ajouté et (si configuré pour le faire) exécute le paiement. Cette redirection est exécutée avec JavaScript ; si JavaScript est désactivé ou erroné sur la page, la redirection fonctionnera mal (bien que l’alias soit enregistré et visible après actualisation de la page).
En cas d'erreur, celle-ci s’affiche dans une fenêtre rouge et la redirection ne se fera pas, permettant à l’utilisateur de transférer les messages d'erreur aux commerçants.
Les noms d’alias sont générés de manière semi-aléatoire au format <number>_<hex digits>, où le nombre correspond à l’identifiant interne du client de PrestaShop.
Les alias sont enregistrés dans la base de données et le nom d’alias est crypté (à l’aide du cryptage PrestaShop natif).

Page de choix du paiement

Tous les moyens de paiement sont affichés dans l’ordre suivant :

  • alias utilisateur existant (si la confirmation de paiement est désactivée, « Immediate payment » (Paiement immédiat) s’affiche)
  • iframe(s) FlexCheckout
  • moyens de paiement prédéfinis
  • paiement de secours (redirige vers l’interface e-Commerce générique, où les utilisateurs peuvent faire leur choix parmi tous les moyens de paiement disponibles)

Paiement par alias

Si l’alias est enregistré, il sera visible sur votre page de choix de paiement (à l’exception des paiements créés sur la page de sélection de paiement si l’option « Do not store alias » (Ne pas enregistrer l’alias) est cochée).
Si l’option « Skip confirmation » (Ignorer la confirmation) n’est pas cochée, l’étape de confirmation s’affichera après avoir choisi le paiement par alias.

Si l’option « Skip confirmation » (Ignorer la confirmation) est cochée, l’étape de confirmation sera ignorée. « Immediate payment » (Paiement immédiat) s’affiche dans la fenêtre des moyens de paiement de la page de sélection de paiement.

Ajout d’un alias sur la page de paiement

FlexCheckout est intégré sur la page de sélection de paiement, permettant de créer l’alias sans accéder à une section dédiée de « My account » (Mon compte). Deux actions seront possibles après la création de l’alias (via FlexCheckout) :

  • si l’option « Make immediate payment » (Effectuer un paiement immédiat) est cochée, le paiement par alias sera exécuté immédiatement après la création de l’alias (affichant l’étape de confirmation ou faisant un paiement direct, selon l’option « Skip confirmation » (Ignorer la confirmation))
  • si l’option « Make immediate payment » N’est PAS cochée, la page de paiement sera rechargée et offrira à l’utilisateur la possibilité d’utiliser un alias récemment créé.

Si l’option « Do not store alias » (Ne pas enregistrer l’alias) est cochée, des alias temporaires s’afficheront sur la page de sélection de paiement pendant deux heures.

3-D Secure

Lorsque l’utilisation de 3-D Secure avec alias est activée, 3-D Secure est lancé à la fin du processus (après l’étape de confirmation). 3-D Secure peut s’afficher dans une fenêtre principale ou contextuelle.


5. Disclaimer

Copyright © 2016 Ingenico ePayments .

Toutes les marques déposées, marques de service et appellations commerciales auxquelles il est fait référence dans le présent document sont la propriété de leurs titulaires respectifs. Les informations contenues dans le présent document sont fournies par courtoisie et ne sont destinées qu'à des fins d'information générale. La présente information ne prétend pas fournir une description complète des règles, politiques et procédures applicables. Les points auxquels il est fait référence sont susceptibles d'être modifiés ponctuellement, et les circonstances peuvent varier.

Ingenico ePayments décline toute responsabilité concernant toute information inexacte ou incomplète. Les informations contenues dans le présent document comportent, entre autres, une compilation d'informations reçues de tiers, lesquelles sont et resteront la propriété de leurs titulaires respectifs. Aucune information de cette présentation n'a pour objectif de compléter, amender ou modifier un contrat, une règle ou un règlement, quel qu'il soit.

Ingenico ePayments a accordé une attention particulière au contenu de la présente information mais ne donne aucune garantie ni ne fait de déclaration quant à son exactitude ou son intégralité. Ni Ingenico ePayments , ni aucune de ses sociétés affiliées ne seront responsables des frais, pertes et/ou dommages découlant de l'accès au contenu du présent document ou de son utilisation. Étant donné la complexité du processus et le droit des banques de modifier les conditions, le présent document ne peut servir que comme description et est susceptible d'être révisé ultérieurement.

L'extension à laquelle il est fait référence dans le présent document a été développée en tant que solution générique. Ingenico ePayments ne sera pas tenue responsable des dommages causés par l'extension. Si l'extension devait être modifiée par un utilisateur d'une quelconque façon, Ingenico ePayments ne sera pas tenue responsable des dommages causés par la modification de l'extension. La description de l'extension dans le présent document est fournie à des fins pratiques uniquement et Ingenico ePayments ne donne aucune garantie ni ne fait de déclaration quant à l'utilisation ou au fonctionnement de l'extension. Ni Ingenico ePayments ni aucune de ses sociétés affiliées ne seront responsables des frais, pertes et/ou dommages découlant de l'accès à l'extension ou de son utilisation.