/// <summary> /// Gets the payment methods. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="paymentOption">The payment option.</param> /// <returns>The manager response where the payment method list is returned in the Result.</returns> public ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> > GetPaymentMethods([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, PaymentOption paymentOption) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNull(paymentOption, "paymentOption"); var result = new GetPaymentMethodsResult { Success = false }; var cartResult = this.CartManager.GetCurrentCart(storefront, visitorContext); if (!cartResult.ServiceProviderResult.Success || cartResult.Result == null) { result.SystemMessages.ToList().AddRange(cartResult.ServiceProviderResult.SystemMessages); return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, null)); } var request = new Sitecore.Commerce.Engine.Connect.Services.Payments.GetPaymentMethodsRequest(cartResult.Result, paymentOption); result = this.PaymentServiceProvider.GetPaymentMethods(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, result.PaymentMethods.ToList())); }
public ManagerResponse <GetPaymentMethodsResult, IEnumerable <Entities.Payments.PaymentMethod> > GetPaymentMethods(Cart cart, Entities.Payments.PaymentOption paymentOption) { var request = new Services.Payments.GetPaymentMethodsRequest(cart as CommerceCart, paymentOption); GetPaymentMethodsResult paymentMethods = this.paymentServiceProvider.GetPaymentMethods(request); return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <Entities.Payments.PaymentMethod> >(paymentMethods, paymentMethods.PaymentMethods.ToList())); }
public GetPaymentMethodsResult GetPaymentMethods(Cart cart, PaymentOption paymentOption) { Assert.ArgumentNotNull(cart, nameof(cart)); Assert.ArgumentNotNull(paymentOption, nameof(paymentOption)); var request = new GetPaymentMethodsRequest(cart as CommerceCart, paymentOption); return(this.Execute(request, this.paymentServiceProvider.GetPaymentMethods)); }
public ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> > GetPaymentMethods(string userId, PaymentOption paymentOption) { Assert.ArgumentNotNull(paymentOption, nameof(paymentOption)); var result = new GetPaymentMethodsResult { Success = false }; var cartResult = CartManager.GetCart(userId); if (!cartResult.ServiceProviderResult.Success || cartResult.Result == null) { result.SystemMessages.ToList().AddRange(cartResult.ServiceProviderResult.SystemMessages); return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, null)); } var request = new GetPaymentMethodsRequest(cartResult.Result, paymentOption); result = PaymentServiceProvider.GetPaymentMethods(request); result.WriteToSitecoreLog(); return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, result.PaymentMethods.ToList())); }