public void ShouldRemovePaymentInfoFromCart() { var guid = Guid.NewGuid(); var request = new RemovePaymentInfoRequest( new Cart() { ExternalId = guid.ToString(), ShopName = "my store" }, new List<PaymentInfo>() { new PaymentInfo() { PaymentProviderID = "Payments.PurchaseOrder", PaymentMethodID = "Purchase Order" } }); var result = new RemovePaymentInfoResult(); var args = new ServicePipelineArgs(request, result); _client.RemovePaymentInfo(guid, Arg.Any<PaymentInfoModel>(), request.Cart.ShopName) .Returns(new PaymentInfoModelResponse { Success = true }); _processor.Process(args); result.Success.Should().BeTrue(); result.Payments.Should().HaveCount(0); result.Cart.Payment.Should().HaveCount(0); }
public virtual ManagerResponse <CartResult, Cart> RemoveAllPaymentMethods(Cart cart) { RemovePaymentInfoResult paymentInfoResult = null; if (cart.Payment != null && cart.Payment.Any()) { var request = new RemovePaymentInfoRequest(cart, cart.Payment); paymentInfoResult = this.cartServiceProvider.RemovePaymentInfo(request); return(new ManagerResponse <CartResult, Cart>(paymentInfoResult, paymentInfoResult.Cart)); } paymentInfoResult = new RemovePaymentInfoResult { Success = true }; return(new ManagerResponse <CartResult, Cart>(paymentInfoResult, cart)); }
/// <summary> /// Removes Payment info from a cart /// </summary> /// <param name="storefront">The Storefront Context</param> /// <param name="visitorContext">The Visitor Context</param> /// <param name="cart">the cart</param> /// <param name="info">the payment info</param> /// <param name="refreshCart">if set to <c>true</c> the cart will be re-calculated using the Commerce Server pipelines.</param> /// <returns> /// the updated cart /// </returns> protected virtual CartResult RemovePaymentInfoFromCart([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart, [NotNull] List <PaymentInfo> info, bool refreshCart = false) { Assert.ArgumentNotNull(cart, "cart"); Assert.ArgumentNotNull(info, "info"); var request = new RemovePaymentInfoRequest(cart, info); request.RefreshCart(refreshCart); var result = this.CartServiceProvider.RemovePaymentInfo(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(result); }
public ActionResult RemoveSimplePayment() { var shopName = "CommerceEngineDefaultStorefront"; // Better use a configured store, not CommerceEngineDefaultStorefront as it's not really configured var cartName = "Default"; var userId = "CommerceUsers\\[email protected]"; var domain = Context.User.Domain; // Get a cart var loadCartRequest = new LoadCartByNameRequest(shopName, cartName, userId); var cartResult = _cartServiceProvider.LoadCart(loadCartRequest); Assert.IsTrue(cartResult.Success, String.Join("|", cartResult.SystemMessages.Select(e => e.Message))); var cart = cartResult.Cart; var removePaymentInfoRequest = new RemovePaymentInfoRequest(cart, cart.Payment); var removePaymentInfoResult = _cartServiceProvider.RemovePaymentInfo(removePaymentInfoRequest); Assert.IsTrue(removePaymentInfoResult.Success, String.Join("|", removePaymentInfoResult.SystemMessages.Select(e => e.Message))); return(View(removePaymentInfoResult)); }
public ActionResult CreatePayment(PaymentPickerViewModel createPaymentViewModel) { var cartService = new CartServiceProvider(); var cart = GetCart(); // First remove all the existing payment info's associated with the cart. var removeRequest = new RemovePaymentInfoRequest(cart, cart.Payment.ToList()); cartService.RemovePaymentInfo(removeRequest); var paymentList = new List <PaymentInfo> { new PaymentInfo() { PaymentMethodID = createPaymentViewModel.SelectedPaymentMethodId.ToString(), } }; var addRequest = new AddPaymentInfoRequest(cart, paymentList); cartService.AddPaymentInfo(addRequest); return(Redirect("/preview")); }
/// <summary> /// Removes Payment info from a cart /// </summary> /// <param name="storefront">The Storefront Context</param> /// <param name="visitorContext">The Visitor Context</param> /// <param name="cart">the cart</param> /// <param name="info">the payment info</param> /// <param name="refreshCart">if set to <c>true</c> the cart will be re-calculated using the Commerce Server pipelines.</param> /// <returns> /// the updated cart /// </returns> protected virtual CartResult RemovePaymentInfoFromCart([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart, [NotNull] List<PaymentInfo> info, bool refreshCart = false) { Assert.ArgumentNotNull(cart, "cart"); Assert.ArgumentNotNull(info, "info"); var request = new RemovePaymentInfoRequest(cart, info); request.RefreshCart(refreshCart); var result = this.CartServiceProvider.RemovePaymentInfo(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return result; }
/// <summary> /// Removes all payment methods. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="cart">The cart.</param> /// <returns>The manager response with a cart in the result.</returns> public virtual ManagerResponse<CartResult, CommerceCart> RemoveAllPaymentMethods([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNull(cart, "cart"); if (cart.Payment != null && cart.Payment.Any()) { var request = new RemovePaymentInfoRequest(cart, cart.Payment.ToList()); var response = this.CartServiceProvider.RemovePaymentInfo(request); return new ManagerResponse<CartResult, CommerceCart>(response, response.Cart as CommerceCart); } return new ManagerResponse<CartResult, CommerceCart>(new RemovePaymentInfoResult { Success = true }, cart); }