Fonction challenge
La fonction challenge initialise la procédure de défi pour un client. Elle comporte les paramètres suivants :
- La version encodée en Base64 de la clé d’API publique (générant un jeton à usage unique). Notez que cette clé ne peut être utilisée que pour générer des jetons à usage unique et qu’elle ne dispose d’aucun autre droit d’accès à l’API, comme ceux nécessaires à l’encaissement de paiements. Par conséquent, cette clé peut être exposée publiquement dans le navigateur de l'utilisateur.
- Un objet options contenant l’environnement à utiliser (Test ou Live) et les données utiles de défi de la SDK.
- Une fonction callback pour traiter les erreurs ou informer l’appelant en lui communiquant l’identifiant d’authentification.
La signature de la fonction est la suivante :
paysafe.threedsecure.challenge(apikey,options,callback);
Environnement
L’objet options contient une chaîne permettant de sélectionner l’environnement à utiliser pour traiter le défi, soit LIVE (l’environnement de production Paysafe), soit TEST (l’environnement de test marchand Paysafe ou le bac à sable).
N’utilisez pas de vrais numéros de cartes ou d’autres données d’instruments de paiement dans l’environnement de test marchand. Il n’est pas conforme aux normes de sécurité des données de l’industrie des cartes de paiement (PCI-DSS) et ne protège pas les informations relatives aux titulaires de cartes et aux bénéficiaires. Tout téléversement de données réelles de titulaires de cartes est strictement interdit, comme décrit dans les conditions d’utilisation..
Test
paysafe.threedsecure.challenge("my Base64 encoded single-use-token API key", {
environment: "TEST",
sdkChallengePayload: "Challenge payload returned by the call to the /authentications endpoint"
}, function (id, error) {...});
Production
paysafe.threedsecure.challenge("my Base64 encoded single-use-token API key", {
environment: "LIVE",
sdkChallengePayload: "Challenge payload returned by the call to the /authentications endpoint"
}, function (id, error) {...});
Default
Si vous omettez l’objet environment, en passant une valeur vide ou nulle pour ce paramètre, l’environnement Live sera utilisé.
paysafe.threedsecure.challenge("my Base64 encoded single-use-token API key", {
sdkChallengePayload: "JavaScript SDK challenge payload returned by the call to the /authentications endpoint"
}, function (id, error) {...});
Fonction challenge et ses objets
Voici une liste complète des paramètres de la fonction challenge, des objets JavaScript utilisés par la fonction challenge et des paramètres qu’ils contiennent.
Paramètre | Requis | Type | Description |
---|---|---|---|
apiKey | true | string | La version encodée en Base64 de la clé API publique (générant un jeton à usage unique). |
options | true | object | Il s’agit d’un objet qui contient l’environnement et sdkChallengePayload. |
callback | true | function | Il s’agit d’une fonction qui renvoie soit le paramètre authenticationId ou un code d’erreur. |
options | |||
environment | false | string | Cela permet de sélectionner l’environnement à utiliser pour gérer le défi. Les valeurs éventuelles sont :
Si aucun environnement n’est spécifié, la valeur par défaut est LIVE. |
sdkChallengePayload | true | string | Il s’agit des données utiles du défi de la SDK JavaScript renvoyées par l’appel au point d’extrémité /authentications. |
callback
La fonction callback est invoquée pour gérer les erreurs ou notifier l’appelant avec l’identifiant d’authentification.
Paramètre | Requis | Type | Description |
---|---|---|---|
Id | false | string | Si l’opération est réussie, il s’agit de l’identifiant qui sera utilisé pour appeler le point d’extrémité /authentications/{id} pour récupérer les résultats du défi. |
error | false | object | Objet contenant des informations sur l’erreur. Ce champ est présent si l’opération échoue. Le contenu de cet objet est décrit ci-dessous. |
error | |||
code | true | string | Il s’agit du code d’erreur. |
displayMessage | true | string | Il s’agit du message d’erreur qui s’affiche. |
detailedMessage | false | string | Il s’agit d’une description détaillée de l’erreur. |
correlationId | false | string | Il s’agit de l’identifiant unique de l’erreur qui doit être fourni au soutien Paysafe lors d’une enquête. |
Voici un exemple :
function callback(id, error) {
if (error) {
// error handling
} else {
// manage a further call (preferably server-to-server) to the /authentications/{id} endpoint to receive the results of the challenge
}
}
Erreurs de la fonction challenge
Les erreurs suivantes ne seront pas renvoyées par la fonction callback fournie, mais plutôt déclenchées.
Code | Message affiché | Message détaillé | Description |
---|---|---|---|
9004 | Une erreur est survenue (9004); veuillez contacter notre service de soutien. | Callback doit être une fonction. | Le paramètre callback doit être une fonction valide. |
9012 | Une erreur s’est produite (9012); veuillez contacter notre service de soutien. | Nombre d’arguments non valides | Le nombre d’arguments fourni n’est pas 3. |
Un exemple de gestion des erreurs est présenté ci-dessous :
try {
paysafe.threedsecure.challenge(apiKey, options, (id, challengeError) => {
// Regular callback function
});
} catch (e) {
//Handle the thrown exception
}
Erreurs transmises à callback
Les erreurs suivantes seront renvoyées par la fonction callback fournie.
Code | Message affiché | Message détaillé | Description |
---|---|---|---|
9013 | Une erreur s’est produite (9013); veuillez contacter notre service de soutien. | Paramètre apiKey non valide. | Le paramètre apiKey fourni n’est pas une chaîne ou n’est pas une valeur valide encodée en Base64. |
9014 | Une erreur s’est produite (9014); veuillez contacter notre service de soutien. | Une erreur non gérée s’est produite. | Une erreur qui n’a pas été gérée par la SDK Paysafe.js a été déclenchée. |
9015 | Il y a eu une erreur (9015), veuillez contacter notre service de soutien. | Argument d’options non valide. | Le paramètre options fourni n’est pas un objet. |
9500 | Une erreur s’est produite (9500); veuillez contacter notre service de soutien. | Champs d’option non valides : ${options} non valide | Valeurs non valides transmises en tant qu’options |