Challenge, Frictionless et Transfert de Responsabilité
Pour les transactions soumises à authentification 3DS, le marchand peut exprimer une préférence quant au type d'authentification : paramètre threeDSInfo.challengeInd dans doWebPayment et verifyEnrollment.
En tout état de cause, la décision revient à l'ACS.
Selon les schemes, la responsabilité en cas de fraude dépend de la préférence exprimée par le marchand et de l'authentification requise par l'ACS
La matrice de Transfert de Responsabilité ci-dessous définit le responsable en cas de fraude pour les différentes combinaisons :
| Responsable |
---|
Dérogation demandée | Réponse DS / ACS | CB | Mastercard | Visa | American Express |
---|
01 = No preference | Toutes | Émetteur |
02 = No challenge | Frictionless | Acquéreur | Émetteur |
Challenge | Émetteur |
03 = Challenge Requested | Toutes | Émetteur |
04 = Challenge Requested (mandate) | Challenge | Émetteur |
05= No Challenge Requested | Frictionless | Acquéreur | N.A. |
Challenge | Émetteur | N.A. |
Les données liées à l'analyse de risque de l'ACS
Extrait |
---|
L'analyse de risque des ACS se base sur les informations fournies par le marchand dans doWebPayment et verifyEnrollment. Le commerçant qui souhaite obtenir du frictionless doit faire au mieux pour fournir ces informations. Aucune d'elles n'est obligatoire.
Ces informations sont réparties au niveau de l'interface Payline dans les objets (et leurs sous objets) : Ces objets sont décrits de façon formelle dans la description fonctionnelle des évolutions de l'API WS. Volet |
---|
Développer |
---|
|
Object et balise | Indication | Recommandé CB |
---|
card.cardholder | Nom du porteur inscrit sur la carte de paiement. | X |
|
|
|
|
|
Volet |
---|
Développer |
---|
|
Object et balise | Indication | Recommandé CB |
---|
order.details.deliveryTime | Précise la rapidité d'expédition (jour même, lendemain, etc...). | X | order.details.deliveryMode | Indique le mode de livraison (envoi à domicile, retrait en point relais, etc... | X | order.details.deliveryExpectedDate | Indique la date de livraison prévue. | X | order.details.deliveryExpectedDelay | Indique la durée prévue de l'expédition. | X | order.details.deliveryCharge | Frais de livraison. |
| orderExtended.giftCardAmount | Si le paiement est fait avec carte cadeau alors en indiquer le montant payé. |
| orderExtended.giftCardCount | Si le paiement est fait avec carte cadeau alors indiquer le nombre de cartes utilisées. |
| order.orderExtended | Clé JSON reorderIndicator Précise s'il s'agit du renouvellement d'un achat déjà effectué. | X |
|
|
Volet |
---|
Développer |
---|
|
Object et balise | Indication | Recommandé CB |
---|
buyer.lastName | Nom de l'acheteur |
| buyer.firstName | Prénom de l'acheteur |
| buyer.mobilePhone | Numéro de téléphone mobile de l'acheteur | X | buyer.email | Fortement recommandé (pour scoring CB) |
| buyer.shippingAdress.addressCreateDate | Date de création de l'adresse de livraison | X | buyer.shippingAdress.firstName | Prénom du destinataire |
| buyer.shippingAdress.lastName | Nom du destinataire | X | buyer.shippingAdress.street1 | Rue adresse de livraison | X | buyer.shippingAdress.street2 | Complément rue adresse de livraison | X | buyer.shippingAdress.cityName | Ville adresse de livraison | X | buyer.shippingAdress.zipCode | Code postal adresse de livraison | X | buyer.shippingAdress.country | Pays adresse de livraison | X | buyer.shippingAdress.email | Email du destinataire (livraison) | X | buyer.billingAddress.street1 | Rue de l'adresse de facturation | X | buyer.billingAddress.street2 | Complément rue de l'adresse de facturation | X | buyer.billingAddress.cityName | Ville de l'adresse de facturation | X | buyer.billingAddress.zipCode | Code postal de l'adresse de livraison | X | buyer.billingAddress.country | Pays de l'adresse de livraison | X | buyer.billingAddress.phone | Numéro de téléphone du domicile | X | buyer.ip | Obligatoire pour un acheteur sur un navigateur web | Obligatoire si connexion via navigateur web | buyer.merchantAuthentication.method | Methode d'authentification de l'acheteur par le marchand | X | buyer.merchantAuthentication.date | Date et heure de connexion de l'acheteur sur le compte marchand | X | buyer.accountCreateDate | Date de création du compte de l'acheteur | X | buyer.buyerExtended.buyerExtendedHistory | Fortement recommandé. Recommandation valable pour tous les champs de la structure orderCount6Months : Nombre d'achats durant les 6 derniers mois; provisionAttemptsDay: Nombre de tentatives d'ajout carte dans les dernières 24 heures;
transactionCountDay: Nombre de tentatives d'achat dans les dernières 24 heures;
suspiciousActivity: Le commerçant indique s'il a eu un doute relatif à l'activité de ce compte, compte fraudeur ou fraudé, etc...;
| X |
|
|
Volet |
---|
Développer |
---|
title | Object three3dsInfo.. |
---|
|
Object et balise | Indication | Recommandé CB |
---|
challengeInd | Optionnel : indique la préférence du commerçant pour l'authentification du porteur |
| threeDSReqPriorAuthData | Pour usage futur |
| threeDSReqPriorAuthMethod | Méthode d'authentification 3DS du précédent paiement. | X | threeDSReqPriorAuthTimestamp | Date et heure du précédent paiement. | X | browser | Requis si le paiement est initié à partir d'un navigateur web. |
| sdk | Requis si le paiement est initié à partir d'une application mobile. |
|
|
|
Volet |
---|
Développer |
---|
title | Web service verifyEnrollment ou doWebPayment... |
---|
|
Object et balise | Indication | Recommandé CB |
---|
merchantScore | Score de la transaction calculé par le marchand à l'aide de ses propres outils | X |
|
|
|
Le mode frictionless est activé par les ACS suite à une analyse de risque basée sur les informations fournies par le marchand.
Pour éviter les challenges, le commerçant doit faire au mieux pour fournir les informations demandées par l'ACS.
Aucune de ces données n'est obligatoire.
Le parti pris de Payline est d'exposer la totalité des données demandées par les ACS et de vous permettre de faire au mieux pour éviter les challenges.
Ces informations sont réparties au niveau de l'interface Payline dans les objets (et leurs sous objets):
...
Nous vous donnons ci-dessous des exemples de valorisation.
Bloc de code |
---|
language | xml |
---|
theme | Confluence |
---|
title | Objet Order |
---|
collapse | true |
---|
|
<ns1:order>
<ns2:ref>47960539</ns2:ref>
<ns2:origin xsi:nil="true"/>
<ns2:country>FR</ns2:country>
<ns2:taxes xsi:nil="true |
...
...
...
amount>
<ns2:currency>978</ns2:currency>
<ns2:date>27/01/2019 11:01</ns2:date>
<ns2:details>
<ns2:details>
<ns2:ref>93813</ns2:ref>
<ns2:price>6870</ns2:price>
<ns2: |
...
comment>205/55R16 94 V</ns2:comment>
<ns2: |
...
category>PNEU voiture Tourisme 4saisons</ns2: |
...
...
...
...
...
subcategory1>
<ns2:subcategory2>KINERGY 4S H740</ns2:subcategory2>
<ns2: |
...
additionalData xsi:nil="true"/>
<ns2: |
...
taxRate xsi:nil="true"/>
</ns2: |
...
details>
</ns2:details>
<ns2: |
...
...
deliveryTime> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2: |
...
...
deliveryMode> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
|
...
...
deliveryExpectedDate xsi:nil="true"/> |
...
<!-- Si pre-commande indiquer la date de livraison prévue -->
<!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:deliveryExpectedDelay xsi:nil="true"/>
<ns2: |
...
deliveryCharge>2490</ns2: |
...
deliveryCharge>
<ns2:orderExtended>
|
...
{
"deliveryProvider": "deliveryProvider",
"riskLevel": "3",
"giftCardAmount": "4000",
"giftCardCurrency": "978",
"giftCardCount": "2",
"reorderIndicator": "01"
}
</ns2:orderExtended>
</ns1:order>
|
Bloc de code |
---|
language | xml |
---|
theme | Confluence |
---|
title | Objet Buyer |
---|
collapse | true |
---|
|
<ns1:buyer>
<ns2:title>4</ns2:title>
<ns2:lastName>Dupont</ns2:lastName> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:firstName>Jean</ns2:firstName> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:email>jean.dupont@monext.net</ns2:email> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:shippingAdress> <!-- Adresse postale si livraison à domicile dans un point relais ou dans un point de vente -->
<ns2:title>4</ns2:title> <!-- Adresse email si bien dématérialisé envoyé par courrier électronique -->
<ns2:name xsi:nil="true"/>
<ns2:createDate>05/11/2011</ns2:createDate> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:firstName>Jean</ns2:firstName> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:lastName>Dupont</ns2:lastName> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:street1>260, rue Claude Nicolas Ledoux</ns2:street1> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:street2>CS 60507</ns2:street2> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:cityName>Aix-en-Provence cedex 3</ns2:cityName> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:zipCode>13593</ns2:zipCode> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:country>FR</ns2:country> |
...
...
<!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
|
...
<ns2:email></ns2:email> <!-- Si livraison du produit par email -->
<ns2:phone>0442251515</ns2:phone>
<ns2:state>13</ns2:state>
<ns2:county xsi:nil="true"/>
<ns2:phoneType xsi:nil="true"/>
</ns2:shippingAdress>
<ns2:billingAddress>
<ns2:title>4</ns2:title>
<ns2:name xsi:nil="true"/>
<ns2:firstName>Jean</ns2:firstName>
<ns2:lastName>Dupont</ns2:lastName>
<ns2:street1>260, rue Claude Nicolas Ledoux</ns2:street1> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:street2>CS 60507</ns2:street2> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:cityName>Aix-en-Provence cedex 3</ns2:cityName> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:zipCode>13593</ns2:zipCode> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:country>FR</ns2:country> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<ns2:phone>0442251515</ns2:phone> <!-- Fortement recommande pour favoriser le frictionless (pour scoring CB) -->
<!-- Numéro de téléphone du domicile -->
<ns2:state>13</ns2:state>
<ns2:county xsi:nil="true"/>
<ns2:phoneType xsi:nil="true"/>
</ns2:billingAddress>
<ns2:accountCreateDate>05/11/11</ns2:accountCreateDate>
<ns2:accountAverageAmount xsi:nil="true"/>
<ns2:accountOrderCount>0</ns2:accountOrderCount>
<ns2:walletId xsi:nil="true"/>
<ns2:walletDisplayed xsi:nil="true"/>
<ns2:walletSecured xsi:nil="true"/>
<ns2:walletCardInd xsi:nil="true"/>
<ns2:ip>90.37.101.225</ns2:ip> <!-- Obligatoire pour un acheteur sur un navigateur web -->
<!-- et autorise par legislation du pays -->
<ns2:mobilePhone>0627720695</ns2:mobilePhone> |
...
...
customerId>4805157</ns2:customerId>
<ns2:legalStatus>1</ns2:legalStatus>
<ns2: |
...
legalDocument xsi:nil="true"/>
<ns2: |
...
birthDate xsi:nil="true"/>
<ns2: |
...
fingerprintID xsi:nil="true"/>
<ns2: |
...
deviceFingerprint xsi:nil="true"/>
<ns2: |
...
isBot xsi:nil="true"/>
<ns2: |
...
isIncognito xsi:nil="true"/>
<ns2: |
...
isBehindProxy xsi:nil="true"/>
<ns2: |
...
isFromTor xsi:nil="true"/ |
...
>
<ns2:isEmulator xsi:nil="true"/>
<ns2:isRooted xsi:nil="true"/>
<ns2:hasTimezoneMismatch xsi:nil="true"/>
<ns2:merchantAuthentication>
<ns2:method>02</ns2:method> <!-- Recommande pour favoriser le frictionless -->
<!-- |
...
...
d'authentification de l'acheteur sur le compte marchand -->;
|
...
...
:date>27/01/2019 12:01</ns2: |
...
...
Recommande pour favoriser le frictionless |
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
buyerExtended> <!-- Fortement recommande pour favoriser le frictionless -->
<!-- |
...
...
...
...
...
...
...
...
...
...
...
{
"buyerExtendedHistory": {
"suspiciousActivity": "N", // Precise si une activite suspecte a ete detectee par le marchand
"lastChange": "07/12/2018 10:40", // date de derniere modification du compte |
...
...
...
...
...
...
"lastPasswordChange": "07/12/2018 10:40", // date de derniere modification du mot de passe par l'acheteur
"orderCount6Months": "15", |
...
// Nombre de commandes de l'acheteur lors des 6 derniers mois
"provisionAttemptsDay": "0", // Nombre de tentatives d'ajout de carte de paiement dans le compte
// acheteur au cours des dernières 24 heures
"transactionCountDay": "0", // Nombre de tentatives de paiement dans les dernières 24 heures
"transactionCountYear": "38", // Nombre de tentatives |
...
...
...
...
...
"paymentAccountAge": "14/11/2015" // Date de création du compte client
}
}
</ns2:buyerExtended>
</ns1:buyer>
|
Bloc de code |
---|
language | xml |
---|
theme | Confluence |
---|
title | Objet 3dsInfo |
---|
collapse | true |
---|
|
<ns1:3DSInfo>
<ns2:challengeInd>02</ns2:challengeInd> |
...
...
Optional: indique la preference du commercant pour l'authentification du porteur; 02: pas de challenge> -->
<ns2:threeDSReqPriorAuthData/> <!-- Pour usage futur -->
|
...
...
threeDSReqPriorAuthMethod>02</ns2: |
...
threeDSReqPriorAuthMethod> <!-- |
...
...
pour favoriser le frictionless -->
<!-- |
...
...
...
...
...
...
...
threeDSReqPriorAuthTimestamp>12/01/2017 11:59</ |
...
...
threeDSReqPriorAuthTimestamp> <!-- |
...
Recommande pour favoriser le |
...
frictionless -->
<!-- date |
...
...
...
...
...
...
language | xml |
---|
theme | Confluence |
---|
title | Objet 3dsInfo |
---|
...
<ns2:browser/> <!-- Requis si paiement initie a partir d'un navigateur web -->
<ns2:sdk/> <!-- |
...
Requis si paiement initie a partir d'une application mobile -->
|
...
Pages associées
Contenu par étiquette |
---|
showLabels | false |
---|
showSpace | false |
---|
sort | title |
---|
cql | label = "3dsv2" and label = "fr" |
---|
|