parseSMS method
Parses a transaction-status SMS received from a configured TxMS number.
Implementation
@override
SmsParseResult? parseSMS(String number, String text) {
final normalizedNumber = number.replaceAll(RegExp(r'\D'), '');
if (normalizedNumber.isEmpty || !_isConfiguredNumber(normalizedNumber)) {
return null;
}
final successMatch = RegExp(r'^OK\s+TxID:\s*(\S+)\s*$').firstMatch(text);
if (successMatch != null) {
return SmsParseResult.success(successMatch.group(1)!);
}
final failureMatch = RegExp(r'^Failed:\s*(.+?)\s*$').firstMatch(text);
if (failureMatch != null) {
return SmsParseResult.failure(failureMatch.group(1)!);
}
return null;
}