From d6d9ceab87742cc0fb2bd5af46ab2ceaba74bce4 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Sat, 29 Jul 2017 16:59:18 -0400 Subject: [PATCH] proration adjustments for next bill amount --- src/Core/Models/Business/BillingInfo.cs | 6 +++++- .../Services/Implementations/BraintreePaymentService.cs | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Core/Models/Business/BillingInfo.cs b/src/Core/Models/Business/BillingInfo.cs index 47491900a..48f74a3c8 100644 --- a/src/Core/Models/Business/BillingInfo.cs +++ b/src/Core/Models/Business/BillingInfo.cs @@ -196,7 +196,11 @@ namespace Bit.Core.Models.Business public BillingInvoice(Subscription sub) { - Amount = sub.NextBillAmount.GetValueOrDefault(); + Amount = sub.NextBillAmount.GetValueOrDefault() + sub.Balance.GetValueOrDefault(); + if(Amount < 0) + { + Amount = 0; + } Date = sub.NextBillingDate; } diff --git a/src/Core/Services/Implementations/BraintreePaymentService.cs b/src/Core/Services/Implementations/BraintreePaymentService.cs index 4bc7397e4..4edcc59e6 100644 --- a/src/Core/Services/Implementations/BraintreePaymentService.cs +++ b/src/Core/Services/Implementations/BraintreePaymentService.cs @@ -40,7 +40,8 @@ namespace Bit.Core.Services AddOns = new AddOnsRequest(), Options = new SubscriptionOptionsRequest { - ProrateCharges = true + ProrateCharges = true, + RevertSubscriptionOnProrationFailure = true } }; @@ -64,7 +65,8 @@ namespace Bit.Core.Services new UpdateAddOnRequest { ExistingId = storageItem.Id, - Quantity = additionalStorage + Quantity = additionalStorage, + NeverExpires = true } }; }