This page provides the complete reference for all delegate interfaces, result types, and data models in the Bolt Android SDK (com.bolt:checkout). The SDK is available on Maven Central.
BoltCheckoutDelegate
Implement this delegate when using getBoltCheckoutActivityResultLauncher().
Terminal Callbacks (Required)
Lifecycle Callbacks (Optional)
These default to no-op and are useful for analytics:
Bidirectional Callbacks (Optional, Suspend: WebView Mode Only)
These are request/response callbacks: the checkout WebView sends a request and waits for your app to respond. Both are suspend functions, so you can perform async work before returning.
BoltCheckoutResult
onCheckoutSuccess receives a BoltCheckoutResult that mirrors Bolt’s ClientTransactionView. All fields are optional where the type allows null.
Reconciliation Fields
Transaction Core
BoltAmountView
Parties and Payment Instruments
Authorization, Capture, and Risk
Addresses and Shipping
BoltShippingOption is the checkout success parcelable (selected shipment on the transaction). It is not the same type as BoltFrontendShippingOption, which is only used in fetchShippingOptions.
Cart, Integrations, and Notes
BoltLoginDelegate
Implement this delegate when using getLoginActivityResultLauncher().
BoltPaymentFlowDelegate
Implement this delegate when using getPaymentFlowActivityResultLauncher(). The payment flow is a standalone UI for collecting and tokenizing a payment method without running the full checkout.
BoltPaymentAuthorizationDelegate
Implement this delegate when calling authorizePayment(). Used in custom checkout flows where you collected a card via the payment flow.
Shipping Types
BoltFrontendShippingOption
Each entry in BoltFrontendShippingAndTaxResult.shippingOptions:
BoltFrontendShippingAndTaxResult
Return type for fetchShippingOptions: