📍 Bolt Help / Developer Resources / SDKs / Android WebView SDK Setup Android WebView SDK Setup Install Bolt into your Android tech stack using our platform software development kits (SDKs) for Android WebView. Welcome to the Bolt Android SDK! Our goal is to deliver the most innovative checkout experience possible — for both you and your shoppers. To get started, follow this guide to install the Android SDK on your application. Webview Native Guest Checkout Step 1: Install Bolt’s Android SDK Package Download the latest version of the Android Checkout SDK: Download the SDK Package Copy the .aar file into the libs folder of your app module directory, or wherever you store your local libraries (for example, /root/app/libs/). Add the .aar file as a dependency in your build.gradle: implementation files("libs/checkout.aar") Step 2: Initialize the Bolt SDK Before SDK functionality can be called anywhere in your code, you must initialize the SDK. In the overridden onCreate method of your mainActivity (or whichever activities or application classes will need to use the SDK), call BoltCheckout.init and reference your Bolt API Keys. These keys can be found in the Merchant Dashboard > Developers > API. // MainActivity.kt class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { BoltCheckout.init( publishableKey = "INSERT_YOUR_PUBLISHABLE_KEY", apiKey = "INSERT_YOUR_API_KEY", environment = BoltEnvironment.STAGING, // Replace with appropriate environment application = application, ) } } Step 3: Generate an Order Token Wherever you want to start checkout, you first need to create an order token to generate the Webview URL. Your storefront app will need to tokenize the basket data and retrieve an order token via an order request with the createOrderToken endpoint. Similarly, a Progressive Web App (PWA) requires the token to initialize and configure the Bolt Checkout Button. graph LR A[Bolt] <--> B((Bolt API)) B <--> D([Android App]) B <--> E([iOS App]) B <--> F([PWA]) D -->|token| G[Webview Checkout] E -->|token| H[Webview] F -->|token| I[iFrame Checkout] The order token will be returned as a string in a successful request with the value token, which you can then use to proceed with initializing checkout. { "cart": { ... }, "dynamic_content": { ... }, "external_data": { ... }, "token": "string", "user_note": "string" } Step 4: Start Checkout After you have received the order token, call the startCheckout method on the instance of BoltCheckout. Step 5: Receive Callback Events When checkout is complete, pass in an instance of BoltCheckoutDelegate to receive callback events. // CartFragment.kt class CartFragment : Fragment(), BoltCheckoutDelegate { private val boltCheckoutResultLauncher = boltCheckout.getBoltCheckoutActivityResultLauncher(this, this) fun handleCheckoutStart(orderToken: String) { val boltCheckout = BoltCheckout.get() boltCheckout.startCheckout( orderToken = orderToken, // Newly created token for this order hints = BoltMerchantHints( // Can prefill user input fields firstName = "Bob", lastName = "Builder", ), ), context = requireContext(), checkoutActivityResultLauncher = boltCheckoutResultLauncher, } override fun onCheckoutCancel() { // todo handle cancel } override fun onCheckoutError(errorReason: String) { // todo handle error } override fun onCheckoutSuccess(orderReference: String) { // todo handle success } }