コード例 #1
0
        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));
            }
        }
コード例 #2
0
ファイル: StripeService.cs プロジェクト: dneimke/StripeSample
        public async Task CancelSubscription(string subscriptionId)
        {
            var options = new SubscriptionCancelOptions
            {
            };

            await _subscriptionService.CancelAsync(subscriptionId, options);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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,
            };
        }
コード例 #5
0
        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");
        }
コード例 #6
0
        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,
            };
        }
コード例 #7
0
ファイル: Cancel.cs プロジェクト: Tratos/Voltaire
        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.");
            }
        }
コード例 #8
0
        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,
            };
        }