public static List <string> PanAliasList(PanAliasData panAliasData) { return(new List <string> { panAliasData.PanAlias, panAliasData.PanAliasRev, panAliasData.PanAliasExpDate, panAliasData.PanAliasTail }); }
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!"); } } }
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); }