ensureCheckoutCustomizationLoaded static method

Future<void> ensureCheckoutCustomizationLoaded(
  1. PaymentRequest paymentRequest, {
  2. String? currency,
  3. num? amount,
})

Ensures checkout customization is loaded before wallet or sheet flows need it.

When customization is already available, this returns immediately. Otherwise it refreshes using the current order values from paymentRequest.

Implementation

static Future<void> ensureCheckoutCustomizationLoaded(
  PaymentRequest paymentRequest, {
  String? currency,
  num? amount,
}) async {
  final sdk = _instance;
  if (sdk == null || sdk.checkoutCustomization != null) return;

  final (resolvedCurrency, resolvedAmount) =
      customizationQueryForPaymentRequest(
    paymentRequest,
    customizationCurrency: currency,
    customizationAmount: amount,
  );

  await _loadCheckoutCustomization(
    sdk,
    requestCurrency: resolvedCurrency,
    requestAmount: resolvedAmount,
  );
}