set minimum card amount to 10 USD (#2425)

Serhii committed Aug 1, 2025 at 18:36 UTC 8315d6ec78025534464001ce47c98ef675763cc7
1 file changed +11 -1
lib/cake_pay/src/models/cake_pay_card.dart
+11 -1
@@ -43,6 +43,10 @@ class CakePayCard {
43 final howToUse = stripHtmlIfNeeded(json['how_to_use'] as String? ?? '');
44
45 final fiatCurrency = FiatCurrency.deserialize(raw: json['currency_code'] as String? ?? '');
46 + final parsedMinValue = _toDouble(json['min_value'] as String?);
47 + final minValue = fiatCurrency == FiatCurrency.usd && parsedMinValue != null && parsedMinValue < 10.00
48 + ? '10.00'
49 + : json['min_value'] as String?;
50
51 final List<String> denominationsUsd =
52 (json['denominations_usd'] as List?)?.map((e) => e.toString()).toList() ?? [];
@@ -63,7 +67,7 @@ class CakePayCard {
67 denominations: denominations,
68 minValueUsd: json['min_value_usd'] as String?,
69 maxValueUsd: json['max_value_usd'] as String?,
66 - minValue: json['min_value'] as String?,
70 + minValue: minValue,
71 maxValue: json['max_value'] as String?,
72 );
73 }
@@ -71,4 +75,10 @@ class CakePayCard {
75 static String stripHtmlIfNeeded(String text) {
76 return text.replaceAll(RegExp(r'<[^>]*>|&[^;]+;'), ' ');
77 }
78 +
79 + static double? _toDouble(dynamic v) {
80 + if (v == null) return null;
81 + if (v is num) return v.toDouble();
82 + return double.tryParse(v.toString());
83 + }
84 }