public ManagerResponse <AddPaymentInfoResult, Cart> AddPaymentInfo( string shopName, Cart cart, PartyEntity billingPartyEntity, FederatedPaymentArgs federatedPaymentArgs) { var payments = new List <PaymentInfo>(); cart = this.RemoveAllPaymentMethods(cart).Result; if ((federatedPaymentArgs != null) && !string.IsNullOrEmpty(federatedPaymentArgs.CardToken) && (billingPartyEntity != null)) { var commerceParty = this.connectEntityMapper.MapToCommerceParty(billingPartyEntity); commerceParty.PartyId = Guid.NewGuid().ToString().Replace("-", string.Empty); commerceParty.ExternalId = commerceParty.PartyId; if (string.IsNullOrWhiteSpace(commerceParty.Name)) { commerceParty.Name = $"billing{commerceParty.PartyId}"; } cart.Parties.Add(commerceParty); var federatedPaymentInfo = this.connectEntityMapper.MapToFederatedPaymentInfo(federatedPaymentArgs); federatedPaymentInfo.PartyID = commerceParty.PartyId; federatedPaymentInfo.Amount = cart.Total.Amount; payments.Add(federatedPaymentInfo); } var request = new AddPaymentInfoRequest(cart, payments); var paymentInfoResult = this.cartServiceProvider.AddPaymentInfo(request); if (!paymentInfoResult.Success) { paymentInfoResult.SystemMessages.LogSystemMessages(paymentInfoResult); } return(new ManagerResponse <AddPaymentInfoResult, Cart>(paymentInfoResult, paymentInfoResult.Cart)); }
public FederatedPaymentInfo MapToFederatedPaymentInfo(FederatedPaymentArgs item) { return(this.innerMapper.Map <FederatedPaymentInfo>(item)); }