Fonction canMakePayment
La fonction canMakePayment vérifie si le paiement est possible en fonction de la configuration du marchand, du logiciel client (version du système d’exploitation et navigateur) et du support matériel. Vous devez l’appeler avant la fonction showButtons pour détecter les problèmes potentiels qui pourraient faire échouer cette dernière fonction, et le paiement qui s’ensuit. Si le paiement n’est pas possible, cela vous donne la possibilité de prendre d’autres mesures, par exemple proposer au client un autre mode de paiement.
La signature de la fonction est la suivante :
paysafe.request.canMakePayment(callback);
Requis | Type | Description | ||
callback | true | function(methods, error) {...} | Contient les modes de paiement pris en charge, qui dépendent à leur tour de ce qui suit :
| |
methods | s.o. | tableau de chaînes | Répertoire de tous les modes de paiement pris en charge. Par exemple : ["APPLEPAY"] | |
error | s.o. | object | Objet d’erreur indiquant la raison de l’échec : 9013, 9077, 9080, 9084, 9085, 9086 Une valeur nulle indique un succès : le paiement est possible. | |
{throws} | s.o. | Déclenche une exception avec les erreurs suivantes : 9004, 9014, 9067. | ||
{return} | false | undefined |
Exemple Apple Pay
Cet exemple dans l’environnement TEST utilise la fonction canMakePayment pour vérifier si le paiement est possible avant d’appeler onTokenization et showButtons.
<html>
<head>
<script type="text/javascript" src="https://hosted.paysafe.com/request/v1/latest/paysafe.request.min.js"></script>
</head>
<body>
...
<div id="x-paysafe-apple-pay-button"></div>
...
<script>
paysafe.request.init("my API key", {
country: "US",
currency: "USD",
amount: 1234,
label: "My label",
environment: "TEST"
});
paysafe.request.canMakePayment(function (methods, error) {
if (methods) {
if (methods.indexOf("APPLEPAY") < 0) {
// Apple pay not supported
} else {
paysafe.request.onTokenization(function (event, error) {
if (event) {
// Process the token - event.result.token
// Acknowledge - event.showSuccess() or reject event.showFailure()
event.showSuccess();
} else {
// handle error
}
});
paysafe.request.showButtons(function (displayedPaymentMethods, error) {
if (error) {
// handle error
}
});
}
} else {
// handle error
}
});
</script>
</body>
</html>