Android SDK

The Android SDK is designed to allow the integration of KKiaPay into your mobile application.

Installation

  1. Add the following line in your root settings.gradle file inside repositories of dependencyResolutionManagement section

maven { url 'https://jitpack.io' }
  1. Add the following line in your app's build.gradle file inside dependencies section

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

Usage

Get your API Key on kkiapay Dashboard at Developer section and initialize the Sdk in your Application Class

Initiate the API

In the onCreate method of your Application class :

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

Kkiapay.init(applicationContext,
    "<kkiapay-api-key>",
    SdkConfig(themeColor = R.color.colorPrimary,
        /* set enableSandbox = false in case you are using live API Keys */
        enableSandbox = true )
)

Example

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

        // Setup listener for payment status
        Kkiapay.get().setListener { status, transactionId ->
            //The following code will be run when user will end the payment
            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 {
            // start the payment process
            // This will display a kkiapay payment dialog to user
            Kkiapay.get().requestPayment(
                this,
                1,
                reason = "Payment of awesome 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)
    }

}

Reference

api_key

String

Yes

public api key

amount

Number

Yes

Amount to debit from user account (XOF)

phone

String

Yes

Valid mobile money number to debit. ex : 22967434270

name

String

No

Client firstname and lastname

email

String

No

Client email

partnerId

String

No

Your id to find transaction

paymentMethods

Array of string

No

Set widget payment methods ex: ["momo","card"]

sandbox

Boolean

No

The true value of this attribute allows you to switch to test modet

reason

String

No

Reason of transaction

Last updated