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: