public async Task <Subscription> GetSubscriptionAsync(string subscriptionId) { var options = new SubscriptionGetOptions { }; var subscription = await _subscriptionService.GetAsync(subscriptionId, options); return(subscription); }
private Stripe.Subscription GetStripeSubscription(string subscriptionId) { StripeConfiguration.ApiKey = _appKeys.StripeApiKey; var service = new SubscriptionService(); var options = new SubscriptionGetOptions(); options.AddExpand("default_payment_method"); var subscription = service.Get(subscriptionId, options); return(subscription); }
public ActionResult <RetrieveSubscriptionInformationResponse> RetrieveSubscriptionInformation([FromBody] RetrieveSubscriptionInformationRequest req) { if (!ModelState.IsValid) { return(this.FailWithMessage("invalid params")); } var options = new SubscriptionGetOptions(); options.AddExpand("latest_invoice"); options.AddExpand("customer.invoice_settings.default_payment_method"); options.AddExpand("items.data.price.product"); var service = new SubscriptionService(); Subscription subscription; try { subscription = service.Get(req.Subscription, options); } catch (StripeException e) { return(this.FailWithMessage($"Failed to retrieve subscription with ID ({req.Subscription}): {e}")); } var invoiceOptions = new UpcomingInvoiceOptions { Subscription = req.Subscription, }; var invoiceService = new InvoiceService(); Invoice upcomingInvoice; try { upcomingInvoice = invoiceService.Upcoming(invoiceOptions); } catch (StripeException e) { return(this.FailWithMessage($"Failed to retrieve upcoming invoice: {e}")); } var item = subscription.Items.Data[0]; return(new RetrieveSubscriptionInformationResponse { Card = subscription.Customer.InvoiceSettings.DefaultPaymentMethod.Card, ProductDescription = item.Price.Product.Name, CurrentPrice = item.Price.Id, CurrentQuantity = item.Quantity, LatestInvoice = subscription.LatestInvoice, UpcomingInvoice = upcomingInvoice, }); }
public virtual Task <Subscription> GetAsync(string id, SubscriptionGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { return(this.GetEntityAsync(id, options, requestOptions, cancellationToken)); }
public virtual Subscription Get(string id, SubscriptionGetOptions options = null, RequestOptions requestOptions = null) { return(this.GetEntity(id, options, requestOptions)); }
public virtual Task <Subscription> Get(string subscriptionId, SubscriptionGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { return(GetEntity(subscriptionId, options, requestOptions, cancellationToken)); }