SDK Android

Le SDK Android est conçu afin de permettre l'intégration de KKiaPay au sein de votre application mobile.

Installation

  1. Ajoutez la ligne suivante dans votre fichier root settings.gradle dans les repertoires de la section dependencyResolutionManagement

maven { url 'https://jitpack.io' }
  1. Ajoutez ceci dans le fichier build.gradle de votre application dans la section dependencies

implementation 'com.github.kkiapay:android-sdk:<latestVersion>'

Usage

Récupérez votre clé d'API sur le tableau de bord kkiapay dans la section Développeurs et initialisez le SDK dans votre classe d'application.

Initialisez l'API

Dans la méthode onCreate de votre classe Application :

import co.opensi.kkiapay.uikit.Kkiapay
import co.opensi.kkiapay.uikit.SdkConfig

Kkiapay.init(applicationContext,
    "<kkiapay-api-key>",
    SdkConfig(themeColor = R.color.colorPrimary,
        /* définissez enableSandbox à false si vous utilisez les clés d'API live */
        enableSandbox = true )
)

Exemple

import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import co.opensi.kkiapay.uikit.Kkiapay
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override fun onStart() {
        super.onStart()

        // Configure le listener pour le statut de paiement
        Kkiapay.get().setListener { status, transactionId ->
            // Ce code s'exécutera à la fin du paiement
            Toast.makeText(
                this@MainActivity,
                "Transaction: ${status.name} -> $transactionId",
                Toast.LENGTH_LONG
            ).show()
        }
    }

    override fun onResume() {
        super.onResume()
        val testButtonWithKkiapay = findViewById<Button>(R.id.test_button_with_kkiapay)
        testButtonWithKkiapay.setOnClickListener {
            // commence le processus de paiement
            // Ceci affichera le widget de paiement à l'utilisateur
            Kkiapay.get().requestPayment(
                this,
                1,
                reason = "Paiement d'un service",
                api_key = "<kkiapay-api-key>",
                sandbox = false,
                name = "Johna DOE",
                partnerId = "AxXxxXXid",
                phone = "22961877882",
                email = "email@mail.com",
                paymentMethods = listOf("momo", "card", "direct_debit"),
            )
        }
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        Kkiapay.get().handleActivityResult(requestCode, resultCode, data)
    }

}

Références

Attribut

Type

Requis

Description

api_key

String

Oui

Votre clé d'API publique

amount

Number

Oui

Le montant à débiter au client

phone

String

Oui

Numéro de téléphone du client à débiter. Ex: 22967434270

name

String

Non

Nom et prénoms du client

email

String

Non

L'email du client

partnerId

String

Non

Votre id pour retrouver la transaction

paymentMethods

Array of string

Non

Les méthodes de paiement à autoriser sur le widget. Ex: ["momo","card"]

sandbox

Boolean

Non

La valeur true de cet attribut vous permet de passer en mode test

reason

String

Non

La raison de la transaction

Last updated