Official Android Kotlin SDK for ShegerPay — Ethiopian payment verification
# ShegerPay Android SDK
Official Android SDK for ShegerPay Payment Verification Gateway.
## 📦 Installation
### Gradle (Kotlin DSL)
```kotlin
dependencies {
implementation("com.shegerpay:sdk:2.2.0")
}
```
### Gradle (Groovy)
```groovy
dependencies {
implementation 'com.shegerpay:sdk:2.2.0'
}
```
### JitPack
Add to your root `build.gradle`:
```groovy
allprojects {
repositories {
maven { url '
jitpack.io' }
}
}
```
Then add:
```groovy
dependencies {
implementation 'com.github.shegerpay:android-sdk:2.2.0'
}
```
---
## 🚀 Quick Start
### Kotlin (Recommended)
```kotlin
import com.shegerpay.sdk.ShegerPay
// Initialize client
val client = ShegerPay("sk_test_xxx")
// Verify Ethiopian payment (in a coroutine)
lifecycleScope.launch {
val result = client.verify(
transactionId = "FT24352648751234",
amount = 100.0,
provider = PaymentProvider.CBE
)
if (result.valid) {
Log.d("ShegerPay", "✅ Payment verified!")
Log.d("ShegerPay", "Payer: ${result.payer}")
}
}
```
### Java
```java
import com.shegerpay.sdk.ShegerPayJava;
import com.shegerpay.sdk.ShegerPayCallback;
import com.shegerpay.sdk.VerificationResult;
// Initialize client
ShegerPayJava client = new ShegerPayJava("sk_test_xxx");
// Verify payment
client.verify("FT24352648751234", 100.0, new ShegerPayCallback () {
@Override
public void onSuccess(VerificationResult result) {
if (result.getValid()) {
Log.d("ShegerPay", "✅ Payment verified!");
}
}
@Override
public void onError(ShegerPayException error) {
Log.e("ShegerPay", "Error: " + error.getMessage());
}
});
```
---
## 💳 Ethiopian Payment Verification
### Auto-Detect Provider
```kotlin
// Use quickVerify() when the provider is ambiguous.
val result = client.quickVerify(
transactionId = "FT24352648751234",
amount = 100.0
)
```
### BOA Verification
```kotlin
val result = client.verify(
transactionId = "
cs.bankofabyssinia.com",
amount = 100.0,
provider = PaymentProvider.BOA,
merchantName = "My Shop",
senderAccoun …