Introduction

WL Sips est une solution de paiement de commerce électronique multicanale sécurisée conforme à la norme PCI DSS. Elle vous permet d’accepter et de gérer des transactions de paiement en prenant en compte les règles métier liées à votre activité (paiement à la livraison, paiement différé, paiement récurrent, paiement en plusieurs fois …).

L’objectif du présent document est d’expliquer l'intégration du moyen de paiement Franfinance 3xWEB dans WL Sips .

À qui s’adresse ce document ?

Ce document a pour objectif de vous aider à implémenter le moyen de paiement Franfinance 3xWEB sur votre site de commerce électronique.

Il comprend :

  • des informations fonctionnelles à votre attention ;
  • des instructions d'implémentation à destination de votre équipe technique.

Pour avoir une vue d’ensemble de la solution WL Sips , nous vous conseillons de consulter les documents suivants :

  • Présentation fonctionnelle ;
  • Guide de configuration des fonctionnalités .

Comprendre les paiements Franfinance 3xWEB avec WL Sips

Principes généraux

Spécialisée dans le crédit à la consommation, la société française Franfinance 3xWEB est une solution réservée aux personnes physiques majeures titulaires d’une carte bancaire valable au moins 3 mois après la date de conclusion du contrat de paiement échelonné et dont les utilisations ne sont pas soumises à une demande d’autorisation systématique (notamment les cartes Visa Electron et Maestro).

Grâce à cette solution, les clients paient en 3 ou 4 fois leurs achats sur Internet.

Lors d'un paiement Franfinance 3xWEB, le client complète ses données personnelles ainsi que ses informations de carte bancaire.

A la fin de sa saisie, il est informé en ligne du résultat de sa demande.

Règles d’acceptation

Fonctionnalités disponibles

Canaux de paiement
Internet V Canal de paiement par défaut
MOTO X
Télécopie X
SVI X
Typologies de paiement
Paiement immédiat X
Paiement en fin de journée V Méthode par défaut
Paiement différé V
Paiement à l'expédition V
Paiement en plusieurs fois X
Paiement par abonnement X
Paiement par fichier X
Paiement OneClick X
Gestion des devises
Acceptation multidevis X Euro uniquement
Règlement en devise X Euro uniquement

Pages de paiement

Les pages pour ce moyen de paiement sont gérées et hébergées par Franfinance.

Une première page permet au client de compléter les données nécessaires à sa souscription 3xWEB.

A la suite de la validation de cette dernière, le client se verra proposer la saisie de ses informations de carte afin d'initier le paiement:

  • le numéro de sa carte ;
  • la date d’expiration de sa carte ;
  • le CVV de sa carte.

Si l’une de ces données est absente ou invalide, ou si le numéro de carte saisi n’est pas dans la plage, un message d’erreur est affiché et une nouvelle saisie est demandée.

Le fonctionnement standard de WL Sips s’applique : le nombre de tentatives de saisie est plafonné, un code d'erreur est retourné si le nombre de tentatives est dépassé.

Suite à la réalisation du paiement une page de ticket est affichée au client indiquant le résultat de la transaction. Ce ticket porte un bouton « Retour boutique » permettant de revenir vers votre site Web avec la réponse de paiement Franfinance 3xWEB.

Les options standard de Sips Paypage sont applicables : ce ticket peut être désactivé à votre demande. Si vous positionnez l’option bypassReceiptPage du ticket, le ticket ne s’affiche pas. Le client est directement redirigé vers votre site Web.

En fonction du résultat de la demande d’autorisation, des messages différents seront affichés à l'utilisateur sur le ticket.

Ouvrir votre contrat d’acceptation Franfinance 3xWEB

Afin de proposer le moyen de paiement Franfinance 3xWEB, vous devez souscrire un contrat d’acceptation auprès de Franfinance. Vous nous transmettez par la suite le numéro de contrat afin de l’enregistrer dans notre système d’information.

Effectuer un paiement Franfinance 3xWEB

Vous pouvez proposer le moyen de paiement Franfinance 3xWEB au travers de Sips Paypage qui assure l’interface de paiement directement avec le client via son navigateur Web.

Les modes de remise disponibles pour une transaction Franfinance 3xWEB sont les suivants :

  • Mode annulation : mode par défaut, il permet de remiser la transaction à une date prédéfinie, appelée délai de capture. Lorsque ce délai de capture est atteint, la remise est automatiquement envoyée. Ce délai est paramétré via le champ captureDay , sa valeur par défaut est 0 (paiement en fin de journée).
  • Mode validation : vous devez valider la transaction pour déclencher la remise. Un délai de capture doit aussi être défini. Lorsque ce délai de capture est atteint ou dépassé, vous ne pourrez plus valider la transaction, celle-ci expirera donc automatiquement.

Le diagramme ci-dessous explique les différents états par lesquels peuvent passer les transactions selon le mode de capture choisi :

Effectuer un paiement Franfinance 3xWEB avec Sips Paypage

La cinématique de paiement pour Sips Paypage est décrite ci-dessous :

Paramétrer la requête de paiement

Le champ existant paymentMeanBrandList doit être renseigné avec la liste des moyens de paiement proposés au client et spécifiquement le moyen de paiement Franfinance proposé.

Des informations spécifiques sont nécessaires pour une requête de paiement Franfinance 3xWEB :

Nom du champ Remarques / règles
captureDay Franfinance recommande de mettre la valeur à 0.
captureMode La valeur envoyée dans la requête est ignorée.
Le mode de capture est forcé à AUTHOR_ CAPTURE.
currencyCode Obligatoire : Euro uniquement (978)
customerId Facultatif.
Identifiant du client.
customerIpAddress Facultatif.
Adresse IP de l’acheteur.
bypassReceiptPage Facultatif.
Indique que le commerçant veut contourner les pages de type ticket.
paymentPattern La valeur envoyée dans la requête est ignorée.
Le type de paiement est forcé à ONE_SHOT.

customerAccountHistoric

Nom du champ Remarques / règles
customerAccountHistoric.creationDate Facultatif.
Date de création.
Avec le container customerAccount , c'est la date de création du compte client chez le marchand qui permet de calculer l'ancienneté du compte.
customerAccountHistoric.numberOfAttemptsAddCard24Hours Facultatif.
Nombre de cartes distinctes utilisées par le compte client du marchand dans les dernières 24 heures.
customerAccountHistoric.numberOfPurchase Facultatif.
Nombre d'achats distincts du client chez le marchand.
customerAccountHistoric.numberOfPurchase180Days Facultatif.
Nombre d'achats effectués sur le compte client du marchand sur les six derniers mois (180 derniers jours).
customerAccountHistoric.numberOfTransaction24Hours Facultatif.
Nombre de transactions abandonnées ou réussies dans les dernières 24 heures sur le compte client.
customerAccountHistoric.suspiciousActivityIndicator Facultatif.
Indique si une activité suspecte est détectée sur le compte client du commerçant.

customerAddress

Nom du champ Remarques / règles
customerAddress.streetNumber Facultatif.
Numéro de la rue de l'adresse.
customerAddress.street Obligatoire
customerAddress.addressAdditional1 Facultatif
customerAddress.addressAdditional2 Facultatif
customerAddress.addressAdditional3 Facultatif
customerAddress.zipCode Obligatoire
customerAddress.city Obligatoire
customerAddress.country Facultatif.
Code pays de l'adresse.

customerContact

Nom du champ Remarques / règles
customerContact.email Obligatoire
customerContact.gender Facultatif.
Valeurs possibles : masculin (M) ou féminin (F).
customerContact.lastName Obligatoire
customerContact.maidenName Facultatif
customerContact.firstName Obligatoire
customerContact.mobile Facultatif
customerContact.phone Facultatif
customerContact.title Facultatif.
Titre de civilité du contact.
customerContact.legalId Facultatif.
Identifiant national d'établissement (SIRET pour la France). Cette donnée s'applique à vous et au client (voir les champs Contact).
customerContact.positionOccupied Facultatif.
Fonction exercée.

customerData

Nom du champ Remarques / règles
customerData.birthCity Facultatif
customerData.birthDate Facultatif.

Au format YYYYMMDD

customerData.birthZipCode Facultatif

Pas de code si naissance à l’étranger.

Remarque : La Corse couvre deux départements métropolitains (2A et 2B) qui devraient se retrouver sous le code département 20.

customerData.birthCountry Facultatif.
Code du pays de naissance.
customerData.nationalityCountry Facultatif.
Pays de nationalité.
customerData.maidenName Facultatif
customerData.IpAddressDatetime Facultatif

billingAddress

Nom du champ Remarques / règles
billingAddress.streetNumber Facultatif.
Numéro de la rue de l'adresse.
billingAddress.street Facultatif.
Nom de la rue de l'adresse.
billingAddress.addressAdditional1 Facultatif.
Complément 1 de l’adresse.
billingAddress.addressAdditional2 Facultatif.
Complément 2 de l’adresse.
billingAddress.addressAdditional3 Facultatif.
Complément 3 de l’adresse.
billingAddress.zipCode Facultatif.
Code postal de l'adresse.
billingAddress.city Facultatif.
Ville de l'adresse.
billingAddress.country Facultatif.
Pays de l'adresse.

billingContact

Nom du champ Remarques / règles
billingContact.email Facultatif.
E-mail du contact.
billingContact.mobile Facultatif.
Numéro de téléphone mobile du contact.
billingContact.phone Facultatif.
Numéro de téléphone du contact.
billingContact.title Facultatif.
Titre de civilité du contact.
billingContact.lastname Facultatif.
Nom de famille du contact.
billingContact.firstname Facultatif.
Prénom du contact.
billingContact.gender Facultatif.
Sexe du contact, masculin (=M) ou féminin (=F).
billingContact.businessName Facultatif.
Raison sociale.
billingContact.company
Facultatif.
Entreprise de l'adresse.
billingContact.legalId Facultatif.
Identifiant national d'établissement (SIRET pour la France).
Cette donnée s'applique au commerçant et au client (c.f. champs Contact).
billingContact.positionOccupied Facultatif.
Fonction exercée.

deliveryAddress

Nom du champ Remarques / règles
deliveryAddress.streetNumber Facultatif.
Numéro de la rue de l'adresse.
deliveryAddress.street Facultatif.
Nom de la rue de l'adresse.
deliveryAddress.addressAdditional1 Facultatif.
Complément 1 de l’adresse.
deliveryAddress.addressAdditional2 Facultatif.
Complément 2 de l’adresse.
deliveryAddress.addressAdditional3 Facultatif.
Complément 3 de l’adresse.
deliveryAddress.zipCode Facultatif.
Code postal de l'adresse.
deliveryAddress.city Facultatif.
Ville de l'adresse.
deliveryAddress.country Facultatif.
Pays de l'adresse.
deliveryAddress.addressCreationDate Facultatif.
Date d'ajout de l'adresse.
deliveryAddress.addressStatus Facultatif.
Livraison antérieure avec succès ou en échec.

deliveryContact

Nom du champ Remarques / règles
deliveryContact.email Facultatif.
E-mail du contact.
deliveryContact.mobile Facultatif.
Numéro de téléphone mobile du contact.
deliveryContact.phone Facultatif.
Numéro de téléphone du contact.
deliveryContact.title Facultatif.
Titre de civilité du contact.
deliveryContact.lastname Facultatif.
Nom de famille du contact.
deliveryContact.maidenName Facultatif
deliveryContact.firstname Facultatif.
Prénom du contact.
deliveryContact.gender Facultatif.
Sexe du contact, masculin (=M) ou féminin (=F).
deliveryContact.businessName Facultatif.
Raison sociale.
deliveryContact.company Facultatif.
Entreprise de l'adresse.
deliveryContact.legalId Facultatif.
Identifiant national d'établissement (SIRET pour la France).
Cette donnée s'applique au commerçant et au client (voir les champs Contact).
deliveryContact.positionOccupied Facultatif.
Fonction exercée.

deliveryData

Nom du champ Remarques / règles
deliveryData.deliveryChargeAmount Facultatif.
Coût total des frais de livraison de la commande.
deliveryData.deliveryMethod Facultatif.
Modalité choisie pour la livraison (standard, prioritaire, ...).
deliveryData.deliveryMode Facultatif.
Mode de livraison (bureau de Poste, point relais, ...).
deliveryData.deliveryOperator Facultatif.
Nom du transporteur assurant la livraison.
deliveryData.electronicDeliveryIndicator Facultatif.
Indique si la livraison est dans un mode électronique.
deliveryData.estimatedDeliveryDate Facultatif.
Date de livraison estimée par le commerçant.
deliveryData.estimatedDeliveryDelay Facultatif.
Délai de livraison (en nombre de jours) estimé par le commerçant.

fraudData

Nom du champ Remarques / règles
fraudData.productAvailabilityIndicator Facultatif.
Disponibilité de la marchandise.
fraudData.reorderProductIndicator Facultatif.
Indique si le produit a déjà été commandé.

orderContext

Nom du champ Remarques / règles
orderContext.customerbrowserType Facultatif.
Type de navigateur utilisé par l’acheteur.
Exemple : Explorer 9.5, MSN IE 9, MSN IE 10, MSN IE 11, etc.
orderContext.customerHostName Facultatif.
Nom du serveur sur lequel l’acheteur est connecté.
Exemple : PHX.QW.AOL.COM.

paymentMeanData

Nom du champ Remarques / règles
paymentMeanData.franfinance3xcb.authenticationKey Obligatoire .

Chaîne fournie par Franfinance.

paymentMeanData.franfinance3xcb.birthPlaceCode Facultatif.

Domaine de valeur restreint : · 1 : France · 2 : autre

paymentMeanData.franfinance3xcb.pageCustomizationCode Facultatif
paymentMeanData.franfinance3xcb.redirectionTimer Facultatif.

Domaine de valeur : 0 à 300

paymentMeanData.franfinance3xcb.testEnvironment Facultatif.

Recette uniquement

paymentMeanData.franfinance3xcb.conversionCurrency Facultatif
paymentMeanData.franfinance3xcb.convertedAmount Facultatif

shoppingCartDetail

Attention: shoppingCartItemList est un objet complexe.
Merci de vous référer à la documentation d'intégration du connecteur choisit pour savoir comment le renseigner.
Nom du champ Remarques / règles
shoppingCartDetail.mainProduct Facultatif.
Produit le plus cher du panier.
shoppingCartDetail.shoppingCartItemList.itemX.productCategory Facultatif.
Catégorie du produit commandé (numérique par exemple).
shoppingCartDetail.shoppingCartItemList.itemX.productCode Facultatif.
Code du produit commandé.
shoppingCartDetail.shoppingCartItemList.itemX.productDescription Facultatif.
Description détaillée du produit commandé.
shoppingCartDetail.shoppingCartItemList.itemX.productName Facultatif.
Nom du produit commandé.
shoppingCartDetail.shoppingCartItemList.itemX.productQuantity Facultatif.
Quantité de produits dans le panier.
shoppingCartDetail.shoppingCartItemList.itemX.productSKU Facultatif.
Code identifiant le produit valorisé par le commerçant et renvoyé dans la réponse sans modification.
shoppingCartDetail.shoppingCartItemList.itemX.productTaxRate Facultatif.
Taux de taxe appliqué au produit (par exemple 0,1999).
shoppingCartDetail.shoppingCartItemList.itemX.productUnitAmount Facultatif.
Montant unitaire du produit.
Le montant doit être transmis dans la plus petite unité de la devise.
shoppingCartDetail.shoppingCartItemList.itemX.productUnitTaxAmount Facultatif.
Montant de la taxe sur le produit (unitaire).
Le montant doit être transmis dans la plus petite unité de la devise.
shoppingCartDetail.shoppingCartTotalAmount Facultatif.
Montant total du panier (taxes comprises).
Le montant n'inclut pas les frais, les remises, ni les charges.
shoppingCartDetail.shoppingCartTotalQuantity Facultatif.
Quantité totale d'articles du panier.
shoppingCartDetail.shoppingCartTotalTaxAmount Facultatif.
Montant total des taxes du panier.

travelContext

Nom du champ Remarques / règles
travelContext.airlineCarrierList Facultatif.
Liste des transporteurs aériens.
travelContext.departureDate Facultatif.
Date de départ.
travelContext.destinationAirport Facultatif.
Aéroport de destination.
travelContext.fareBasis Facultatif.
Base tarifaire du transport. Exemple : classe affaire, classe économique, ...
travelContext.numberOfAirlinesCarriers Facultatif.
Nombre de transporteurs aériens.
travelContext.numberOfPassengers Facultatif.
Nombre de passagers.
travelContext.numberOfRoutingCities Facultatif.
Nombre de villes de l'itinéraire.
travelContext.originAirport Facultatif.
Aéroport d'origine.
travelContext.passengerName Facultatif.
Nom du passager.
travelContext.reservationCode Facultatif.
Code de réservation.
travelContext.routingCityList Facultatif.
Liste des villes de l'itinéraire.

Analyser la réponse

Les champs spécifiques suivants sont valorisés dans le cas d’un paiement Franfinance 3xWEB :

Nom du champ Remarques / règles
paymentMeanType Toujours valorisé à ONLINE_CREDIT.
paymentMeanBrand Toujours valorisé à FRANFINANCE_3X.
authorisationId

Effectuer un paiement Franfinance 3xWEB avec Sips Office

L’acceptation du moyen de paiement Franfinance 3xWEB n’est pas disponible au travers de la solution Sips Office .

Gérer vos transactions Franfinance 3xWEB

Opérations de caisse disponibles

Les opérations suivantes sont disponibles sur les transactions Franfinance 3xWEB :

Gestion de caisse
Annulation V
Validation V
Remboursement V
Duplication X
Recyclage X
Crédit X

Le diagramme ci-dessous vous permet de savoir quelle opération de gestion de caisse est disponible lorsqu'une transaction est dans un état donné :

Consulter vos transactions Franfinance 3xWEB

Journaux

Les journaux mis à disposition par WL Sips vous permettent d’avoir une vision exhaustive et consolidée de vos transactions, opérations de caisse, situation comptable et impayés. Vous pouvez utiliser ces informations pour enrichir votre système d’information.

La disponibilité des transactions Franfinance 3xWEB pour chaque type de journal est récapitulée dans le tableau ci-dessous :

Disponibilité des journaux
Journal des transactions V
Journal des opérations V
Journal de rapprochement des transactions V
Journal de rapprochement des impayés X
Note: pour les transactions Franfinance 3xWEB, le champ paymentMeanBrand est renseigné avec la valeur FRANFINANCE_3X.

Rapprochement des transactions Franfinance 3xWEB

Principe

Il s’agit de mettre à disposition d'un état quotidien rapprochant :

Les opérations envoyées par FRANFINANCE (remises au débit et/ou au crédit), d'une part, et les transactions effectuées sur WL Sips , d'autre part.

Chaque fichier contient, entre autres, les transactions créditées ou débitées sur vos comptes. Chaque fichier est global pour tous les commerçants.

WL Sips reçoit ces fichiers et les rapproche des transactions (débits et crédits) remisées.

A partir de ce rapprochement, WL Sips vous envoie le Journal de rapprochement des transactions . L’envoi du journal de rapprochement est désynchronisé par rapport au traitement des fichiers de Franfinance.

Ce type de journal permet d’avoir une réelle information quant à la remise effective du paiement ou du financement côté Franfinance.

Table des états de rapprochement des transactions

Pour définir les états du rapprochement, deux délais (après la date de remise WL Sips ) sont définis :

  • un délai de 30 jours correspond à la durée normale durant lequel une transaction doit être rapprochée ;
  • un délai de 40 jours correspond à la période maximale après la date de la transaction durant laquelle une transaction peut être rapprochée. Au-delà de ce délai, la transaction n’est plus « rapprochable ».

Le délai entre 30 et 40 jours correspond à l’intervalle de temps durant lequel Franfinance devra analyser la cause du non rapprochement. Lorsque les 40 jours seront écoulés, la transaction sera considérée comme non rapprochée.

Après l'analyse des critères de rapprochement définis ci-dessus, les différents états de rapprochement possibles sont les suivants :

Etat pour la transaction Décision commerçant / Information Franfinance
Présence fichier

MATCH_OK

MATCH_INFO (Franfinance indique une information concernant la livraison)

Absence fichier

30 jours < MATCH_WARNING ≤ 40 jours (**)

40 jours < MATCH_ERROR (**)

Rapprochement avec les transactions

Les détails appartenant aux opérations acceptées lors du contrôle des contrats sont comparés avec les transactions traitées par WL Sips .

Les informations d'une opération qui correspond à une transaction sont conservées et remontées dans le Journal de rapprochement des transactions . Celui-ci est envoyé au client.

Le statut du rapprochement pour cette transaction devient alors MATCH_OK.

Dans le cas ou Franfinance mentionne un avertissement particulier pour cette transaction, le statut, certes « matché » techniquement, devient MATCH_INFO.

Pour ce type de statut, la colonne SPECIFIC_DATA du JRT permet de connaître la raison de l'avertissement.

Code Franfinance fourni dans RGI et renvoyé au commerçant dans la colonne SPECIFIC_DATA Etat technique véhiculé dans JRT
00 - Financement garanti – livraison MATCH_OK
00 – Remboursement pris en compte MATCH_OK
02 - Financement refusé – ne pas livrer MATCH_INFO
03 - Annulation de la transaction – ne pas livrer MATCH_INFO
XX - Autres libellés libres (ne débutant pas par 00) MATCH_INFO
YY - Autres libellés libres (ne débutant pas par 00) MATCH_INFO

Transactions non rapprochées

Les transactions envoyées en remises et non créditées sur votre compte sont soumises à analyse.

Le statut de rapprochement des transactions dont la date de paiement est supérieure de 30 jours et dont l’état est toujours MATCH_WAIT deviendra MATCH_WARNING.

De la même façon, le statut des transactions dont l’état est MATCH_WARNING dont la date de paiement est supérieure de 40 jours deviendra MATCH_ERROR.

Un rapport des anomalies de rapprochement est alors généré pour analyse.

Sips Office Extranet

Vous pouvez consulter vos transactions Franfinance 3xWEB et effectuer différentes opérations de gestion de caisse grâce à Sips Office Extranet .

Voici le détail d'une transaction Franfinance 3xWEB :