0

I am attempting to change from a paid subscription to a $0 subscription and immediately issue the pro-rated refund.

I was able to get the pro-rated amount using this Q/A: How do you preview a proration using Stripe.NET?. And when I actually update the subscription with the new plan id, the upcoming invoice shows the pro-rated amount but no actual refund is issued. And that makes sense for paid subscriptions, but I need to refund.

enter image description here

Is there a way to execute the refund as part of the Stripe subscription update request? Or do I need to make a separate request to do the refund?

Here's the code I use to update the subscription:

                var items = new List<SubscriptionItemOptions> {
                    new SubscriptionItemOptions {
                        Id = subscription.Items.Data[0].Id,
                        Plan = request.NewPlanId,
                        Deleted = false
                    }
                };

                var options = new SubscriptionUpdateOptions
                {
                    Items = items,
                    ProrationDate = request.ProrationDate,
                    ProrationBehavior = "create_prorations" // none, create_prorations
                };

                var updatedSubscription = await subscriptionService.UpdateAsync(subscription.Id, options);
Jay Cummins
  • 1,039
  • 2
  • 14
  • 31
  • Does this answer your question? [Stripe API refund after subscription cancelled](https://stackoverflow.com/questions/24790776/stripe-api-refund-after-subscription-cancelled) – taintedzodiac Jan 04 '21 at 18:49
  • Sort of--they are more workarounds as opposed to executing a refund as part of the update request. I am working around by manually issuing the pro-rated refund. – Jay Cummins Jan 07 '21 at 12:57
  • 1
    You're doing it the correct way. There is no "prorate, credit, and refund" in one call. – taintedzodiac Jan 11 '21 at 01:25

0 Answers0