toJson method

Map<String, Object> toJson()

Converts the Message object to JSON.

Implementation

Map<String, Object> toJson() {
  final map = <String, Object>{};

  map['MTI'] = mti;

  final mPan = pan;
  final mProcessCode = processCode;
  final mAmount = amount;
  final mStan = stan;
  final mDateTime = dateTime;
  final mCardEntryMode = cardEntryMode;
  final mNii = nii;
  final mPosConditionCode = posConditionCode;
  final mTrack2 = track2;
  final mRrn = rrn;
  final mIdentificationReferenceNumber = identificationReferenceNumber;
  final mResponseCode = responseCode;
  final mTerminalId = terminalId;
  final mMerchantId = merchantId;
  final mCurrency = currency;
  final mDataElement = dataElement;
  final mPinBlock = pinBlock;
  final mField53 = field53;
  final mField61 = field61;
  final mField62 = field62;

  final mMac = mac;

  if (mPan != null) {
    map['pan'] = mPan;
  }

  if (mProcessCode != null) {
    final processCodeHex =
        mProcessCode.toRadixString(16).padLeft(8, '0').substring(2);
    map['processCode'] = '0x$processCodeHex';
  }

  if (mAmount != null) {
    map['amount'] = mAmount;
  }

  if (mStan != null) {
    map['stan'] = mStan;
  }

  if (mDateTime != null) {
    map['dateTime'] = mDateTime.toIso8601String();
  }

  if (mCardEntryMode != null) {
    map['cardEntryMode'] = mCardEntryMode;
  }

  if (mNii != null) {
    map['nii'] = mNii;
  }

  if (mPosConditionCode != null) {
    map['posConditionCode'] = mPosConditionCode;
  }

  if (mTrack2 != null) {
    map['track2'] = mTrack2;
  }

  if (mRrn != null) {
    map['rrn'] = mRrn;
  }

  if (mIdentificationReferenceNumber != null) {
    map['identificationReferenceNumber'] = mIdentificationReferenceNumber;
  }

  if (mResponseCode != null) {
    map['responseCode'] = mResponseCode;
  }

  if (mTerminalId != null) {
    map['terminalId'] = mTerminalId;
  }

  if (mMerchantId != null) {
    map['merchantId'] = mMerchantId;
  }

  if (mDataElement != null) {
    map['dataElement'] = '0x${hex.encode(mDataElement).toUpperCase()}';
  }

  if (mCurrency != null) {
    map['currency'] = mCurrency;
  }

  if (mPinBlock != null) {
    map['pinBlock'] = '0x${hex.encode(mPinBlock).toUpperCase()}';
  }

  if (mField53 != null) {
    map['field53'] = '0x${hex.encode(mField53).toUpperCase()}';
  }

  if (mField61 != null) {
    map['field61'] = '0x${hex.encode(mField61).toUpperCase()}';
  }

  if (mField62 != null) {
    map['field62'] = '0x${hex.encode(mField62).toUpperCase()}';
  }

  if (mMac != null) {
    final macHex = hex.encode(mMac).toUpperCase();
    map['MAC'] = '0x$macHex';
  }

  return map;
}