customizationQueryForPaymentRequest static method
(String?, num?)
customizationQueryForPaymentRequest(
- PaymentRequest paymentRequest, {
- String? customizationCurrency,
- num? customizationAmount,
Resolves (currency, amount) for refreshCheckoutCustomization from
paymentRequest, with optional overrides (same rules as
PaymentOptionsSheetFlowBloc).
Implementation
static (String?, num?) customizationQueryForPaymentRequest(
PaymentRequest paymentRequest, {
String? customizationCurrency,
num? customizationAmount,
}) {
final overrideCurrency = customizationCurrency?.trim();
final hasOverrideCurrency =
overrideCurrency != null && overrideCurrency.isNotEmpty;
if (paymentRequest.orderDetails.isEmpty) {
return (
hasOverrideCurrency ? overrideCurrency : null,
customizationAmount,
);
}
final first = paymentRequest.orderDetails.first;
final orderCurrency = first.currency.trim();
final parsedAmount = num.tryParse(first.amount.trim());
final currency = hasOverrideCurrency
? overrideCurrency
: (orderCurrency.isEmpty ? null : orderCurrency);
final amount = customizationAmount ?? parsedAmount;
return (currency, amount);
}