Fix: Payment Request status does not update on invoice marked events or when pr amount is changed (#2700)

fixes #2689
This commit is contained in:
Andrew Camilleri
2021-07-28 15:38:26 +02:00
committed by GitHub
parent 0054fe0886
commit 499a231432
2 changed files with 19 additions and 14 deletions

View File

@@ -50,15 +50,16 @@ namespace BTCPayServer.PaymentRequest
currentStatus = Client.Models.PaymentRequestData.PaymentRequestStatus.Expired;
}
if (currentStatus == Client.Models.PaymentRequestData.PaymentRequestStatus.Pending)
if (currentStatus != Client.Models.PaymentRequestData.PaymentRequestStatus.Expired)
{
var rateRules = pr.StoreData.GetStoreBlob().GetRateRules(_BtcPayNetworkProvider);
var invoices = await _PaymentRequestRepository.GetInvoicesForPaymentRequest(pr.Id);
var contributions = _AppService.GetContributionsByPaymentMethodId(blob.Currency, invoices, true);
if (contributions.TotalCurrency >= blob.Amount)
{
currentStatus = Client.Models.PaymentRequestData.PaymentRequestStatus.Completed;
}
currentStatus = contributions.TotalCurrency >= blob.Amount
? Client.Models.PaymentRequestData.PaymentRequestStatus.Completed
: Client.Models.PaymentRequestData.PaymentRequestStatus.Pending;
}
if (currentStatus != pr.Status)