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.gradle
file insiderepositories
ofdependencyResolutionManagement
section
maven { url 'https://jitpack.io' }
Add the following line in your app's
build.gradle
file insidedependencies
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 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?