API PSR

  OBLIGATOIRE


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.


1 - INTRODUCTION

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.


2 - PRE-REQUIS

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 :



https://votre-domaine/paydunya-api

Réponse attendue mode test


{
    "success": true,
    "mode" : "test",
    "token": "hskjdjkqjkdqskdsq"
}

Réponse attendue mode live


{
    "success": true,
    "token": "hskjdjkqjkdqskdsq"
}

3 - STRUCTURE


Obligatoire


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 :


3-1 - Insérer le fichier css venobox dans la balise head de la strusture HTML.



<link rel="stylesheet" type="text/css" href="https://paydunya.com/assets/psr/css/psr.paydunya.min.css">


3-2 - Mettre le bouton payer à l'intérieur de la balise body.



<button class="pay" onclick="payWithPaydunya(this)" data-ref="102" data-fullname="Alioune Faye" data-email="aliounefaye@gmail.com" data-phone="774563209">Acheter MacBook Pro (2,000,000 FCFA)</button>


3-3 - Inclure le fichier JQuery js, le fichier paydunya js et le script js contenant la fonction 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>

4 - Attributs


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.


data-ref


<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.


data-fullname , data-email et data-phone


<button class="pay" onclick="payWithPaydunya(this)" data-fullname="Alioune Faye" data-email="aliounefaye@gmail.com" 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.

5 - OPTIONS

Les options sont les attributs qui sont dans l'objet passé en paramètre à la fonction javascript Paydunya.setup() dans la structure ci-dessus.

Note


Les options qui ont les astérisques rouges * sont obligatoires.

  • selector  *


    selector: $(btn)

  • url  *


    url: "https://votre-domaine/paydunya-api"

    Ici il s'agit de donner votre URL qui va retourner le lien de paiement

  • method  *


    method : GET

  • displayMode  *


    displayMode: PayDunya.DISPLAY_IN_POPUP

  • beforeRequest


    
        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


    
        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


    
        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


    
        onError: function (error) {
                alert("Unknown Error == ", error.toString());
        }
        
        

    onError est appelé s'il y a erreur au niveau du traitement.

  • onUnsuccessfullResponse


    
        onUnsuccessfulResponse: function (jsonResponse) {
            console.log("Unsuccessful response == " + jsonResponse);
        }
        
        

    Cette fonction est appelée quand le traitement a éte exécuté sans succès.

  • onClose


    
        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