Controls all colors in the PaymentSheet. Pass an instance to the paymentSheetColors parameter of any PaymentSheet composable.
All properties are optional. Omit any you don't need and the default value will be used.
PaymentSheetColors shape
data class PaymentSheetColors(
val surface: Color = Color.White,
val logoTextColor: Color = Color.Black,
val textColor: Color = Color.Black,
val errorContainerColor: Color = FinixErrorTextSurface,
val containerColor: Color = FinixGray,
val focusedIndicatorColor: Color = FinixBlue,
val unfocusedIndicatorColor: Color = Color.Transparent,
val focusedLabelColor: Color = FinixBlue,
val unfocusedLabelColor: Color = Color.Black,
val placeholderColor: Color = FinixPlaceHolderTextGray,
val errorBorderColor: Color = FinixErrorRed,
val errorLabelColor: Color = FinixErrorRed,
val errorPlaceholderColor: Color = FinixPlaceHolderTextGray,
val tokenizeButtonColor: Color = FinixBlue,
val tokenizeButtonTextColor: Color = Color.White,
val cancelButtonColor: Color = FinixRed,
val cancelButtonTextColor: Color = Color.White,
)surface / textColor / logoTextColor / containerColor
| Property | Default | Description |
|---|---|---|
surface | Color.White | Background color of the entire sheet. |
textColor | Color.Black | Color of text inside input fields. |
logoTextColor | Color.Black | Color of the logo label at the top of the form. |
containerColor | FinixGray | Background fill color of each input field. |
focusedIndicatorColor / unfocusedIndicatorColor / focusedLabelColor / unfocusedLabelColor / placeholderColor
| Property | Default | Description |
|---|---|---|
focusedIndicatorColor | FinixBlue | Border color of the active (focused) field. |
unfocusedIndicatorColor | Color.Transparent | Border color of inactive fields. |
focusedLabelColor | FinixBlue | Label color when the field is active. |
unfocusedLabelColor | Color.Black | Label color when the field is inactive. |
placeholderColor | FinixPlaceHolderTextGray | Color of placeholder text inside fields. |
errorBorderColor / errorLabelColor / errorContainerColor / errorPlaceholderColor
| Property | Default | Description |
|---|---|---|
errorBorderColor | FinixErrorRed | Border color when a field has a validation error. |
errorLabelColor | FinixErrorRed | Label color when a field has a validation error. |
errorContainerColor | FinixErrorTextSurface | Background fill of a field in error state. |
errorPlaceholderColor | FinixPlaceHolderTextGray | Placeholder color in error state. |
tokenizeButtonColor / tokenizeButtonTextColor / cancelButtonColor / cancelButtonTextColor
| Property | Default | Description |
|---|---|---|
tokenizeButtonColor | FinixBlue | Background color of the submit button. |
tokenizeButtonTextColor | Color.White | Text color of the submit button. |
cancelButtonColor | FinixRed | Background color of the cancel button. |
cancelButtonTextColor | Color.White | Text color of the cancel button. |
Full example
Pass PaymentSheetColors to any PaymentSheet composable via the paymentSheetColors parameter.
data class PaymentSheetColors(
val surface: Color = Color.White,
val logoTextColor: Color = Color.Black,
val textColor: Color = Color.Black,
val errorContainerColor: Color = FinixErrorTextSurface,
val containerColor: Color = FinixGray,
val focusedIndicatorColor: Color = FinixBlue,
val unfocusedIndicatorColor: Color = Color.Transparent,
val focusedLabelColor: Color = FinixBlue,
val unfocusedLabelColor: Color = Color.Black,
val placeholderColor: Color = FinixPlaceHolderTextGray,
val errorBorderColor: Color = FinixErrorRed,
val errorLabelColor: Color = FinixErrorRed,
val errorPlaceholderColor: Color = FinixPlaceHolderTextGray,
val tokenizeButtonColor: Color = FinixBlue,
val tokenizeButtonTextColor: Color = Color.White,
val cancelButtonColor: Color = FinixRed,
val cancelButtonTextColor: Color = Color.White,
)
// Dark background with light text
PaymentSheetColors(
surface = Color(0xFF1A1A2E),
textColor = Color.White,
logoTextColor = Color.White,
containerColor = Color(0xFF2A2A3E)
)
// Custom brand color for active field states
PaymentSheetColors(
focusedIndicatorColor = Color(0xFF00897B),
focusedLabelColor = Color(0xFF00897B),
containerColor = Color(0xFFF5F5F5),
placeholderColor = Color(0xFF9E9E9E)
)
// Custom error colors
PaymentSheetColors(
errorBorderColor = Color(0xFFD32F2F),
errorLabelColor = Color(0xFFD32F2F),
errorContainerColor = Color(0xFFFFEBEE)
)
// Custom button colors
PaymentSheetColors(
tokenizeButtonColor = Color(0xFF00897B),
tokenizeButtonTextColor = Color.White,
cancelButtonColor = Color(0xFFEEEEEE),
cancelButtonTextColor = Color(0xFF424242)
)
CompletePaymentSheetOutlined(
applicationId = "APgPDQrLD52TYvqazjHJJchM",
isSandbox = false,
paymentSheetColors = PaymentSheetColors(
surface = Color.White,
focusedIndicatorColor = Color(0xFF00897B),
focusedLabelColor = Color(0xFF00897B),
containerColor = Color(0xFFF5F5F5),
tokenizeButtonColor = Color(0xFF00897B),
tokenizeButtonTextColor = Color.White,
cancelButtonColor = Color(0xFFEEEEEE),
cancelButtonTextColor = Color(0xFF424242)
),
onDismiss = { viewModel.setShowPaymentSheet(false) },
onNegativeClick = { viewModel.setShowPaymentSheet(false) },
onPositiveClick = { token ->
viewModel.saveTokenResponse(token)
viewModel.setShowPaymentSheet(false)
}
)