customization static method
void
customization({
- PayorcInputBorderStyle? inputBorderStyle,
- PayorcGuidanceStyle? guidanceStyle,
- PayorcAppBarStyle? appBarStyle,
- Color? brandColor,
- PayorcSdkButtonCustomization? button,
- Color? accentColor,
- PayorcSdkTextCustomization? text,
- Color? textPrimary,
- Color? textSecondary,
- PayorcSdkCardFormValidationCustomization? cardFormValidation,
- PayorcSdkAddCardFormCustomization? addCardForm,
- PayorcSdkAppTextFieldCustomization? appTextField,
- PayorcSdkBottomSheetCustomization? bottomSheet,
- Color? borderColor,
- int? autoselectColor,
Applies host UI customization merged with checkout merchant_details.
Priority: values passed here override checkout API fields loaded via applyCheckoutCustomizationResponse (e.g. payment-options refresh). When a parameter is omitted, the backend value is used; when the backend omits it, SDK defaults apply.
Checkout field mapping:
| Parameter | merchant_details |
|---|---|
inputBorderStyle |
field_border (outline / underline) |
appBarStyle |
app_style (nativeIos / nativeAndroid) |
borderColor |
border_color |
textPrimary / text.primary |
text_primary |
textSecondary / text.secondary |
text_secondary |
autoselectColor |
autoselect_color |
appTextField can further override field border color and sizing for
AppTextField only.
Implementation
static void customization({
PayorcInputBorderStyle? inputBorderStyle,
PayorcGuidanceStyle? guidanceStyle,
PayorcAppBarStyle? appBarStyle,
Color? brandColor,
PayorcSdkButtonCustomization? button,
Color? accentColor,
PayorcSdkTextCustomization? text,
Color? textPrimary,
Color? textSecondary,
PayorcSdkCardFormValidationCustomization? cardFormValidation,
PayorcSdkAddCardFormCustomization? addCardForm,
PayorcSdkAppTextFieldCustomization? appTextField,
PayorcSdkBottomSheetCustomization? bottomSheet,
Color? borderColor,
int? autoselectColor,
}) {
if (inputBorderStyle != null) {
_customInputBorderStyle = inputBorderStyle;
}
if (guidanceStyle != null) {
_guidanceStyle = guidanceStyle;
}
if (appBarStyle != null) {
_customAppBarStyle = appBarStyle;
}
if (brandColor != null) {
_customBrandColor = _validatedOverrideColorOrNull(brandColor);
}
if (button != null) {
if (button.backgroundColor != null) {
_customButtonColor =
_validatedOverrideColorOrNull(button.backgroundColor!);
}
if (button.foregroundColor != null) {
_customButtonForegroundColor =
_validatedOverrideColorOrNull(button.foregroundColor!);
}
if (button.disabledBackgroundColor != null) {
_customButtonDisabledBackgroundColor =
_validatedOverrideColorOrNull(button.disabledBackgroundColor!);
}
if (button.sideBorderColor != null) {
_customButtonSideBorderColor =
_validatedOverrideColorOrNull(button.sideBorderColor!);
}
if (button.borderRadius != null) {
_customButtonBorderRadius = button.borderRadius;
}
if (button.height != null) {
_customButtonHeight = button.height;
}
if (button.fontWeight != null) {
_customButtonFontWeight = button.fontWeight;
}
if (button.loadingIndicatorColor != null) {
_customButtonLoadingIndicatorColor =
_validatedOverrideColorOrNull(button.loadingIndicatorColor!);
}
}
if (accentColor != null) {
_customAccentColor = _validatedOverrideColorOrNull(accentColor);
}
if (text != null) {
if (text.primary != null) {
_customTextPrimaryColor = _validatedOverrideColorOrNull(text.primary!);
}
if (text.secondary != null) {
_customTextSecondaryColor =
_validatedOverrideColorOrNull(text.secondary!);
}
if (text.bodyFontFamily != null) {
final s = text.bodyFontFamily!.familyName.trim();
_customTextBodyFontFamily = s.isEmpty ? null : s;
}
if (text.titleFontFamily != null) {
final s = text.titleFontFamily!.familyName.trim();
_customTextTitleFontFamily = s.isEmpty ? null : s;
}
if (text.fontWeight != null) {
PayorcSdkUiConstants.textFontWeight = text.fontWeight;
}
if (text.fontSize != null) {
PayorcSdkUiConstants.textFontSize = text.fontSize;
}
if (text.letterSpacing != null) {
PayorcSdkUiConstants.textLetterSpacing = text.letterSpacing;
}
if (text.textAlign != null) {
PayorcSdkUiConstants.textAlign = text.textAlign;
}
if (text.maxLines != null) {
PayorcSdkUiConstants.textMaxLines = text.maxLines;
}
if (text.overflow != null) {
PayorcSdkUiConstants.textOverflow = text.overflow;
}
if (text.decoration != null) {
PayorcSdkUiConstants.textDecoration = text.decoration;
}
if (text.wordSpacing != null) {
PayorcSdkUiConstants.textWordSpacing = text.wordSpacing;
}
if (text.softWrap != null) {
PayorcSdkUiConstants.textSoftWrap = text.softWrap;
}
if (text.shadows != null) {
PayorcSdkUiConstants.textShadows = text.shadows;
}
if (text.fontStyle != null) {
PayorcSdkUiConstants.textFontStyle = text.fontStyle;
}
}
if (cardFormValidation != null) {
_cardFormValidation = cardFormValidation;
}
if (addCardForm != null) {
_addCardForm =
PayorcSdkAddCardFormCustomization.merge(_addCardForm, addCardForm);
}
if (appTextField != null) {
if (appTextField.height != null) {
_customAppTextFieldHeight = appTextField.height;
}
if (appTextField.padding != null) {
_customAppTextFieldPadding = appTextField.padding;
}
if (appTextField.borderRadius != null) {
_customAppTextFieldBorderRadius = appTextField.borderRadius;
}
if (appTextField.borderColor != null) {
_customAppTextFieldBorderColor =
_validatedOverrideColorOrNull(appTextField.borderColor!);
}
}
if (bottomSheet != null) {
if (bottomSheet.padding != null) {
_customBottomSheetPadding = bottomSheet.padding;
}
if (bottomSheet.spacing != null) {
_customBottomSheetSpacing = bottomSheet.spacing;
}
if (bottomSheet.cornerRadius != null) {
_customBottomSheetCornerRadius = bottomSheet.cornerRadius;
}
}
if (borderColor != null) {
_customBorderColor = _validatedOverrideColorOrNull(borderColor);
}
if (textPrimary != null) {
_customTextPrimaryColor = _validatedOverrideColorOrNull(textPrimary);
}
if (textSecondary != null) {
_customTextSecondaryColor = _validatedOverrideColorOrNull(textSecondary);
}
if (autoselectColor != null) {
_customAutoselectColor = autoselectColor;
}
_applyUiColorOverrides();
uiCustomizationRevision.value++;
checkoutCustomizationRevision.value++;
}