Primer Checkout Android SDK is currently in beta (v3.0.0-beta.2).
The API is subject to change before the stable release.
Represents a country in the billing address form. Used by PrimerCardFormController for country selection.
Definition
data class PrimerCountry(
val name: String,
val code: CountryCode,
)
Properties
| Property | Type | Description |
|---|
name | String | Human-readable country name (e.g., "United States", "Germany") |
code | CountryCode | ISO 3166-1 alpha-2 country code enum (249 values) |
CountryCode
ISO 3166-1 alpha-2 enum with 249 country codes. Examples:
| Value | Country |
|---|
CountryCode.US | United States |
CountryCode.GB | United Kingdom |
CountryCode.DE | Germany |
CountryCode.FR | France |
CountryCode.JP | Japan |
CountryCode.AU | Australia |
Country selection controller
The card form provides a dedicated controller for country selection with search:
@Composable
fun rememberCountrySelectionController(): PrimerCountrySelectionController
PrimerCountrySelectionController
| Property / Method | Type | Description |
|---|
state | StateFlow<State> | Current state of the country picker |
onCountrySelected(countryCode, countryName) | (String, String) -> Unit | Select a country by ISO code and name |
onSearch(query) | (String) -> Unit | Filter the country list by search query |
State
| Property | Type | Description |
|---|
countries | List<PrimerCountry> | All available countries |
filteredCountries | List<PrimerCountry> | Countries matching the current search query |
searchQuery | String | Current search query |
isLoading | Boolean | true while the country list is loading |
Country selection is part of the card form billing address flow:
val cardFormController = rememberCardFormController(checkout)
val state by cardFormController.state.collectAsStateWithLifecycle()
val selectedCountry: PrimerCountry? = state.selectedCountry
cardFormController.requestCountrySelection()
Calling requestCountrySelection() opens the country picker. The selected country appears in state.selectedCountry.
See PrimerCardFormController for full card form API.