Integrate Cherp into your Android app with Kotlin
build.gradle.kts
dependencies { implementation("dev.cherp:sdk-android:1.0.0") }
import dev.cherp.sdk.PaymentSDK val sdk = PaymentSDK.init( apiKey = "pk_live_...", debug = BuildConfig.DEBUG )
PaymentWallet
class MyWallet : PaymentWallet { override val address: String = walletAddress override val chain: CAIP2ChainId = CAIP2ChainId.SOLANA override suspend fun signTransaction(tx: UnsignedTransaction): SignedTransaction { // Sign with your wallet provider } }
// 1. Create an intent val intent = sdk.createIntent( chain = "solana:5eykt4UsFv8P8NJdTREpY1vzqKq2Kvdp", token = "USDC", amount = "10.50", requestor = wallet.address, idempotencyKey = "order_982734" ) // 2. Start audio broadcast val broadcast = sdk.broadcast(intent) // 3. Watch for fulfillment sdk.onStatusChange(intent) { status, context -> if (status == IntentState.CONFIRMED) { broadcast.stop() // Payment complete } }
// 1. Listen for audio signal val received = sdk.listen() // 2. Handle with default UI sdk.onIntentReceived(received.intentId, wallet) // Or headless mode for custom UI sdk.onIntentReceived(received.intentId, wallet, headless = true, onDetails = { intent, summary -> // Render payment details }, onComplete = { intent -> // Payment confirmed }, onError = { error -> // Handle error } )