Intégration Android

Info !!! Pour commencer, vous devez télécharger la dernière version de notre package JAVA. Télécharger
Attention !!! Pour vos tests, connectez vous plutôt à la plateforme de test. Connexion à la Plateforme de test

En vous inscrivant sur la plateforme de test, votre compte de test sera crédité de 100.000 Fcfa. Cela vous permettra d’éffectuer en toute aisance les tests d’intégration avant de passer en production.

Cela fait, suivez les étapes suivantes :

  • Décompressez le fichier .zip
  • Copiez le fichier pay-android-gateway-release.aar dans le dossier libs de votre application
  • Ouvrez le fichier build.gradle de votre application et modifiez la ligne
    implementation fileTree(dir: 'libs', include: ['*.jar']) pour avoir
    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
  • Toujours dans le fichier build.gradle, rajoutez dans le bloc dependencies les lignes ci-après :
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.squareup.okhttp3:okhttp:3.12.1'
    implementation 'com.squareup.okio:okio:2.1.0'
    implementation 'com.squareup.retrofit2:retrofit:2.5.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
  • Effectuez un gradle build pour mettre à jour votre application
Info !!! A ce stade, votre application est prête à utiliser notre plugin

Ouvrez maintenant l’activité ou le fragment où se passera le paiement.
Cela fait, suivez les étapes suivantes :

  • Déclarez le request code et les variables de configuration du plugin en copiant-collant
    private static final int PLUS_PAYMENT_ACTIVITY_RESULT = 1102; // Le request code du plugin (ne pas modifier sa valeur)
    private Pay_Setup RequestSetup, ResponseSetup;
  • Initialisez le plugin en copiant-collant
    String appName = "nom de votre application mobile";
    RequestSetup = new Pay_Setup(); // initialisation de la variable setup pour l'envoi
    ResponseSetup = new Pay_Setup(); // initialisation de la variable setup pour la reponse
    RequestSetup.setApi_public_key("Clé principale générée lors de la création de votre application");
    RequestSetup.setApi_token("Token générée lors de la création de votre application");
    // Définition du mode d'utilisation. Soit 'test' soit 'live', exemple : RequestSetup.setMode("live") ou RequestSetup.setMode("test")
    RequestSetup.setMode("Mode de fonctionnement de votre application");
  • RequestSetup.setMethod(1);

  • Supposons que votre client ait acheté deux articles. Pour ajouter ces deux articles dans le setup, faites comme ceci :
    RequestSetup.addInvoiceitem(new Pay_InvoiceItem("Jean Gucci", 3, 150, 450, "Jean bleu, de marque Gucci"));
    RequestSetup.addInvoiceitem(new Pay_InvoiceItem("Jean Prada", 2, 100, 200, "Jean noir, de marque Prada"));
  • Prototype de la classe Pay_InvoiceItem
    Pay_InvoiceItem(String name, double quantity, double unit_price, double total_price, String description) où :
    name : nom de l’article
    quantity : quantité de l’article
    unit_price : prix unitaire de l’article
    total_price : prix total de l’article
    description : description de l’article acheté ou autres détails sur l’article

  • Pour ajouter le total et la description de la facture, faites comme ceci :
    RequestSetup.setDescription("Achat de "+ RequestSetup.getInvoiceItems().size()+" article(s) pour "+RequestSetup.getTotal_amount()+" franc(s) dans "+appName );
    RequestSetup.setTotal_amount(650); // permet d'indiquer le montant total de la facture. c'est ce montant qui sera défalqué au client
  • Pour lancer le processus de paiement, faites comme ceci :
    Intent PaymentActivity = new Intent(getApplicationContext(), pay_payment_activity.class);
    Bundle PaymentActivitySetup = new Bundle();
    PaymentActivitySetup.putParcelable("setup",RequestSetup);
    PaymentActivity.putExtras(PaymentActivitySetup);
    startActivityForResult(PaymentActivity, PAY_PAYMENT_ACTIVITY_RESULT);
  • Pour récupérer le résultat du processus de paiement, faites comme ceci :
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
      if (requestCode == PAY_PAYMENT_ACTIVITY_RESULT && resultCode == RESULT_OK) {
        Bundle PaymentActivitySetup = data.getExtras();
        Pay_GetReport report = PaymentActivitySetup.getParcelable("report");
        ResponseSetup = PaymentActivitySetup.getParcelable("setup");
        switch (report.getResponse_code()){
          case "00":
            if(report.getStatus() == "completed"){
              // ecrivez ici votre code de paiement réussi
              Toast.makeText(getApplicationContext(),"Succes", Toast.LENGTH_SHORT).show();
            }else{
              //ecrivez ici votre code paiement échoué
              Toast.makeText(getApplicationContext(),"Echec", Toast.LENGTH_SHORT).show();
            }
            // pour recuperer le token de cette transaction, faites ResponseSetup.getInvoiceToken();
          break;
          default:
            //ecrivez ici votre code paiement échoué
            Toast.makeText(getApplicationContext(),"Echec", Toast.LENGTH_SHORT).show();
            // affichage du motif de l'echec
            Toast.makeText(getApplicationContext(),""+report.getResponse_text(),Toast.LENGTH_SHORT).show();
            // pour recuperer le token de cette transaction, faites ResponseSetup.getInvoiceToken();
          break;
        }
      }
    }