public virtual async Task<StripeSubscription> CancelAsync(string customerId, string subscriptionId, bool cancelAtPeriodEnd = false, StripeRequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken))
{
var url = string.Format(Urls.Subscriptions + "/{1}", customerId, subscriptionId);
url = ParameterBuilder.ApplyParameterToUrl(url, "at_period_end", cancelAtPeriodEnd.ToString());
return Mapper<StripeSubscription>.MapFromJson(
await Requestor.DeleteAsync(url,
SetupRequestOptions(requestOptions),
cancellationToken)
);
}