Datatrans
PepperShop avec Datatrans
La connexion avec le prestataire de services de paiement Datatrans est déjà intégrée et gratuite dans le PepperShop. Chaque nouvelle version de la boutique apporte une interface actualisée à Datatrans dès le premier jour.
Ces instructions expliquent comment configurer et traiter les paiements électroniques qui sont enregistrés et traités par Datatrans. C’est l’un des meilleurs terminaux de paiement et des plus faciles à utiliser dans le commerce électronique. De plus, vous avez le choix entre de nombreux moyens de paiement.
Informations sur la connexion Datatrans :
- Datatrans s’utilise depuis longtemps dans le PepperShop et ce depuis la version 2.5.1.
- Info : avec le module supplémentaire optionnel Datatrans Advanced Module, le Datatrans hiddenMode peut être utilisé avec la carte de crédit alias et ELV, de sorte que les données de carte ne doivent pas être saisies de nouveau lors d’un nouvel achat. Ce module est payant et nécessite une certification PCI du système de la boutique ainsi qu’un certificat SSL/TLS valide.
Cette documentation et l’implémentation de PepperShop se réfèrent au Guide d’implémentation technique de Datatrans eCom pour les API de paiement jusqu'à la version 9.2.15.
Configuration
Pour utiliser Datatrans avec le PepperShop, vous devez avoir un contrat E-Com Starter ou Professiona-Abo valide avec Datatrans. Cela implique également un ou plusieurs contrats de vente par correspondance avec les établissements de cartes de crédit eux-mêmes.
Paramètres de base de PepperShop
Tout d’abord, vous configurez les paramètres de base dans le PepperShop. Pour cela, vous devez aller dans “Administration de la boutique” puis dans “Paramètres de la boutique” → “Paramètres généraux” → “Modes de paiement”. Vous pouvez y stocker les informations de Datatrans et contrôler les modes de paiement.
Par exemple, une capture d'écran de ce masque a été insérée plus loin dans l’illustration 1.
Comme vous pouvez le voir, vous devez activer les modes de paiement électroniques (par exemple, les cartes de crédit). Cet exemple montre une présélection d’options (VISA…PostFinance). Vous pouvez également utiliser un nom générique pour toutes les cartes de crédit, par exemple en entrant un nom comme “Carte de crédit” dans le premier champ de l’institut.
Ensuite, activez tous les enregistrements des instituts à utiliser et “Utilisez Datatrans comme handling”.
Vous trouverez ci-dessous les paramètres spécifiques à Datatrans. Ici, vous devez entrer votre numéro de merchand (obtenu auprès de Datatrans et parfois appelé numéro de partenaire), si vous avez un contrat de commerce électronique et un contrat supplémentaire de vente par correspondance ou par téléphone, vous devez utiliser le numéro de merchand du contrat de commerce électronique.
L'élément de sécurité supplémentaire généré par Datatrans est inséré dans le champ de saisie Sign / HMAC. Il s’agit d’un nombre plus long (signe) ou d’un texte de 128 caractères. L'élément de sécurité doit d’abord être créé dans le backoffice de Datatrans, voir chapitre 1.3.
Ici, dans notre exemple, nous avons désactivé le paramètre “Auto Settlement” (règlement automatique). “Auto Settlement” garantit que les encaissements sont non seulement autorisés, mais aussi imputés immédiatement. Ceci est important car cela peut éviter des frais de présentation tardive de la part du partenaire acquéreur. En fin de compte, chaque propriétaire de boutique doit décider par lui-même s’il veut seulement autoriser ou imputer immédiatement. Dans le cas d’une autorisation, le montant peut être corrigé ultérieurement vers le bas dans le back office Datatrans. Ceci est utilisé, par exemple, si vous n’avez pas certaines marchandises en stock.
Paramètres de base de Datatrans UPP
Maintenant, vous devriez allez dans l’administration de Datatrans UPP (comment ? où ? les détails et le lien viendront bientôt…). UPP signifie Universal Payment Page et décrit le masque flexible de saisie des paiements et ses mécanismes.
Le PepperShop offre une aide à la saisie pour les paramètres nécessaires. Dans “Administration de la boutique”, allez dans “Paramètres de la boutique” → “Paramètres généraux” → “Modes de paiement”. Dans ce masque via “Datatrans” vous n’avez qu'à cliquer sur le lien “Informations requises pour remplir les données UPP”.
Ici, vous pouvez voir toutes les données nécessaires à l’administration de UPP. En haut au milieu se trouve le lien vers l’administration de l’UPP, que vous devriez suivre maintenant.
Ici, vous sélectionnez d’abord “Administration UPP” (au-dessus), puis allez sur “Données UPP”. L’illustration 2 montre un exemple de capture d'écran du masque UPP du backoffice de Datatrans. Vous voyez maintenant l’illustration suivante (sans données complétées) :
Vous pouvez maintenant copier les chemins d’accès individuels depuis l’aide PepperShop et les coller ici. Veuillez également noter que le format des données URL post est saisi dans “Données dans le format post”. (Info : Le format XML n’offrait pas la même fonctionnalité au moment de l’implémentation et n’a donc pas été implémenté en premier lieu).
Dans le Designer UPP, vous pouvez ajuster le CI/CD en fonction des couleurs utilisées dans la boutique.
Veuillez vous assurer qu’aucun élément de sécurité n’est actuellement sélectionné dans la section Sécurité (sélection ci-dessus). → Si ce n’est pas le cas, vous devez d’abord regarder la configuration avancée.
Paramètres de base de sécurité de Datatrans
Si vous êtes connecté à l’administration UPP comme décrit au chapitre 1.2, vous pouvez accéder à la configuration des éléments de sécurité pour le transfert de paramètres via les rubriques Administration UPP → Sécurité.
Le PepperShop prend en charge les trois niveaux de sécurité proposés par Datatrans. Vous pouvez facilement saisir l'élément de sécurité via l’administration dans la boutique. Nous vous recommandons d’utiliser la clé HMAC. Pour ce faire, vous devez activer le bouton radio sur l'élément de sécurité inférieur et cliquer sur le bouton “Générer une nouvelle clé”. Une nouvelle valeur (128 caractères) apparaît maintenant à sa gauche dans le champ de saisie de texte. Ce paramètre est maintenant sauvegardé en cliquant sur le bouton “Confirmer” en bas à droite. Veuillez régler le paramètre “Utiliser une autre clé pour signe2” sur NON.
Vous êtes maintenant invité à confirmer ce paramètre avec le mot de passe.
Configuration du type de carte de crédit Présélection
Le PepperShop offre aux clients deux façons de choisir leur type de carte de crédit (VISA, Mastercard, ….) :
Présélection dans le PepperShop
Avec cette variante, le client voit apparaître une présélection des types de cartes de crédit au niveau de la caisse, la sélection du mode de paiement se fait via le menu déroulant. Vous pouvez également afficher les modes de paiement individuels comme vos propres modes de paiement. Voici un exemple :
Les cartes que vous souhaitez spécifier peuvent être définies dans l’administration de la boutique sous Paramètres de la boutique → Paramètres généraux → Modes de paiement → Voir illustration 1, entre autres, les textes suivants peuvent être utilisés :
- VISA
- Eurocard/Mastercard ou Mastercard
- American Express
- Diners Club
- PostFinance ou PostFinance Card
- PayPal
Attention aux majuscules/minuscules, seuls les termes ici mentionnés seront reconnus pour créer une présélection de type carte de crédit dans le PepperShop ou dans la liste de sélection.
Une liste de tous les noms s’affiche lorsque vous cliquez sur “Paramètres de la boutique”/“Paramètres généraux”/“Mode de paiement” dans les paramètres de Datatrans (configuration actuelle)
Remarque : si vous présélectionnez un type de carte de crédit qui n’est pas activé chez Datatrans, vous serez automatiquement dirigé vers la page d’erreur lorsque vous entrerez dans la fenêtre de saisie de paiement de Datatrans. Cela se produit également si, par exemple, le signe est erroné ou si vous essayez d’exécuter une transaction dans une devise non prise en charge.
Sélection du mode de paiement spécifique
Vous pouvez soit n’afficher qu’un seul point comme mode de paiement dans la caisse du client acheteur, c’est généralement la valeur par défaut, si UPP n’est pas cachée (explication voir chapitre 6). Ensuite, le client choisit par exemple “Carte de crédit” et est redirigé vers la fenêtre de paiement de Datatrans. Ici, il voit d’abord les modes de paiement disponibles pour la sélection et choisit l’un d’entre eux.
Configuration avancée
Les paramètres les plus importants de Datatrans peuvent être effectués simplement via l’interface GUI. Le PepperShop vous permet aussi d’effectuer des paramètres détaillés qui se font directement dans le tableau de configuration Array de Datatrans (PHP) dans le fichier {shopdir}/shop/datransconfig.php
. Vous pouvez voir ici une vue d’ensemble des paramètres possibles :
<?php
// =============================================================================================
// DEMANDE D'AUTORISATION DE DATATATRANS VARIABLEN (ne pas modifier la commande !)
// =============================================================================================
// Attribuer les données de lecture (1=>Login,3=>Password,5=>Account-ID) / Créer la configuration
$datatrans_config["login"] = $db_daten[3] ; // Nom de login unique attribué par Datatrans // Non utilisé pour le moment
$datatrans_config["passwort"] = $db_daten[5] ; // Mot de passe unique fourni par Datatrans // Non utilisé pour le moment
$datatrans_config["merchantId"] = $db_daten[1] ; // ID marchand unique attribué par Datatrans
$datatrans_config["currency"] = $waehrung ; // Currency (Swiss Franc = CHF, Euro = EUR) / ISO-4217 compliant
$datatrans_config["language"] = $sprache ; // Si possible : langue active, sinon langue par défaut.
$datatrans_config["successUrl"] = get_datatrans_success_url($close_iframe_param) ; // Success : Lien vers l'exécution de la commande
$datatrans_config["errorUrl"] = get_datatrans_error_url($close_iframe_param) ; // Erreur : Lien vers la page de message d'erreur
$datatrans_config["cancelUrl"] = get_datatrans_cancel_url($close_iframe_param) ; // abort -> link back to checkout
$datatrans_config["reqtype"] = $request_type ; // Par défaut = no
$datatrans_config["testOnly"] ='no' ; // Possibilités:'yes' ou'no'. Si = oui, le mode de test en boucle est activé.
$datatrans_config["refno"] = substr($myReferenz_Nr.$trh_id,0,18) ; // Numéro de référence de commande PepperShop + Référence du gestionnaire de transaction optionnel
$datatrans_config["sign_simple"] = $signs_data["sign_simple"] ; // Si utilisé dans UPP Security (Niveau 1) : Identification supplémentaire du commerçant
$datatrans_config["sign_hmac_md5"] = $signs_data["sign_hmac_md5"] ; // Si sécurité UPP (Niveau 2) : les paramètres sont signés dans la clé HMAC (en Hex)
$datatrans_config["paymentmethod"] = get_datatrans_pmethod($Kreditkarten_Hersteller) ; // Pré-sélectionnez KK, selon le fabricant KK transféré
$datatrans_config["pos_payment_type"] = get_datatrans_pos_payment_type($Kreditkarten_Hersteller) ; // Faire la présélection du type de paiement PostFinance
$datatrans_config["useAlias"] = datatrans_check_alias($datatrans_config["paymentmethod"]) ; // Get alias Use
if (!defined('ADMIN_MODE') || ADMIN_MODE == false) $datatrans_config["hiddenMode"] = datatrans_check_hidden_mode() ; // Get HiddenMode Use
$datatrans_config["uppMobileMode"] = $upp_mobile_mode ; // "on" ou non transféré pour redimensionnement vers les écrans mobiles
$datatrans_config["useTouchUI"] ='auto' ; // "yes", "auto", "no" - Touch Device ?
// $datatrans_config["sign"] = ''' ; // Sera d'abord compilé dans datatrans_interface.php
// =============================================================================================
// TRANSACTIONSPROXY VARIABLEN (ne pas modifier l'ordre !)
// =============================================================================================
$datatrans_config['proxy_go_to'] ='https://'.DATATRANS_PAYMENT_HOST.'/upp/jsp/upStart.jsp' ; // Script pour communication avec Datatrans via UTF-8
$datatrans_config['proxy_charset'] ='utf-8' ; // jeu de caractères que le proxy de transaction doit utiliser (Datatrans requiert UTF-8)
$datatrans_config['proxy_utf8_encode_vars'] ='true' ; // jeu de caractères à utiliser par le proxy de transaction (Datatrans requiert UTF-8)
$datatrans_config['proxy_go_to'] ='https://payment.datatrans.biz/upp/jsp/upStartIso.jsp' ; // Script pour comm. avec Datatrans via ISO
// $datatrans_config['proxy_charset'] ='iso-8859-1' ; // jeu de caractères que le proxy de transaction doit utiliser
$datatrans_config['proxy_lang'] = $sprache ; // langue que le proxy de transaction doit utiliser
$datatrans_config['proxy_referencenr'] = $myReferenz_Nr ; // Numéro de référence de la commande évalué par transaction proxy
$datatrans_config['proxy_transaction_info'] ='datatrans' ; // chaîne pour décrire le type de transaction
$datatrans_config['proxy_use_get_only'] ='true' ; // Mais nous voulons d'abord utiliser tous les paramètres passés via GET comme POST.
$datatrans_config['proxy_block_get'] ='true' ; // Nous voulons avoir un POST pur, pas un mix GET/POST
$datatrans_config['proxy_connect_customer_and_order'] ='true' ; // Nous voulons que la commande soit connectée au client (customermgmt), Attention : uniquement valable pour les paiements en mode standard. Les paiements en mode caché ne sont jamais liés (puisqu'aucun proxy TR !)
$datatrans_config['proxy_onclose_back_to_kasse'] ='false' ; // Si la fenêtre popup est fermée, elle ira automatiquement à la caisse - ATTENTION !
// =============================================================================================
// PEPPERSHOP VARIABLEN (ne pas modifier la commande !)
// =============================================================================================
$datatrans_config["randomNr"] = $zufallszahl ; // Numéro aléatoire PepperShop pour cette transaction
$datatrans_config["check_random_nr"] = false ; // Si = true, check random number (est obsolète, veuillez utiliser HMAC !)
$datatrans_config["check_trusted_hosts"] = false ; // Si = true, l'expéditeur des messages PostURL est vérifié par rapport à une liste blanche IP
Sécurité
Datatrans offre différents niveaux de sécurité, que vous devez modifier :
- Niveau de sécurité 0 : pas d’attributs de sécurité supplémentaires, mais le PepperShop offre déjà quelques contrôles : comparaison d’expéditeur Host, comparaison de nombres aléatoires, message Post caché (non recommandé !)
- Niveau de sécurité 1: une constante est saisie en plus. Elle est convenue dans “Gestion UPP” → Sécurité comme sign et peut être spécifié dans l ‘administration de la boutique sous “Paramètres généraux de la boutique” et “Paramètres Datatrans”. Pour plus de détails, voir chapitre 1.3.
- Niveau de sécurité 2 : ici, les attributs importants de l’autorisation sont fournis avec un hachage MD5 (votre clé HMAC) et envoyés, de sorte qu’un changement dans les données (attaque Man-In-The-Middle) serait reconnu immédiatement. La clé HMAC pour créer un cryptage HMAC-MD5 peut être obtenue auprès de la Gestion UPP → Sécurité. Info : le PepperShop ne peut gérer qu’une seule clé pour le moment, veuillez ne pas choisir deux clés différentes. (Nous vous recommandons le niveau 2)
Info : vous trouverez plus de détails sur les niveaux de sécurité dans le manuel Datatrans eCom Technical Implementation Guide For Universal Payment Page (UPP)’ v.8.13 aux pages 30 et suivantes.
Attribuer les paiements
Si vous achetez maintenant par carte de crédit (via Datatrans) dans le PepperShop, l’administrateur reçoit un aperçu de la commande dans la “Gestion des clients”. Les détails de Datatrans sont affichés ici (et non dans l’e-mail). Le chemin est le suivant : “Administration de la boutique” → “Clients/commandes” → Gestion des clients” → “Recherche des clients” → Lettre du nom du client → Clients → Commandes → “Ouvrir la dernière commande par carte de crédit”, exemple :
Il est important que le paiement reçu puisse également être affecté au paiement reçu dans le back office de Datatrans. Comme vous pouvez le constater, chaque paiement Datatrans reçu est accompagné d’une information de paiement. Il se compose de trois parties :
ECA
= Eurocard/MasterCard et correspond à la carte de crédit utilisée. Possibilités :VIS
= VISAECA
= Eurocard/Mastercard ou Mastercard (MPW
= MasterPass Wallet)AMX
= American ExpressDIN
= Diners ClubPOS
= PostFinance (PostFinance Card et PostFinance e-finance)PAP
= PayPalTWI
= Portefeuille TWINTPSC
= PaysafecardDIB
= Virement bancaire immédiatPFC
= PostFinance Card (PEF
= PostFinance e-finance)ESY
= Swisscom Easypay / Natel Pay (fonctionne uniquement avec Auto-Settlement = activé)- …
- Le deuxième chiffre correspond au code d’autorisation de Datatrans.
- Le troisième numéro est le code d’autorisation de l’acquéreur et se trouve dans le Backoffice (Datatrans Backoffice : http://payment.datatrans.biz/) sous Autorisation Code :
Bien sûr, le numéro de référence du PepperShop décrit est d’une grande aide. Ce sont les premiers caractères jusqu’au premier soulignements lorsque le gestionnaire de transactions est activé(_). Le gestionnaire de transactions est contrôlé par une directive de configuration. Dans l'éditeur de configuration (Paramètres du magasin - Configuration du magasin - Configuration - “Afficher et modifier les constantes de contrôle de ce magasin” - Éditeur de configuration):
<?php
define('DATATRANS_USE_TRANSACTION_HANDLER', true) ; // Si la connexion Datatrans doit utiliser le gestionnaire de transactions (numéro de référence unique)
Logging
Nous vous recommandons fortement d’activer le journal des transactions du PepperShop. Ainsi, vous gardez toujours un œil sur tout, même dans les situations problématiques.
Dans l'éditeur de configuration (Paramètres du magasin - Configuration du magasin - Configuration - “Afficher et modifier les constantes de contrôle de ce magasin” - Éditeur de configuration) contient les deux directives de configuration suivantes :
<?php
define('DATATRANS_LOG','datatrans.log') ; // Nom du logging, par défaut = datatrans.log
define('DATATRANS_LOG_CALLS',false) ; // Tous les appels Datatrans doivent-ils être enregistrés ? par défaut = false
LOG_TRANSACTIONS
doit être défini sur (boolean/booléen) true si vous voulez activer l’enregistrement des transactions. Nous vous le recommandons, mais nous n’avons pas pu régler le paramètre par défaut sur true, car sinon d’importants Log auraient été créés pour de nombreux utilisateurs à leur insu.
Log viewer
En cas de problèmes ou autres, il est conseillé de consulter de temps en temps le Log viewer (versions PepperShop Professional et Enterprise). Pour l’installer, vous pouvez cliquer dans “Administration de la boutique” sur “Modules”. Puis allez dans “Gestion modules” et installez le Log Viewer (à gauche).
Si vous quittez à nouveau “Gestion modules”, vous verrez un nouveau bouton pour “Log viewer”. Normalement et lorsque le log des transactions est désactivé, aucun fichier de log ne doit être créé, mais vous pouvez y voir les logs.
Les utilisateurs de PepperShop Basic doivent extraire manuellement les logs dans le répertoire log{shopdir}/shop/Admin/log
.
Transactions
Une transaction se compose toujours de deux parties : initialisation de la transaction (transaction_initiate) et une finalisation de la transaction (transaction_complete). Avant et immédiatement après l’opération de la base de données, les marques sont définies dans les logs de transactions et la commande change de statut. La Transaction affichée change son statut de 0001 (commande ouverte) à 1000 (commande ouverte, après acceptation des termes et conditions lors de l’utilisation d’un fournisseur de services de paiement externe). Par partie de transaction (initialise, complète), il y a toujours deux entrées de log, chacune intitulée x_y_start
et x_y_done
.
Après la fin de la transaction, le statut de la commande passe de 1000 à 2000 (terminé).
Un rollback rétroactif à 0001 signifie, par exemple, qu’une transaction n’a pas pu être exécutée correctement (par exemple, si une erreur est survenue pendant le traitement du paiement externe).
Les transactions ayant le statut 1000 sont déjà affichées en surbrillance dans la gestion clients.
De cette façon, il est également possible de suivre les commandes qui ont été interrompues involontairement par l’utilisateur.
Veuillez noter la différence suivante: “Accepter CGV, commande encore ouverte” (statut 1000) signifie que le client a ouvert le popup Datatrans et souhaite effectuer le paiement. Cependant, cela n’a pas encore été fait et n’a donc pas encore transféré d’argent. Ces commandes doivent être supprimées si elles ont plus d’un jour.
Les commandes ayant le statut 2000 “CGV acceptées, transaction terminée” sont toutefois des commandes terminées et payées, pour lesquelles et pour une raison quelconque, l’exécution de la commande par correspondance n’a pas pu être effectuée. Vous devez en prévenir les clients et clôturer les commandes manuellement.
A côté, vous pouvez voir un exemple d’extrait de log de transactions :
Transactions de gestionnaires
En plus des transactions, dans “Administration de la boutique” → “Gestion des clients”, vous pouvez trouver le traitement du statut des transactions enregistrées des gestionnaires PepperShop dans l’aperçu détaillé des commandes.
Recommandation
Nous recommandons l’utilisation d’un certificat SSL/TLS valide. Cela empêche l’affichage d’information de nombreux utilisateurs lors de transmission du terminal de paiement Datatrans, car vous quittez une page cryptée. Lorsque le système retourne sur la boutique non cryptée à la fin du processus de paiement, le navigateur affiche alors “Merci beaucoup pour votre achat”.
A propos de Datatrans Advanced Module.
- hiddenMode-UPP : ici, le propriétaire de la boutique saisit toutes les données de carte de crédit nécessaires dans la boutique. Cela nécessite un certificat de serveur SSL valide et une certification PCI.
- Alias : lorsque Alias a été activé par Datatrans et que le module Datatrans Advanced est utilisé, le client peut payer ses achats ultérieurs sans avoir à saisir à chaque fois les informations de sa carte de crédit. Cela simplifie le paiement.
Coordonnées
Datatrans AG Stadelhoferstrasse 33 CH-8001 Zurich Téléphone +41 (0)44 256 81 81 91 Fax +41 (0)44 256 81 81 98 info@datatrans.ch http://www.datatrans.ch/