public SubscriptionRequest() { this.SubscriptionItems = new SubscriptionItemRequestList(); }
public void ResetSubscriptionMeteredItems() { var subscription = _gateway.Subscription.GetSubscription(_testData.SubscriptionId.ToString()); Assert.IsNotNull(subscription); var product = _gateway.Products.GetProductById(subscription.ProductId.ToString()); var request = new SubscriptionItemRequestList(); request.Add(new SubscriptionItemRequest { ProductItemId = product.PricingPlans[0].ProductItemsList[0].Id, Quantity = 100, SubscriptionId = subscription.Id, }); _gateway.Subscription.UpdateSubscriptionItems(request); request = new SubscriptionItemRequestList(); request.Add(new SubscriptionItemRequest { ProductItemId = product.PricingPlans[0].ProductItemsList[0].Id, Quantity = 50, SubscriptionId = subscription.Id, }); _gateway.Subscription.UpdateSubscriptionItems(request); var components = _gateway.Subscription.GetSubscriptionItems(subscription.Id.ToString()); Assert.AreEqual(2, components.Count); Assert.AreEqual(3, components[0].ChangesHistory.Count); // 2 from this method + 1 from Add item operation _gateway.Subscription.ResetSubscriptionMeteredItems(subscription.Id.ToString()); components = _gateway.Subscription.GetSubscriptionItems(subscription.Id.ToString()); Assert.AreEqual(2, components.Count); Assert.AreEqual(0, components[0].Quantity); Assert.AreEqual(0, components[0].ChangesHistory.Count); }
public void UpdateSubscriptionItems() { var subscription = _gateway.Subscription.GetSubscription(_testData.SubscriptionId.ToString()); Assert.IsNotNull(subscription); var product = _gateway.Products.GetProductById(subscription.ProductId.ToString()); var request = new SubscriptionItemRequestList(); request.Add(new SubscriptionItemRequest { ProductItemId = product.PricingPlans[0].ProductItemsList[0].Id, Quantity = 100, SubscriptionId = subscription.Id, }); _gateway.Subscription.UpdateSubscriptionItems(request); }
/// <summary> /// Updates the subscription item. /// </summary> /// <param name="request">The request.</param> public void UpdateSubscriptionItems(SubscriptionItemRequestList request) { _service.Put<SubscriptionItemRequestList>(string.Format("{0}/updateitems", _gatewayURL), request); }
/// <summary> /// Adds the subscription items. /// </summary> /// <param name="request">The request.</param> public void AddSubscriptionItems(SubscriptionItemRequestList request) { _service.Post<SubscriptionItemRequestList>(string.Format("{0}/additems", _gatewayURL), request); }
private SubscriptionResponse AddTestSubscription(SiteResponse site) { var product = AddProduct(site.Id); var subscriptionItems = new SubscriptionItemRequestList(); foreach (var item in product.PricingPlans[0].ProductItemsList) { subscriptionItems.Add(new SubscriptionItemRequest { ProductItemId = item.Id, Quantity = 5, UpdateDescription = "Add new subscription", }); } var subscriptionRequest = new SubscriptionRequest() { BillingAddress = CreateDafaultAddress(), CreditCard = CreateDefaultCreditCard(), Currency = CreateDefaultCurrency(), CurrentBallance = 100, Customer = CreateDefaultCustomer(), NextAssesment = DateTime.Now.AddDays(31), NextProduct = null, NextProductPricingPlan = null, ProductId = product.Id, ProductPricingPlanId = product.PricingPlans[0].Id, StartDate = DateTime.Now, SubscriptionItems = subscriptionItems, }; return _gateway.Subscription.AddSubscription(site.Subdomain, subscriptionRequest); }