In your Application class create an instance of the TapToPaySdk by invoking static method TapToPaySdk.createInstance(tyroEnv, appContext, options) in onCreate().
The TyroEnv requires the PosInfo and ConnectionProvider in the constructor. There are 3 TyroEnv subclasses to use based on the desired environment: TyroEnvStub, TyroEnvDev, and TyroEnvProd.
The applicationContext from the Application. This function must be called inside onCreate() otherwise the context is null.
Options to configure the SDK such as screen orientation.
See TyroEnv for more info.
Optional parameters to provide to the SDK.
Sets the screen orientation for Tyro UI. For smaller devices like mobile phone, only PORTRAIT is supported.
Sets the theme mode for Tyro UI. Defaults to SYSTEM.
Enables the haptic feedback for Tyro Embedded Payment SDK. Defaults to true.
Create an instance of the TapToPaySdk in your Application class.
// Kotlin Sample Code
import android.app.Application
import com.tyro.taptopay.sdk.api.TapToPaySdk
import com.tyro.taptopay.sdk.api.TapToPaySdk.Companion.createInstance
import com.tyro.taptopay.sdk.api.TyroEnv
import com.tyro.taptopay.sdk.api.TyroEnvDev
import com.tyro.taptopay.sdk.api.TyroEnvProd
import com.tyro.taptopay.sdk.api.TyroEnvStub
import com.tyro.taptopay.sdk.api.TyroOptions
import com.tyro.taptopay.sdk.api.TyroScreenOrientation
import com.tyro.taptopay.sdk.api.data.PosInfo
class SdkDemoApplication : Application() {
lateinit var tapToPaySDK: TapToPaySdk
override fun onCreate() {
super.onCreate()
tapToPaySDK = createTapToPaySdk()
}
@Suppress("KotlinConstantConditions")
private fun createTapToPaySdk(): TapToPaySdk {
val tyroEnv: TyroEnv =
when (BuildConfig.FLAVOR) {
"stub" -> TyroEnvStub()
"dev" ->
TyroEnvDev(
connectionProvider = SdkDemoConnectionProvider(),
)
else ->
TyroEnvProd(
connectionProvider = SdkDemoConnectionProvider(),
)
}
return createInstance(tyroEnv, applicationContext, TyroOptions(TyroScreenOrientation.PORTRAIT, TyroThemeMode.SYSTEM, hapticFeedbackEnabled = true)).apply {
setPosInfo(
PosInfo(
posName = "Demo",
posVendor = "Tyro Payments",
posVersion = "1.0",
siteReference = "Sydney",
),
)
}
}
}