public ActionResult Cancel() { try { StripeConfiguration.ApiKey = key; StripeConfiguration.MaxNetworkRetries = 2; var service = new SubscriptionService(); var cancelOptions = new SubscriptionCancelOptions { InvoiceNow = false, Prorate = false, }; Subscription subscription = service.Cancel(subscriptionId, cancelOptions); return(View("OrderStatus")); } catch (StripeException e) { var x = new { status = "Failed", message = e.Message }; return(this.Json(x)); } }
public async Task CancelSubscription(string subscriptionId) { var options = new SubscriptionCancelOptions { }; await _subscriptionService.CancelAsync(subscriptionId, options); }
private Stripe.Subscription CancelStripeSubscription(string subscriptionId) { StripeConfiguration.ApiKey = _appKeys.StripeApiKey; SubscriptionCancelOptions options = new SubscriptionCancelOptions(); var service = new SubscriptionService(); var subscription = service.Cancel(subscriptionId, options); return(subscription); }
public SubscriptionServiceTest( StripeMockFixture stripeMockFixture, MockHttpClientFixture mockHttpClientFixture) : base(stripeMockFixture, mockHttpClientFixture) { this.service = new SubscriptionService(this.StripeClient); this.cancelOptions = new SubscriptionCancelOptions { InvoiceNow = true, Prorate = true, }; this.createOptions = new SubscriptionCreateOptions { Customer = "cus_123", Items = new List <SubscriptionItemOptions> { new SubscriptionItemOptions { Price = "price_123", Quantity = 2, }, new SubscriptionItemOptions { PriceData = new SubscriptionItemPriceDataOptions { Currency = "usd", Product = "prod_123", Recurring = new SubscriptionItemPriceDataRecurringOptions { Interval = "day", IntervalCount = 15, }, UnitAmountDecimal = 0.01234567890m, // Ensure decimals work }, Quantity = 3, }, }, }; this.updateOptions = new SubscriptionUpdateOptions { Metadata = new Dictionary <string, string> { { "key", "value" }, }, }; this.listOptions = new SubscriptionListOptions { Limit = 1, }; }
public async Task <bool> CancelSubscription(string SubscriptionId) { SubscriptionCancelOptions opts = new SubscriptionCancelOptions() { }; var subscriptionService = new SubscriptionService(); var sub = await subscriptionService.CancelAsync(SubscriptionId, opts); return(sub.Status == "canceled"); }
public SubscriptionServiceTest( StripeMockFixture stripeMockFixture, MockHttpClientFixture mockHttpClientFixture) : base(stripeMockFixture, mockHttpClientFixture) { this.service = new SubscriptionService(this.StripeClient); this.cancelOptions = new SubscriptionCancelOptions { InvoiceNow = true, Prorate = true, }; this.createOptions = new SubscriptionCreateOptions { Customer = "cus_123", Items = new List <SubscriptionItemOption> { new SubscriptionItemOption { Plan = "plan_123", Quantity = 2, }, new SubscriptionItemOption { Plan = "plan_124", Quantity = 3, }, }, }; this.updateOptions = new SubscriptionUpdateOptions { Metadata = new Dictionary <string, string> { { "key", "value" }, }, }; this.listOptions = new SubscriptionListOptions { Limit = 1, }; }
public static async Task PerformAsync(ShardedCommandContext context, DataBase db) { var guild = FindOrCreateGuild.Perform(context.Guild, db); if (EnsureActiveSubscription.Perform(guild, db)) { var service = new SubscriptionService(); var options = new SubscriptionCancelOptions { Prorate = false }; service.Cancel(guild.SubscriptionId, options); await context.Channel.SendMessageAsync(text : "Your subscription has been canceled. Use `!volt pro` to re-upgrade at any time!"); } else { await context.Channel.SendMessageAsync(text : "You do not currently have an active Voltaire Pro subscription. To create one, use the" + " `!volt pro` command."); } }
public SubscriptionServiceTest() { this.service = new SubscriptionService(); this.cancelOptions = new SubscriptionCancelOptions { InvoiceNow = true, Prorate = true, }; this.createOptions = new SubscriptionCreateOptions { CustomerId = "cus_123", Items = new List <SubscriptionItemOption> { new SubscriptionItemOption { PlanId = "plan_123", Quantity = 2 }, new SubscriptionItemOption { PlanId = "plan_124", Quantity = 3 }, }, }; this.updateOptions = new SubscriptionUpdateOptions { Metadata = new Dictionary <string, string> { { "key", "value" }, }, }; this.listOptions = new SubscriptionListOptions { Limit = 1, }; }