Après avoir suivi les étapes se trouvant dans la partie introduction, vous pouvez intégrer dès lors ce client API
en suivant les étapes ci-dessous.
Le PSR Paiement Sans Redirection
, comme son nom l'indique, est un service qui permet à vos clients de passer des paiements sur votre site web sans être redirigé sur la page de paiement de PayDunya. Cette section vous explique comment l’intégrer dans votre site web.
Il faut au préalable générer un checkout invoice comme on le fait avec le PAR, en mode "test"
comme en mode "live"
(voir section de L'API PAR pour générer un checkout invoice) selon votre langage de programmation. Ensuite récupérer le token et le retournez sous format json
dès lors qu'on fera l'appel de votre endpoint
indiqué ci-dessous par une requête HTTP GET :
Vous devez remplacer [votre-domaine]
par le nom de votre domaine.
https://exemple.com
donc l'url sera https://exemple.com/paydunya-api
.
https://[votre-domaine]/paydunya-api
{
"success": true,
"mode" : "test",
"token": "hskjdjkqjkdqskdsq"
}
{
"success": true,
"token": "hskjdjkqjkdqskdsq"
}
La structure HTML à mettre en place se décline suivant trois parties explicitées dans les sections ci-dessous. Pour mieux détailler cette structure, voici les points essentiels :
head
de la strusture HTML.
<link rel="stylesheet" type="text/css" href="https://paydunya.com/assets/psr/css/psr.paydunya.min.css">
payer
à l'intérieur de la balise body
.
<button class="pay" onclick="payWithPaydunya(this)" data-ref="102" data-fullname="Alioune Faye" data-email="[email protected]" data-phone="774563209">Acheter MacBook Pro (2,000,000 FCFA)</button>
payWithPaydunya
:
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="https://paydunya.com/assets/psr/js/psr.paydunya.min.js"></script>
<script>
function payWithPaydunya(btn) {
PayDunya.setup({
selector: $(btn),
url: "https://[votre-domaine]/paydunya-api",
method: "GET",
displayMode: PayDunya.DISPLAY_IN_POPUP,
beforeRequest: function() {
console.log("About to get a token and the url");
},
onSuccess: function(token) {
console.log("Token: " + token);
},
onTerminate: function(ref, token, status) {
console.log(ref);
console.log(token);
console.log(status);
},
onError: function (error) {
alert("Unknown Error ==> ", error.toString());
},
onUnsuccessfulResponse: function (jsonResponse) {
console.log("Unsuccessful response ==> " + jsonResponse);
},
onClose: function() {
console.log("Close");
}
}).requestToken();
}
</script>
Les attributs sont les éléments qui sont au niveau de la balise button
du bouton Payer
. Ils sont optionnels parce qu'ils contiennent des informations qui ne sont pas obligatoires.
<button class="pay" onclick="payWithPaydunya(this)" data-ref="102">Acheter MacBook Pro (2,000,000 FCFA)</button>
L'attribut data-ref
est en quelque sorte un identifiant pour un paiement donné. Il permet d'associer une référence à un paiement. Après fermeture de la fenêtre de paiement, c'est cet identifiant qui est associé au statut du paiement.
<button class="pay" onclick="payWithPaydunya(this)" data-fullname="Alioune Faye" data-email="[email protected]" data-phone="774563209">Acheter MacBook Pro (2,000,000 FCFA)</button>
data-fullname
, data-email
et data-phone
sont trois attributs qui permettent de préremplir le nom complet, l'email et le numéro de téléphone du payeur au moment du paiement. Ils n'auront pas besoin de les remplir.
Les options sont les attributs qui sont dans l'objet passé en paramètre à la fonction javascript Paydunya.setup()
dans la structure ci-dessus.
Les options qui ont les astérisques rouges *
sont obligatoires.
selector: $(btn)
url: "https://[votre-domaine]/paydunya-api"
Ici il s'agit de donner votre URL qui va retourner le lien de paiement
method : GET
displayMode: PayDunya.DISPLAY_IN_POPUP
beforeRequest: function() {
console.log("About to get a token and the url");
}
Cette fonction est appelée juste avant l'éxécution de la requête vers votre url https://[votre-domaine]/paydunya-api
pour récupérer le token et le lien de paiement.
onSuccess: function(token) {
console.log("Token: " + token);
}
OnSuccess est éxécutée après la récupération réussie du token et du lien de paiement depuis votre url https://[votre-domaine]/paydunya-api
.
onTerminate: function(ref, token, status) {
console.log(ref);
console.log(token);
console.log(status);
}
Cette fonction est éxécutée juste après le paiement. Elle vous renverra en paramètre votre référence donnée au départ, le token, et le status de paiememt: pending
, completed
, failed
et cancelled
.
onError: function (error) {
alert("Unknown Error == ", error.toString());
}
onError est appelé s'il y a erreur au niveau du traitement.
onUnsuccessfulResponse: function (jsonResponse) {
console.log("Unsuccessful response == " + jsonResponse);
}
Cette fonction est appelée quand le traitement a éte exécuté sans succès.
onClose: function() {
console.log("Close");
}
onClose est la fonction qui sera exécutée après la fermeture de la fenêtre de paiement. Elle vous donnera en paramètre la reférence donnée au départ associée au status du paiement: pending
, completed
, failed
et cancelled