Search Overlay

Segmentation en unités

Cette fonction de segmentation en unités renvoie une promesse, qui se résout en gestionnaire de paiement à usage unique représentant les données sensibles de la carte de l’utilisateur. Cette fonction peut être utilisée par l’API Paiements pour accepter des paiements. Les gestionnaires à usage unique ne sont valides que 15 minutes et ne sont pas consommés par la vérification. Voir Paiements avec un gestionnaire pour de plus amples renseignements.

La fonction de segmentation en unités a la signature suivante :

instance.tokenize(options)
.then(result => {
...
})
.catch(error => {
...
});

Async Await

TRYtry {
const result = await instance.tokenize(options);
...
} catch(error) {
...

};

Exemple de tokenisation

<html>
...
<body>
...
<script>
let instance;
paysafe.fields.setup("my Base64 encoded single-use-token API key", {
currencyCode: 'USD'
}).then(hostedInstance => {
instance = hostedInstance;
return instance.show();
}).then(paymentMethods => {
if(paymentMethods.card && !paymentMethods.card.error) {
var payButton = document.getElementById("payButton");
payButton.addEventListener("click", function (event) {
instance.tokenize({
amount: 1000,
transactionType: "PAYMENT",
paymentType: "CARTE",
merchantRefNum: 'merchant-ref-num',
}).then(result => {
// handle result
}).catch(error => {
console.log(error);
});
});
}
}).catch(error => {
console.log(error);
});
</script></body></html>

Segmentation en unités avec 3D Secure

3D Secure 2 offre un moyen amélioré et transparent d’authentifier les clients, tout en prenant en charge les applications mobiles et la validation biométrique et par jeton, et en rationalisant le passage en caisse grâce à l’authentification « sans friction ». Voir la documentation 3D Secure 2 pour plus de détails sur la mise en œuvre de 3D Secure 2. 

Le marchand doit d’abord être configuré par Paysafe Group afin d’utiliser 3D Secure 2. 3D Secure 2 n’est pris en charge que par Visa, Mastercard et American Express.

Avec 3D Secure 2, le marchand peut passer des paramètres facultatifs supplémentaires dans l’objet ThreeDS de Paysafe.js :

  • authenticationPurpose – seules deux valeurs sont autorisées : PAYMENT_TRANSACTION (valeur par défaut) et INSTALMENT_TRANSACTION
  • maxAuthorizationsForInstalmentPayment
  • billingCycle

Voir l’objet authentifications dans la documentation de l’API 3D Secure 2 pour une description de ces paramètres.

Le paramètre holderName est obligatoire pour pouvoir utiliser 3D Secure 2.

Exemple de segmentation en unités avec 3D Secure

<html>
...
<body>
...
<script>
let instance;
paysafe.fields.setup("my Base64 encoded single-use-token API key", {
currencyCode: 'USD'
}).then(hostedInstance => {
instance = hostedInstance;
return instance.show();
}).then(paymentMethods => {
if(paymentMethods.card && !paymentMethods.card.error) {
var payButton = document.getElementById("payButton");
payButton.addEventListener("click", function (event) {
instance.tokenize({
amount: 1000,
threeDs: {
deviceChannel: "BROWSER"
},
transactionType: "PAYMENT",
paymentType: "CARTE",
merchantRefNum: 'merchant-ref-num',
}).then(result => {
// handle result
}).catch(error => {
console.log(error);
});
});
}
}).catch(error => {
console.log(error);
});
</script></body></html>

Pour les cartes inscrites au système 3D Secure, le client peut voir apparaître une fenêtre superposée de l’émetteur de sa carte pour autoriser le paiement. 3D Secure 2 n’est pris en charge que par Visa, Mastercard et American Express.

Exemple de segmentation en unités avec ApplePay

Pour segmenter les données applePay, vous devez indiquer le type de paiement APPLEPAY et les données supplémentaires applePay dans les options de tokenisation.

Cette fonction de segmentation en unités accepte un objet d’options et est une promesse, qui se résout en un gestionnaire de paiement à usage unique. Le gestionnaire de paiement représente les données sensibles de la carte ApplePay de l’utilisateur. Cette fonction peut être utilisée par l’API Paiements pour accepter des paiements. Le gestionnaire de paiement à usage unique n’est valide que 15 minutes. Voir Configuration de la signature.

<html>
...
<body>
...
<script>
let instance;
paysafe.fields.setup("my Base64 encoded single-use-token API key", {
currencyCode: 'USD',
fields: {
applePay: {
selector: '#apple-pay',
type: 'buy',
label: 'Demo JS',
color: 'white-outline',
}
},
}).then(hostedInstance => {
instance = hostedInstance;
return instance.show();
}).then(paymentMethods => {
if(paymentMethods.applePay && !paymentMethods.applePay.error) {
var payButton = document.getElementById("apple-pay");
payButton.addEventListener("click", function (event) {
instance.tokenize({
amount: 1000,
transactionType: "PAYMENT",
paymentType: "APPLEPAY",
applePay: {
country: 'US',
},
merchantRefNum: 'merchant-ref-num',
}).then(result => {
// handle result
// Close Apple Pay window
instance.complete('success');
}).catch(error => {
console.log(error);
// Close Apple Pay window
instance.complete('fail');
});
});
}
}).catch(error => {
console.log(error);
});
</script></body></html>

Segmenter une signature de promesse

La fonction instance.tokenize() renvoie une promesse, qui contient le résultat de la tokenisation.

La promesse fait référence aux paramètres décrits ci-dessous. 

ParamètreRequisTypeDescription
resultfalseobjectLe résultat contenant le jeton de paiement.
errorResponsethrowsobjectEn cas d’erreur, la segmentation en unités sera rejetée avec l’objet errorResponse.
errorResponse
codetruestringCode d’erreur court identifiant le type d’erreur.
displayMessagetruestringFournit un message d’erreur qui peut être affichée aux utilisateurs.
detailedMessagetruestringUn message d’erreur détaillé qui peut être consigné.
correlationIdtruestringIdentifiant unique qui peut être fourni à l’équipe de soutien Paysafe comme référence pour l’investigation.
fieldErrorsfalsearrayDétails de toute erreur de valeur de paramètre (facultatif). Actuellement, seulement lorsqu’une erreur 9003 est générée.
fieldError
fieldtruestringNom du champ. Par exemple : threeDS.userAccountDetails.userLogin.time.
messagetruestringErreur dans le champ.
result
tokenfalsestringJeton de paiement représentant les détails sensibles de la carte après une tokenisation réussie.

Liste des erreurs de rappel de segmentation en unités

CodeMessage affichéMessage détailléDescription
9001Aucune connexion au serveur.Aucune connexion au serveur.La requête transmise au serveur a échoué. Code d’état HTTP 0 sans corps de réponse.
9002Erreur de communication avec le serveur.Erreur de communication avec le serveur.

La réponse du serveur ne peut pas être traitée.

  • Le format de réponse n’est pas JSON.
  • Le code d’état HTTP est 200, mais aucun jeton de paiement n’est présent.
  • Le code d’état HTTP est différent de 200, mais il n’y a pas de code d’erreur ni de description.
9003Invalid fields: ${fields}.Invalid fields: ${fields}.E.g., Invalid fields: card number,cvv,expiry date,threeDS.authenticationPurpose.

Un ou plusieurs champs ont des valeurs non valides. L’erreur pour les champs non valides provient des validations frontales ou lorsque l’API Coffre-fort client ou 3D Secure 2 renvoie l‘erreur 5068 ou 7508.

Les valeurs éventuelles sont les suivantes (remarquez les espaces) :

  • numéro de la carte
  • cvv
  • date d’expiration
  • année d’expiration
  • mois d’expiration
  • Tous les champs 3D Secure 2 aussi. Par exemple, threeDS.billingCycle.endDate.
9015Il y a eu une erreur (9015), veuillez contacter notre service de soutien.Argument d’options non valide.Le paramètre options n’est pas un objet.
9037Erreur de communication avec le serveur 3DS.Erreur de communication avec le serveur 3DS.Une erreur s’est produite lors de la communication avec l’API 3DS.
9039L’inscription n’est pas acceptée. Réessayez avec la même carte ou une autre carte.Le résultat de l’inscription n’est pas accepté pour le compte fourni.La carte du client n’est pas inscrite à 3DS.
9040Authenfication non acceptée. Réessayez avec la même carte ou une autre carte.Le résultat de l’authentification n’est pas accepté pour le compte fourni.L’authentification du paiement 3DS a échoué.
9041Il y a eu une erreur (9041), veuillez contacter notre service de soutien.Il y a eu une erreur (9041), veuillez contacter notre service de soutien.Aucun PaRes n’est renvoyé par le serveur ACS
9042L’utilisateur a interrompu l’authentification.L’utilisateur a interrompu l’authentification.Le client a interrompu le processus d’authentification 3DS sur le site de la banque émettrice.
9110Il y a eu une erreur (9110), veuillez contacter notre service de soutien.Impossible de lancer la SDK ThreeDs.Utilisé lorsque la SDK ThreeDs n’a pas réussi à se charger ou que le rappel de démarrage de la SDK ThreeDs a été invoqué avec une erreur non gérée.
9111Il y a eu une erreur (9111), veuillez contacter notre service de soutien.Configuration du marchand non valide.Utilisé lorsque la configuration du marchand n’est pas valide
9114Il y a eu une erreur (9114), veuillez contacter notre service de soutien.Impossible de lancer le défi de la SDK ThreeDs.Utilisé lorsque le rappel de défi de la SDK ThreeDs est invoqué avec une erreur.
9125Il y a eu une erreur (9125), veuillez contacter notre service de soutien.Marque de carte non prise en charge utilisée : [...].Utilisé lorsque le client utilise une marque de carte non prise en charge par la configuration 3D Secure 2 du marchand.
9073Une erreur s’est produite (9073); veuillez contacter notre service de soutien.Le compte n’est pas configuré correctement.Le compte marchand utilisé pour la segmentation en unités n’est pas configuré ou est absent du portail d’administration.
9131Une erreur est survenue (9131); veuillez contacter notre service de soutien.L’état du payment handle est FAILEDÉchec de création du Payment handle. Pour plus d’informations, veuillez consulter le code d’erreur dans le portail d’entreprise.
Erreurs spécifiques à ApplePay
9072Il y a eu une erreur (9072), veuillez contacter notre service de soutien.Le nom de domaine n’est pas vérifié dans le compte Apple du développeur pour l’identification du marchand : ${apple_merchant_id}Le nom de domaine n’est pas vérifié pour le compte développeur de l’identifiant Apple spécifié.
9083Il y a eu une erreur (9083), veuillez contacter notre service de soutien.Un problème est survenu lors de l’analyse des données de paiement Apple Pay. Veuillez essayer de nouveau.Impossible de traiter les données Apple Pay renvoyées par la session Apple.
9089Il y a eu une erreur (9089), veuillez contacter notre service de soutien.La validation du marchand chez Apple a échouéLa validation du marchand par rapport aux serveurs d’Apple Pay a échoué.