3DS
Introduction
3D Secure via l’API Paiements permet d’authentifier un titulaire de carte pour les requêtes de transactions en ligne (sans présentation de la carte). Grâce à l’API Paiements, vous pouvez traiter des transactions mobiles ou basées sur un navigateur qui sont entièrement conformes aux normes 3D Secure et SCA.
Étapes à suivre dans 3D Secure
Veuillez suivre les étapes suivantes :
- Créer un gestionnaire de paiement Vous devez ajouter l’objet « threeDs » dans la requête.
{
"merchantRefNum": "58936a12-012d-49f4-ba56-a58ede19bff9",
transactionType:"transactionType": "PAYMENT",
"threeDs": {
"merchantUrl": "https://api.qa.paysafe.com/checkout/v2/index.html#/desktop",
"deviceChannel": "BROWSER",
"messageCategory": "PAYMENT",
"transactionIntent": "GOODS_OR_SERVICE_PURCHASE",
"authenticationPurpose": "PAYMENT_TRANSACTION"
}
"card": {
"cardNum": "4000000000001091",
"cardExpiry": {
"month": 10,
"year":2025
},
"cvv": "111",
"holderName": "Dilip"
},
"paymentType": "CARD",
"amount": 500,
"currencyCode": "USD",
"customerIp": "172.0.0.1",
"billingDetails": {
"nickName": "Home",
"street": "abcd",
"city": "defg",
"state": "AL",
"country": "US",
"zip": "32456"
},
"merchantDescriptor": {
"dynamicDescriptor": "OnlineStoreeeeeeeee",
"phone": "1234567899"
},
"returnLinks": [{
"rel": "default",
"href": "https://usgaminggamblig.com/payment/return/",
"method": "GET"
}, {
"rel": "on_completed",
"href": "https://usgaminggamblig.com/payment/return/success",
"method": "GET"
}, {
"rel": "on_failed",
"href": "https://usgaminggamblig.com/payment/return/failed",
"method": "GET"
}
]
}
Paramètres d’objet 3DS
Élément | Type | Description |
---|---|---|
merchantUrl | string, Mandatory length =2048 | Il s'agit de l'adresse URL complète du site Web commercial ou du service à la clientèle du marchand. |
deviceChannel | enum, Obligatoire, Valeurs éventuelles :
| Il s'agit du type d'interface de canal utilisé pour initier la transaction. |
messageCategory | enum, Obligatoire | Il s'agit de la catégorie du message pour un cas d'utilisation spécifique. Les valeurs éventuelles sont :
|
authenticationPurpose | enum, Obligatoire | C’est le type de requête d’authentification. Cet élément de données fournit des informations supplémentaires à ACS afin de déterminer la meilleure approche pour traiter une requête d'authentification. Les valeurs éventuelles sont :
|
2. Paysafe renvoie la réponse suivante :
- Le paramètre action est défini sur REDIRECT (puisque 3D Secure est activé)
- "action": "REDIRECT",
- Un lien payment_redirect pointe vers l’URL d’authentification 3D Secure
{
"id": "81f04f91-7894-4a24-8720-7cb073a360c0",
"paymentType": "CARD",
"paymentHandleToken": "SCGtj9C3K6vNxWMm",
"merchantRefNum": "58936a12-012d-49f4-ba56-a58ede19bff9",
"currencyCode": "USD",
"txnTime": "2021-11-15T11:55:57Z",
"billingDetails": {
"nickName": "Home",
"street": "TEST",
"city": "CA",
"zip": "12345",
"state": "CA",
"country": "US"
},
"customerIp": "172.0.0.1",
"status": "INITIATED",
"links": [
{
"method": "GET",
"rel": "redirect_payment",
"href": "https://api.qa.paysafe.com/cardadapter/v1/authentication/app/index.html?id=81f04f91-7894-4a24-8720-7cb073a360c0"
}
],
"amount": 500,
"action": "REDIRECT",
"usage": "SINGLE_USE",
"timeToLiveSeconds": 299,
transactionType:"transactionType": "PAYMENT",
"executionMode": "SYNCHRONOUS",
"card": {
"cardExpiry": {
"month": "10",
"year": "2025"
},
"holderName": "Dilip",
"cardType": "VI",
"cardBin": "400000",
"lastDigits": "1091",
"cardCategory": "CREDIT"
},
"merchantDescriptor": {
"dynamicDescriptor": "OnlineStoreeeeeeeee",
"phone": "1234567899"
},
"returnLinks": [
{
"rel": "default",
"href": "https://usgaminggamblig.com/payment/return/",
"method": "GET"
},
{
"rel": "on_completed",
"href": "https://usgaminggamblig.com/payment/return/success",
"method": "GET"
},
{
"rel": "on_failed",
"href": "https://usgaminggamblig.com/payment/return/failed",
"method": "GET"
}
],
"skip3ds": false,
"threeDs": {
"merchantUrl": "https://api.qa.paysafe.com/checkout/v2/index.html#/desktop",
"deviceChannel": "BROWSER",
"messageCategory": "PAYMENT",
"transactionIntent": "GOODS_OR_SERVICE_PURCHASE",
"authenticationPurpose": "PAYMENT_TRANSACTION"
}
}
- Dans tous les cas de 3DS2.0 (y compris l’authentification sans friction), vous recevrez toujours une URL de redirection dans la réponse du Payment Handle.
- L’URL de redirection et le jeton du Payment Handle restent valides pendant 299 secondes.
- Redirigez le client vers l’URL d’authentification 3D Secure.
- S’il s’agit d’un cas d’authentification sans friction, l’utilisateur sera redirigé vers l’URL on_completed.
- Dans les autres cas, l’utilisateur verra apparaître la page d’authentification 3DS.
- Lorsque l’authentification est réussie, le marchand reçoit une notification à l’adresse URL spécifiée dans le paramètre on_completed inclus dans la requête de gestion de paiement.
- Lorsque l’authentification échoue, le marchand reçoit une notification à l’adresse URL spécifiée dans le paramètre on_failed inclus dans la requête de gestion de paiement.
- Vous trouverez ci-dessous les états du gestionnaire de paiement.
- INTIATED lors de la création.
- PAYABLE lorsque l’authentification est réussie. Vous ne pouvez effectuer une requête de paiement que si le gestionnaire de paiement est Payable.
- FAILED si l’authentification échoue
- EXPIRED après 299 secondes à partir de INITIATED
Comment savoir si un gestionnaire de paiement est Payable?
- Vous recevrez un webhook lorsque le gestionnaire de paiement deviendra Payable.
- Si l’utilisateur est redirigé vers l’URL « on_completed », le gestionnaire de paiement sera Payable. Vous envoyez l’URL « on_completed » dans le cadre de la requête de gestion de paiement.
- Vous pouvez effectuer un appel GET sur l’identifiant du gestionnaire de paiement reçu dans la réponse du gestionnaire de paiement.
- Utilisez le jeton paymentHandleToken renvoyé dans la réponse pour traiter la requête de paiement.
- Utilisez le jeton paymentHandleToken pour faire un appel de paiements.
État de gestion du paiement
Mastercard
ThreeDResult | ECI | CAVV | Expérience en matière d’authentification | Responsabilité (en cas de transaction contestée ou de rétrofacturation) | Action recommandée | Gestion du paiement |
---|---|---|---|---|---|---|
A - Tentative d’authentification | 1 | Avec carte | Sans contact | Émetteur de la carte | Passer à l’autorisation de la carte | Payable |
N - Échec de l’authentification | 0 | Absence de carte | Défi/Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
R - Authentification rejetée | 0 | Absence de carte | Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
U - Authentification non disponible | 0 | Absence de carte | Défi/Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
Y - Authentification réussie | 2 | Avec carte | Défi/Sans contact | Émetteur de la carte | Passer à l’autorisation de la carte | Payable |
Visa
ThreeDResult | ECI | CAVV | Expérience en matière d’authentification | Responsabilité (en cas de transaction contestée ou de rétrofacturation) | Action recommandée | Gestion du paiement |
---|---|---|---|---|---|---|
Y - Authentification réussie | 5 | Avec carte | Défi/Sans contact | Émetteur de la carte | Passer à l’autorisation de la carte | Payable |
A - Tentative d’authentification | 6 | Avec carte | Sans contact | Émetteur de la carte | Passer à l’autorisation de la carte | Payable |
N - Échec de l’authentification | 7 | Absence de carte | Défi/Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
U - Authentification non disponible | 7 | Absence de carte | Défi/Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
R - Authentification rejetée | 7 | Absence de carte | Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
Amex
ThreeDResult | ECI | CAVV | Expérience en matière d’authentification | Responsabilité (en cas de transaction contestée ou de rétrofacturation) | Action recommandée | Gestion du paiement |
---|---|---|---|---|---|---|
Y - Authentification réussie | 5 | Avec carte | Défi/Sans contact | Émetteur de la carte | Passer à l’autorisation de la carte | Payable |
A - Tentative d’authentification | 6 | Avec carte | Sans contact | Émetteur de la carte | Passer à l’autorisation de la carte | Payable |
N - Échec de l’authentification | 7 | Absence de carte | Défi/Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
U - Authentification non disponible | 7 | Absence de carte | Défi/Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |
R - Authentification rejetée | 7 | Absence de carte | Sans contact | Marchand | Ne pas poursuivre la transaction | Échec |