public virtual StripeSubscription Cancel(string subscriptionId, StripeSubscriptionCancelOptions cancelOptions, StripeRequestOptions requestOptions = null)
 {
     return(Mapper <StripeSubscription> .MapFromJson(
                Requestor.Delete(
                    this.ApplyAllParameters(cancelOptions, $"{Urls.Subscriptions}/{WebUtility.UrlEncode(subscriptionId)}", false),
                    this.SetupRequestOptions(requestOptions))));
 }
        public StripeSubscriptionServiceTest()
        {
            this.service = new StripeSubscriptionService();

            this.cancelOptions = new StripeSubscriptionCancelOptions
            {
            };

            this.createOptions = new StripeSubscriptionCreateOptions()
            {
                CustomerId = "cus_123",
                Items      = new List <StripeSubscriptionItemOption>
                {
                    new StripeSubscriptionItemOption
                    {
                        PlanId   = "plan_123",
                        Quantity = 2
                    },
                    new StripeSubscriptionItemOption
                    {
                        PlanId   = "plan_124",
                        Quantity = 3
                    },
                },
            };

            this.updateOptions = new StripeSubscriptionUpdateOptions()
            {
                Metadata = new Dictionary <string, string>()
                {
                    { "key", "value" },
                },
            };

            this.listOptions = new StripeSubscriptionListOptions()
            {
                Limit = 1,
            };
        }
        public virtual async Task <StripeSubscription> CancelAsync(string subscriptionId, StripeSubscriptionCancelOptions cancelOptions, StripeRequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken))
        {
            var url = string.Format(Urls.Subscriptions + "/{0}", subscriptionId);

            this.ApplyAllParameters(cancelOptions, url, false);

            return(Mapper <StripeSubscription> .MapFromJson(
                       await Requestor.DeleteAsync(
                           url,
                           this.SetupRequestOptions(requestOptions),
                           cancellationToken).ConfigureAwait(false)));
        }