Introduction
Mercanet 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 Floa Bank 3X et/ou 4X dans Mercanet.
À qui s’adresse ce document ?
Ce document a pour objectif de vous aider à implémenter le moyen de paiement Floa Bank 3X et/ou 4X 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 Mercanet, nous vous conseillons de consulter les documents suivants :
- Présentation fonctionnelle
- Guide de configuration des fonctionnalités
Comprendre les paiements Floa Bank 3X et/ou 4X avec Mercanet
Principes généraux
Société financière du groupe Floa, Floa Bank propose la solution Floa Bank 3X et/ou 4X, 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 l'utilisation n'est pas soumise à 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 Floa Bank 3X et/ou 4X, le client complète ses données personnelles ainsi que ses informations de carte bancaire lors de la souscription. Cette souscription précise le nombre d’échéances de paiement, le montant de chaque échéance et les dates relatives au paiement.
A la fin de sa saisie, il est informé en ligne du résultat de sa demande.
La prise d’empreinte réalisée au cours de la cinématique de paiement peut faire l’objet d’une authentification 3-D Secure.
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 | V | Méthode par défaut |
Paiement en fin de journée | X | |
Paiement différé | X | |
Paiement à l'expédition | V | |
Paiement en plusieurs fois | X | |
Paiements par abonnement | X | |
Paiement par fichier | X | |
Paiement OneClick | X |
Gestion des devises | ||
---|---|---|
Acceptation multidevise | X | EURO uniquement |
Règlement en devise | X | EURO uniquement |
Conversion dynamique des devises | X | EURO uniquement |
Pages de paiement
Le client choisit le moyen de paiement Floa Bank 3X et/ou 4X.
Il est redirigé sur les pages Floa Bank.
Il remplit un formulaire avec ses informations personnelles :
Le client pourra ensuite saisir les informations relatives à sa carte bancaire :
Le ticket de paiement s’affiche, puis le client retourne sur votre site Web. Cette page peut être bypassée.
Ouvrir votre contrat d’acceptation Floa Bank 3X et/ou 4X
Afin de proposer le moyen de paiement Floa Bank 3X et/ou 4X sur votre site Web, vous devez souscrire un contrat auprès de Floa Bank. Floa Bank se chargera ensuite de transmettre ces informations, qui seront implémentées sur votre boutique de commerçant Mercanet directement.
Floa Bank souscrira en parallèle, un contrat de Vente A Distance auprès du CIC pour finaliser votre inscription et vous donner accès au moyen de paiement.
Effectuer un paiement Floa Bank 3X et/ou 4X
Vous pouvez proposer le moyen de paiement Floa Bank 3X et/ou 4X au travers de Paypage qui assure l’interface de paiement directement avec le client via son navigateur Web.
Les modes de remise disponibles pour une transaction Floa Bank 3X et/ou 4X sont les suivants :
- Mode validation : vous devez valider la transaction pour déclencher la remise. Un délai de capture doit ê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.
- Mode immédiat : l'autorisation et la remise sont exécutées en ligne simultanément.
Il est à noter que:
- seul le mode "IMMEDIATE" dans la requête marchand WL Sips est compatible avec la configuration "Automatic" coté contrat d'acquisition FLOA PAY
- seul le mode "VALIDATION" dans la requête marchand WL Sips est compatible avec la configuration "Manual" coté contrat d'acquisition FLOA PAY.
Le diagramme ci-dessous explique les différents états par lesquels peuvent passer les transactions selon le mode de capture choisi :
Effectuer un paiement Floa Bank 3X et/ou 4X avec Paypage
La cinématique de paiement pour 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 Floa Bank proposé.
Les 2 offres sont les suivantes : BCACB_3X et BCACB_4X.
Les champs spécifiques pour la réalisation d’un paiement sont les suivants :
Nom du champ | Remarque / Règles |
---|---|
customerLanguage |
Permet de choisir la langue utilisée sur les pages Mercanet et Floa Bank. |
customer.country |
Pays (=FR) |
customerId |
Obligatoire. Identification unique qui caractérise le
client dans le SI du commerçant. |
customerContact.lastName |
Obligatoire. Nom du client. |
customerContact.firstName |
Obligatoire. Prénom du client. |
customerContact.phone |
Numéro de téléphone fixe du client. Obligatoire si le numéro de téléphone portable n'est pas renseigné. |
customerContact.mobile |
Numéro de téléphone portable du client. Obligatoire si le numéro de téléphone fixe n'est pas renseigné. |
customerContact.email |
Obligatoire. Email du client. |
customerAddress.addressAdditional1 |
Obligatoire. Adresse principale. |
customerAddress.zipCode |
Obligatoire. Code postal |
customerAddress.city |
Obligatoire. Ville |
customerAddress.country |
Obligatoire. Code ISO Alpha-2 du Pays
(=FR) |
deliveryData.deliveryMode |
Obligatoire. Mode de livraison du commerçant :
|
deliveryData.deliveryChargeAmount |
Facultatif. Montant total des frais de livraisons pour
la commande (en centimes). |
shoppingCartDetail.shoppingCartTotalQuantity |
Obligatoire. Nombres d'articles. |
orderId |
Obligatoire. Nombres d'articles. |
shoppingCartDetail.shoppingCartTotalTaxAmont |
Facultatif. Montant total des frais associés à la
commande (en centimes). |
shoppingCartDetail.discountAmount |
Facultatif. Montant total des remises associées à la
commande (en centimes). Par défaut valorisé à 0. |
shoppingCartDetail.shoppingCartItemList.item0.travelData |
Facultatif. A partir de la version IR_WS_2.38 (Paypage SOAP/REST) ou HP_2.38 (Paypage POST). |
travelData
travelData
est un container dédié aux
commerçants voyagistes. Un champ marqué "Obligatoire" dans les containers
ci-dessous ne l'est que pour les commerçants voyagistes. Pour Floa, les
données voyage sont contenues dans le premier item du panier : shoppingCartDetail.shoppingCartItemList.item0
.Nom du champ | Remarque/Règles |
---|---|
travelData.numberOfTravelers |
Obligatoire Nombre de voyageurs |
travelData.travelStartDateTime |
Obligatoire - Format ISO8601 Date et heure de départ
|
travelData.travelEndDateTime |
Obligatoire - Format ISO8601 Date et heure de retour
|
travelData.travelingPayerIndicator |
Facultatif - Valeurs autorisées : true - Le payeur participe au voyage |
travelData.passportDataList |
Facultatif - Liste des données de passeport Données de passeport des voyageurs, notées travelData.passportDataList.passportDataX où X est l'indice du passeport dans la liste |
travelData.passportDataList.passportDataX.passportExpirationDate |
Facultatif - Format YYYYMMDD Date d'expiration du
passeport |
travelData.passportDataList.passportDataX.passportIssueCountry |
Facultatif - Valeurs autorisées : countryList Code ISO
Alpha-3 du pays d'émission du passeport |
travelData.journeyDataList |
Facultatif - Liste des données de trajet Seul le premier trajet de la liste est pris en compte pour Floa, par conséquent les champs ci-dessous seront notés travelData.journeyDataList.journeyData0.XXXX |
travelData.journeyDataList.journeyData0.departureLocation |
Facultatif Code IATA de l'aéroport de départ sur 3 caractères |
travelData.journeyDataList.journeyData0.arrivalLocation |
Facultatif Code IATA de l'aéroport d'arrivée sur 3 caractères |
travelData.journeyDataList.journeyData0.destinationCountry |
Obligatoire - Valeurs autorisées : countryList Code ISO
Alpha-3 du pays de destination |
travelData.journeyDataList.journeyData0.numberOfTickets |
Facultatif Nombre de billets |
travelData.journeyDataList.journeyData0.journeyModality |
Facultatif - Valeurs autorisées : ONEWAY - Aller simple |
travelData.journeyDataList.journeyData0.classLevel |
Facultatif - Valeurs autorisées : 1 - Première classe ou classe business |
travelData.journeyDataList.journeyData0.carrierIdentifier |
Facultatif Code IATA de la compagnie aérienne sur 2 caractères |
travelData.journeyDataList.journeyData0.fareBasis |
Facultatif Tarif du trajet ou code de réduction |
travelData.journeyDataList.journeyData0.journeyInsurance |
Facultatif Modalité d'assurance du trajet |
travelData.journeyDataList.journeyData0.journeyCancellableIndicator |
Facultatif - Valeurs autorisées : true - Le trajet est modifiable ou annulable |
travelData.journeyDataList.journeyData0.luggageSupplementIndicator |
Facultatif - Valeurs autorisées : true - Le trajet dispose d'un supplément bagage |
travelData.stayDataList |
Facultatif - Liste des données d'étape Seul la première étape de la liste est prise en compte pour Floa, par conséquent les champs ci-dessous seront notés travelData.stayDataList.stayData0.XXXX |
travelData.stayDataList.stayData0.stayCompany |
Facultatif Opérateur ou compagnie hôtelière |
travelData.stayDataList.stayData0.stayLocation |
Facultatif Ville de destination |
travelData.stayDataList.stayData0.stayNumberOfNights |
Facultatif Nombre de nuitées |
travelData.stayDataList.stayData0.roomServiceLevel |
Facultatif Niveau de service de la chambre |
Exemple de travelData
sur Paypage POST avec un séjour à Montréal au départ de Paris pour
deux voyageurs :
shoppingCartDetail.shoppingCartItemList={travelData.numberOfTravelers=2,travelData.travelStartDateTime=2022-01-01T07:30:00+02:00,travelData.travelEndDateTime=2022-01-05T20:45:00+02:00,travelData.travelingPayerIndicator=true,
travelData.passportDataList={passportExpirationDate=20230401,passportIssueCountry=FRA},{passportExpirationDate=20240607,passportIssueCountry=CAN},
travelData.journeyDataList={departureLocation=CDG,arrivalLocation=YUL,destinationCountry=CAN,numberOfTickets=2,fareBasis=Discount code,carrierIdentifier=AF,classLevel=1,journeyModality=TWOWAY,journeyInsurance=Insurance Plus,journeyCancellableIndicator=true,luggageSupplementIndicator=true},
travelData.stayDataList={stayLocation=Montreal Great Hotel,numberOfNights=4,roomServiceLevel=4,stayCompany=Travel Inc.}}
Le même exemple, sur Paypage JSON :
"shoppingCartDetail": {
"shoppingCartItemList": [{
"travelData": {
"journeyDataList": [{
"arrivalLocation": "YUL",
"carrierIdentifier": "AF",
"classLevel": "1",
"departureLocation": "CDG",
"destinationCountry": "CAN",
"fareBasis": "Discount code",
"journeyCancellableIndicator": "true",
"journeyInsurance": "Insurance Plus",
"journeyModality": "TWOWAY",
"luggageSupplementIndicator": "true",
"numberOfTickets": "2"
}],
"numberOfTravelers": "2",
"passportDataList": [{
"passportExpirationDate": "20230401",
"passportIssueCountry": "FRA"
},{
"passportExpirationDate": "20240607",
"passportIssueCountry": "CAN"
}],
"stayDataList": [{
"numberOfNights": "4",
"roomServiceLevel": "4",
"stayCompany": "Travel Inc.",
"stayLocation": "Montreal Great Hotel"
}],
"travelEndDateTime": "2022-01-05T20:45:00+02:00",
"travelStartDateTime": "2022-01-01T07:30:00+02:00",
"travelingPayerIndicator": "true"
}
}]
}
Analyser la réponse
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Paiement accepté | acquirerResponseCode = 00
authorisationId = (voir le
Dictionnaire des données).paymentMeanBrand = BCACB_3X
ou BCACB_4XpaymentMeanType =
ONLINE_CREDITresponseCode =
00 |
Vous pouvez livrer la commande. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la
fraude. Si vous n’avez pas opté pour l’option « nouvelle
tentative de paiement » (pour plus de détails veuillez consulter
le Guide de configuration des
fonctionnalités), vous pouvez proposer à votre
client de payer avec un autre moyen de paiement en générant une
nouvelle requête. |
Refus nombre max essais atteint | responseCode = 75 |
Le client a fait plusieurs tentatives qui ont toutes échoué. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Effectuer un paiement Floa Bank 3X et/ou 4X avec Office (M2M)
L’acceptation du moyen de paiement Floa Bank 3X et/ou 4X n’est pas disponible au travers de la solution Office (M2M).
Gérer vos transactions Floa Bank 3X et/ou 4X
Opérations de caisse disponibles
Les opérations suivantes sont disponibles sur les transactions Floa Bank 3X et/ou 4X :
Gestion de caisse | ||
---|---|---|
Annulation | X | |
Validation | V | Validation possible sur le
montant total ou partiel de la transaction. |
Remboursement | V | Remboursement possible sur
le montant total ou partiel de la transaction. |
Duplication | 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 Floa Bank 3X et/ou 4X
Journaux
Les journaux mis à disposition par Mercanet 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 Floa Bank 3X et/ou 4X 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 | X |
Journal de rapprochement des impayés | X |
Mercanet Back Office
Vous pouvez consulter vos transactions Floa Bank 3X et/ou 4X et effectuer différentes opérations de gestion de caisse grâce à Mercanet Back Office.
Effectuer vos tests Floa Bank 3X et/ou 4X
FLOAPAY met à disposition des données de test pour effectuer vos recettes. Nous vous encourageons à en prendre connaissance et à les utiliser. https://floapay.readme.io/reference/testing-ids/.