computeEffectiveMerchantArgs function

Map<String, dynamic> computeEffectiveMerchantArgs({
  1. Map<String, dynamic>? merchantArgs,
  2. String? amount,
  3. String? merchantId,
  4. String? merchantName,
  5. String? merchantInfo,
  6. List? summaryItems,
})

Implementation

Map<String, dynamic> computeEffectiveMerchantArgs({
  Map<String, dynamic>? merchantArgs,
  String? amount,
  String? merchantId,
  String? merchantName,
  String? merchantInfo,
  List<dynamic>? summaryItems,
}) {
  if (merchantArgs != null) return merchantArgs;
  final items = <dynamic>[];
  if (summaryItems != null) items.addAll(summaryItems);
  if (items.isEmpty && amount != null) {
    final parsed = double.tryParse(amount) ?? 0.0;
    items.add({'label': 'Total', 'amountCents': (parsed * 100).round()});
  }
  return {
    'merchantName': merchantName ?? merchantId ?? 'Merchant',
    'merchantInfo': merchantInfo ?? '',
    'summaryItems': items,
  };
}