Intégration Android

Info !!! Pour commencer, vous devez télécharger la dernière version de notre package JAVA. Télécharger

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(0);

  • 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;
        }
      }
    }