public static List <string> ThreeDSChallengeMacList(ThreeDSChallenge threeDSChallenge)
 {
     return(new List <string>
     {
         threeDSChallenge.ThreeDSTransId,
         threeDSChallenge.CReq,
         threeDSChallenge.ACSUrl
     });
 }
 private void VerifyThreeDSChallenge(ThreeDSChallenge threeDSChallenge)
 {
     if (threeDSChallenge != null)
     {
         var digest = _encoder.GetMac(ResponseHandler.ThreeDSChallengeMacList(threeDSChallenge), _apiResultKey);
         if (!digest.Equals(MacNeutralValue) && !digest.Equals(threeDSChallenge.MAC))
         {
             throw new IncorrectMacException(
                       "ThreeDSChallenge digest not corresponding to the calculated one. Possible data corruption!");
         }
     }
 }