Android SDK
The Android SDK is designed to allow the integration of KKiaPay into your mobile application.
Installation
Add the following line in your root
settings.gradlefile insiderepositoriesofdependencyResolutionManagementsection
maven { url 'https://jitpack.io' }Add the following line in your app's
build.gradlefile insidedependenciessection
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.Kkiapayclass 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 protected]",
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
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
Was this helpful?