Skip to main content
Primer Checkout Android SDK is currently in beta (v3.0.0-beta.2). The API is subject to change before the stable release.
Composable that renders available payment methods with customizable header and item slots. Handles surcharge grouping automatically.

Signature

@Composable
fun PrimerPaymentMethods(
    controller: PrimerPaymentMethodsController,
    modifier: Modifier = Modifier,
    header: @Composable () -> Unit = { PaymentMethodsDefaults.SectionHeader() },
    method: @Composable (PrimerPaymentMethod, () -> Unit) -> Unit = { paymentMethod, onClick ->
        PaymentMethodsDefaults.Method(paymentMethod, onClick)
    },
)

Parameters

ParameterTypeDefaultDescription
controllerPrimerPaymentMethodsControllerRequiredController providing available payment methods
modifierModifierModifierModifier applied to the root container
header@Composable () -> UnitPaymentMethodsDefaults.SectionHeader()Slot for section header above the list
method@Composable (PrimerPaymentMethod, () -> Unit) -> UnitPaymentMethodsDefaults.Method(...)Slot for each payment method item. Receives method data and onClick callback.

Default behavior

Renders a “Pay with” header, a vertical list of methods with icon, name, and optional surcharge, and groups methods by surcharge amount. Shows PaymentMethodsDefaults.EmptyState() when no methods are available.