From 8315d6ec78025534464001ce47c98ef675763cc7 Mon Sep 17 00:00:00 2001 From: Serhii Date: Fri, 1 Aug 2025 18:36:01 +0300 Subject: [PATCH] set minimum card amount to 10 USD (#2425) --- lib/cake_pay/src/models/cake_pay_card.dart | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/cake_pay/src/models/cake_pay_card.dart b/lib/cake_pay/src/models/cake_pay_card.dart index 82ba179e6..5d1c65a3b 100644 --- a/lib/cake_pay/src/models/cake_pay_card.dart +++ b/lib/cake_pay/src/models/cake_pay_card.dart @@ -43,6 +43,10 @@ class CakePayCard { final howToUse = stripHtmlIfNeeded(json['how_to_use'] as String? ?? ''); final fiatCurrency = FiatCurrency.deserialize(raw: json['currency_code'] as String? ?? ''); + final parsedMinValue = _toDouble(json['min_value'] as String?); + final minValue = fiatCurrency == FiatCurrency.usd && parsedMinValue != null && parsedMinValue < 10.00 + ? '10.00' + : json['min_value'] as String?; final List denominationsUsd = (json['denominations_usd'] as List?)?.map((e) => e.toString()).toList() ?? []; @@ -63,7 +67,7 @@ class CakePayCard { denominations: denominations, minValueUsd: json['min_value_usd'] as String?, maxValueUsd: json['max_value_usd'] as String?, - minValue: json['min_value'] as String?, + minValue: minValue, maxValue: json['max_value'] as String?, ); } @@ -71,4 +75,10 @@ class CakePayCard { static String stripHtmlIfNeeded(String text) { return text.replaceAll(RegExp(r'<[^>]*>|&[^;]+;'), ' '); } + + static double? _toDouble(dynamic v) { + if (v == null) return null; + if (v is num) return v.toDouble(); + return double.tryParse(v.toString()); + } }