public async Task <Subscription> CancelSubscriptionAsync(SubscriptionCancelRequest request)
        {
            var workContext = _workContextAccessor.WorkContext;

            return((await _subscriptionApi.CancelSubscriptionAsync(new AutoRestClients.SubscriptionModuleApi.Models.SubscriptionCancelRequest
            {
                CancelReason = request.CancelReason,
                SubscriptionId = request.SubscriptionId
            })).ToSubscription(workContext.AllCurrencies, workContext.CurrentLanguage));
        }
Beispiel #2
0
        public IHttpActionResult CancelSubscription(SubscriptionCancelRequest cancelRequest)
        {
            var retVal = _subscriptionService.GetByIds(new[] { cancelRequest.SubscriptionId }).FirstOrDefault();

            if (retVal != null)
            {
                _subscriptionBuilder.TakeSubscription(retVal).CancelSubscription(cancelRequest.CancelReason).Actualize();
                _subscriptionService.SaveSubscriptions(new[] { retVal });
            }
            return(Ok(retVal));
        }
        public async Task <ActionResult> CancelSubscription([FromBody] SubscriptionCancelRequest cancelRequest)
        {
            var subscription = await GetSubscriptionByNumberAsync(cancelRequest.Number);

            var retVal = (await _subscriptionService.CancelSubscriptionAsync(new SubscriptionCancelRequest
            {
                CancelReason = cancelRequest.CancelReason,
                SubscriptionId = subscription.Id
            }));

            return(Json(retVal));
        }
        public async Task <ActionResult> CancelSubscription(SubscriptionCancelRequest cancelRequest)
        {
            var subscription = await GetSubscriptionByNumberAsync(cancelRequest.Number);

            var retVal = (await _subscriptionApi.SubscriptionModule.CancelSubscriptionAsync(new subscriptionDto.SubscriptionCancelRequest
            {
                CancelReason = cancelRequest.CancelReason,
                SubscriptionId = subscription.Id
            })).ToSubscription(WorkContext.AllCurrencies, WorkContext.CurrentLanguage);

            return(Json(retVal, JsonRequestBehavior.AllowGet));
        }
Beispiel #5
0
        public async Task <IActionResult> CancelSubscription([FromBody] SubscriptionCancelRequest cancelRequest)
        {
            var retVal = (await _subscriptionService.GetByIdsAsync(new[] { cancelRequest.SubscriptionId })).FirstOrDefault();

            if (retVal != null)
            {
                await _subscriptionBuilder.TakeSubscription(retVal).CancelSubscription(cancelRequest.CancelReason).ActualizeAsync();

                await _subscriptionService.SaveSubscriptionsAsync(new[] { retVal });
            }
            return(Ok(retVal));
        }
Beispiel #6
0
        public async Task <ActionResult <Subscription> > CancelSubscription([FromBody] SubscriptionCancelRequest cancelRequest)
        {
            var subscription = await GetSubscriptionByNumberAsync(cancelRequest.Number);

            var retVal = (await _subscriptionService.CancelSubscriptionAsync(new SubscriptionCancelRequest
            {
                CancelReason = cancelRequest.CancelReason,
                SubscriptionId = subscription.Id,
                CustomerId = WorkContext.CurrentUser.Id
            }));

            return(retVal);
        }
        public async Task <Subscription> CancelSubscriptionAsync(SubscriptionCancelRequest request)
        {
            var workContext = _workContextAccessor.WorkContext;
            var result      = (await _subscriptionApi.CancelSubscriptionAsync(new AutoRestClients.SubscriptionModuleApi.Models.SubscriptionCancelRequest
            {
                CancelReason = request.CancelReason,
                SubscriptionId = request.SubscriptionId
            })).ToSubscription(workContext.AllCurrencies, workContext.CurrentLanguage);

            SubscriptionCacheRegion.ExpireCustomerSubscription(request.CustomerId);

            return(result);
        }
 public async Task CancelSubscriptionTest()
 {
     var requestTester             = GetRequestTester();
     var customerId                = "c1";
     var subscriptionId            = "s1";
     var cardRequest               = _cardRequestBuilder.Build();
     var subscriptionCancelRequest = new SubscriptionCancelRequest()
     {
         CustomerId = customerId, SubscriptionId = subscriptionId, AtPeriodEnd = true
     };
     await requestTester.TestMethod <Subscription>(
         async (api) =>
     {
         await api.CancelSubscription(subscriptionCancelRequest);
     },
         new RequestDescriptor()
     {
         Method    = HttpMethod.Delete,
         Action    = string.Format("customers/{0}/subscriptions/{1}", customerId, subscriptionId),
         Parameter = subscriptionCancelRequest
     }
         );
 }
        public async Task <Subscription> CancelSubscription(SubscriptionCancelRequest cancelSubscriptionsRequest)
        {
            var url = string.Format(SUBSCRIPTIONS_PATH, cancelSubscriptionsRequest.CustomerId) + "/" + cancelSubscriptionsRequest.SubscriptionId;

            return(await SendRequest <Subscription>(HttpMethod.Delete, url, cancelSubscriptionsRequest));
        }
Beispiel #10
0
 /// <summary>
 /// Cancels the subscription.
 /// </summary>
 /// <param name="id">The ID of the subscription.</param>
 /// <param name="subscriptionCancelRequest">Cancellation request object.</param>
 /// <returns>A task object representing asynchronous operation.</returns>
 public async Task CancelSubscription(string id, SubscriptionCancelRequest subscriptionCancelRequest)
 {
     await _paypalRestApiClient.Post(subscriptionCancelRequest, $"{ApiUrl}/{id}/cancel");
 }