normalize static method

String normalize(
  1. String code
)

Die Schreibweise, unter der code in der Tabelle steht: ein rein numerischer Code ohne fuehrende Nullen (0055 -> 55, 0000 -> 0), jeder andere unveraendert.

TECS fuehrt die Host-Antworten vierstellig, das Terminal sendet sie gemessen ohne Nullen (55, 0). Ohne diese Angleichung waere ein 0000 kein 0 -- und damit ueber HpsCode.conclusive eine ABLEHNUNG einer genehmigten Zahlung. TransactionResponse.fromJson gleicht deshalb schon beim Einlesen an.

Implementation

static String normalize(String code) {
  final c = code.trim();
  if (!_ziffern.hasMatch(c)) return c;
  final ohneNullen = c.replaceFirst(RegExp('^0+'), '');
  return ohneNullen.isEmpty ? '0' : ohneNullen;
}