public static List <string> PanAliasList(PanAliasData panAliasData)
 {
     return(new List <string>
     {
         panAliasData.PanAlias,
         panAliasData.PanAliasRev,
         panAliasData.PanAliasExpDate,
         panAliasData.PanAliasTail
     });
 }
Exemple #2
0
        public static ThreeDSAuthorization0Response MapThreeDSAuthorization0(BPWXmlResponse <Data3DSResponse> response)
        {
            ThreeDSAuthorization0Response resp = new ThreeDSAuthorization0Response();

            resp.Result = response.Result;
            if (response == null || response.Data == null)
            {
                return(resp);
            }
            if (response.Data.ThreeDSChallenge != null)
            {
                resp.Creq           = response.Data.ThreeDSChallenge.CReq;
                resp.AcsUrl         = response.Data.ThreeDSChallenge.ACSUrl;
                resp.ThreeDSTransId = response.Data.ThreeDSChallenge.ThreeDSTransId;
            }
            if (response.Data.ThreeDSMethod != null)
            {
                resp.ThreeDSTransId    = response.Data.ThreeDSMethod.ThreeDSTransId;
                resp.ThreeDSMethodData = response.Data.ThreeDSMethod.ThreeDSMethodData;
                resp.ThreeDSMethodUrl  = response.Data.ThreeDSMethod.ThreeDSMethodUrl;
            }
            if (response.Data.Authorization != null)
            {
                Authorization authorization = response.Data.Authorization;
                if (authorization != null)
                {
                    resp.PaymentType         = authorization.PaymentType;
                    resp.AuthorizationType   = authorization.AuthorizationType;
                    resp.TransactionId       = authorization.TransactionID;
                    resp.Network             = authorization.Network;
                    resp.OrderId             = authorization.OrderId;
                    resp.TransactionAmount   = authorization.TransactionAmount;
                    resp.AuthorizedAmount    = authorization.AuthorizedAmount;
                    resp.Currency            = authorization.Currency;
                    resp.AccountedAmount     = authorization.AccountedAmount;
                    resp.RefundedAmount      = authorization.RefundedAmount;
                    resp.TransactionResult   = authorization.TransactionResult;
                    resp.Timestamp           = authorization.Timestamp;
                    resp.AuthorizationNumber = authorization.AuthorizationNumber;
                    resp.TransactionStatus   = authorization.TransactionStatus;
                    resp.ResponseCodeIso     = authorization.ResponseCodeISO;
                    resp.PanTail             = authorization.PanTail;
                    resp.PanExpiryDate       = authorization.PanExpiryDate;
                }
            }
            if (response.Data.PanAliasData != null)
            {
                PanAliasData pan = response.Data.PanAliasData;
                resp.PanAlias        = pan.PanAlias;
                resp.PanAliasExpDate = pan.PanAliasExpDate;
                resp.PanAliasRev     = pan.PanAliasRev;
                resp.PanAliasTail    = pan.PanAliasTail;
            }
            return(resp);
        }
 private void VerifyPanAliasData(PanAliasData panAliasData)
 {
     if (panAliasData != null)
     {
         var digest = _encoder.GetMac(ResponseHandler.PanAliasList(panAliasData), _apiResultKey);
         if (!digest.Equals(MacNeutralValue) && !digest.Equals(panAliasData.MAC))
         {
             throw new IncorrectMacException(
                       "PanAliasData digest not corresponding to the calculated one. Possible data corruption!");
         }
     }
 }
Exemple #4
0
        public static OrderStatusResponse MapOrderStatusResponse(BPWXmlResponse <DataOrderStatus> response)
        {
            OrderStatusResponse resp = new OrderStatusResponse();

            if (response == null)
            {
                return(resp);
            }
            else
            {
                resp.Result    = response.Result;
                resp.Timestamp = response.Timestamp;
            }
            if (response.Data != null && response.Data.Authorizations != null)
            {
                List <Authorization>         authorizationList = response.Data.Authorizations;
                List <AuthorizationResponse> authResp          = new List <AuthorizationResponse>();
                foreach (Authorization element in authorizationList)
                {
                    AuthorizationResponse authElement = new AuthorizationResponse();

                    authElement.PaymentType         = element.PaymentType;
                    authElement.AuthorizationType   = element.AuthorizationType;
                    authElement.TransactionId       = element.TransactionID;
                    authElement.Network             = element.Network;
                    authElement.OrderId             = element.OrderId;
                    authElement.TransactionAmount   = element.TransactionAmount;
                    authElement.AuthorizedAmount    = element.AuthorizedAmount;
                    authElement.RefundedAmount      = element.RefundedAmount;
                    authElement.TransactionResult   = element.TransactionResult;
                    authElement.Timestamp           = element.Timestamp;
                    authElement.AuthorizationNumber = element.AuthorizationNumber;
                    authElement.AcquirerBin         = element.AcquirerBIN;
                    authElement.MerchantId          = element.MerchantID;
                    authElement.TransactionStatus   = element.TransactionStatus;
                    authElement.ResponseCodeIso     = element.ResponseCodeISO;
                    authElement.PanTail             = element.PanTail;
                    authElement.PanExpiryDate       = element.PanExpiryDate;
                    authElement.PaymentTypePP       = element.PaymentTypePP;
                    authElement.RRN      = element.RRN;
                    authElement.CardType = element.CardType;
                    authResp.Add(authElement);
                    //dtoElement.clearAllIndividualFields();
                }
                resp.Authorizations = authResp;
            }
            if (response.Data != null && response.Data.PanAliasData != null)
            {
                PanAliasData panData = response.Data.PanAliasData;
                resp.PanAlias        = panData.PanAlias;
                resp.PanAliasExpDate = panData.PanAliasExpDate;
                resp.PanAliasRev     = panData.PanAliasRev;
                resp.PanAliasTail    = panData.PanAliasTail;
            }

            if (response.Data != null && response.Data.CardHolderData != null)
            {
                CardHolderData cardHolderData = response.Data.CardHolderData;
                resp.CardHolderName           = cardHolderData.CardHolderName;
                resp.CardHolderEmail          = cardHolderData.CardHolderEmail;
                resp.BillingAddressPostalcode = cardHolderData.BillingAddressPostalcode;
                resp.BillingAddressCity       = cardHolderData.BillingAddressCity;
                resp.BillingAddressLine1      = cardHolderData.BillingAddressLine1;
                resp.BillingAddressLine2      = cardHolderData.BillingAddressLine2;
                resp.BillingAddressLine3      = cardHolderData.BillingAddressLine3;
                resp.BillingAddressState      = cardHolderData.BillingAddressState;
                resp.BillingAddressCountry    = cardHolderData.BillingAddressCountry;
            }

            return(resp);
        }