Instalace a inicializace
Ke stažení
Knihovna je distribuována jako AAR artefakt společně s POM souborem závislostí. Stáhněte si verzi, kterou chcete integrovat:
| Verze | AAR | POM |
|---|---|---|
| 1.0.0 | comgateSdk-1.0.0.aar | comgateSdk-1.0.0.pom |
Přidání knihovny do projektu
Doporučený postup integrace:
- Umístěte stažený AAR soubor do projektu (typicky do složky
app/libs). - Přidejte AAR jako závislost aplikace.
- Zajistěte dostupnost závislostí uvedených v POM souboru.
Příklad základního přidání AAR v build.gradle.kts:
dependencies {
implementation(files("libs/comgateSdk-1.0.0.aar"))
}
POM soubor ke stažení obsahuje deklarované závislosti knihovny. Při integraci vždy vycházejte z dvojice AAR + POM stejné verze.
Knihovna vyžaduje compileSdk 34 a minSdk 28. Ověřte, že konfigurace vaší aplikace splňuje tyto požadavky.
Konfigurace AndroidManifest.xml
Knihovna ve svém manifestu automaticky deklaruje potřebná oprávnění a komponenty. Ujistěte se, že vaše aplikace má povolení pro přístup k internetu:
<uses-permission android:name="android.permission.INTERNET" />
Pro využití Google Pay je v manifestu knihovny automaticky registrován meta-data záznam:
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true" />
Vytvoření session
Třída ComgateSecureSession je hlavním vstupním bodem pro práci s knihovnou. Session zajišťuje:
- interní bezpečnostní inicializaci,
- inicializaci 3D Secure,
- zpracování karetních plateb a Google Pay plateb.
Parametry konstruktoru
| Parametr | Typ | Povinný | Popis |
|---|---|---|---|
checkoutId | String | ✅ | Identifikátor Checkout SDK propojení. Získáte v klientském portálu Comgate. |
context | Context | ✅ | Android kontext aplikace (typicky applicationContext). |
threeDSConfig | ThreeDSConfig | ✅ | Konfigurace 3D Secure (UI, timeout, verze protokolu). Podrobnosti v sekci Karetní data - 3D Secure. |
lifecycleOwner | LifecycleOwner | ✅ | Vlastník životního cyklu (např. Activity/Fragment). Session se zaregistruje jako observer a při onDestroy() automaticky uvolní zdroje. |
devMode | Boolean | Zapíná vývojový/testovací režim (např. dev SSL). Ovlivňuje také prostředí Google Pay — true přepne na testovací prostředí (TEST), false na produkční (PRODUCTION). Výchozí false. | |
googleMerchantId | String? | Google Pay Merchant ID. Povinný pro Google Pay v produkci. | |
googleMerchantName | String? | Název obchodníka zobrazený v Google Pay platebním dialogu. | |
translation | Translation | Překlady textů komponent. Výchozí Translation.English. | |
lang | String? | Kód jazyka (BCP 47 / ISO 639-1) odesílaný s platebním požadavkem (např. "cs", "en"). Pokud není zadán, použije se jazyk zařízení (je-li podporován). Dostupné kódy viz ComgateSecureSession.supportedLanguageCodes. | |
onInitialized | ((Result<Unit>) -> Unit)? | Volitelný callback pro automatickou inicializaci session z konstruktoru. |
Síťová infrastruktura a komunikace jsou interně řízené knihovnou. Při standardní integraci není potřeba nic měnit.
Inicializace
Doporučený způsob inicializace je předat callback onInitialized přímo do konstruktoru ComgateSecureSession.
Android context se předává přímo do konstruktoru, kde je interně uložen (application context). Samostatné volání initializeContext(...) již není potřeba.
class MainActivity : AppCompatActivity() {
private lateinit var session: ComgateSecureSession
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
session = ComgateSecureSession(
checkoutId = "váš-checkout-id",
context = applicationContext,
threeDSConfig = ThreeDSConfig(), // výchozí 3DS konfigurace
lifecycleOwner = this,
onInitialized = { result ->
result.onSuccess {
// Session je připravena - lze zpracovávat platby
}.onFailure { e ->
// Chyba inicializace
Log.e("Payment", "Init failed: ${e.message}")
}
}
)
setContent {
MaterialTheme {
Surface(modifier = Modifier.fillMaxSize()) {
// Váš platební formulář — viz sekce Karetní data
}
}
}
}
}
Callback onInitialized (i callback metody initialize) je volán na hlavním vlákně (main thread). Můžete v něm přímo aktualizovat UI.