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
}