cmd/satellite/billing: don't fail the overall process if an individual invoice fails

Change-Id: I36591a717ef97bdb417cc6d9218e22b2f91f249b
This commit is contained in:
JT Olio 2023-07-07 11:10:23 -04:00 committed by Storj Robot
parent 1d62dc63f5
commit 73d65fce9a

View File

@ -1068,8 +1068,6 @@ func (service *Service) PayInvoices(ctx context.Context, createdOnAfter time.Tim
} }
params.Filters.AddFilter("created", "gte", strconv.FormatInt(createdOnAfter.Unix(), 10)) params.Filters.AddFilter("created", "gte", strconv.FormatInt(createdOnAfter.Unix(), 10))
var errGrp errs.Group
invoicesIterator := service.stripeClient.Invoices().List(params) invoicesIterator := service.stripeClient.Invoices().List(params)
for invoicesIterator.Next() { for invoicesIterator.Next() {
stripeInvoice := invoicesIterator.Invoice() stripeInvoice := invoicesIterator.Invoice()
@ -1084,11 +1082,13 @@ func (service *Service) PayInvoices(ctx context.Context, createdOnAfter time.Tim
params := &stripe.InvoicePayParams{Params: stripe.Params{Context: ctx}} params := &stripe.InvoicePayParams{Params: stripe.Params{Context: ctx}}
_, err = service.stripeClient.Invoices().Pay(stripeInvoice.ID, params) _, err = service.stripeClient.Invoices().Pay(stripeInvoice.ID, params)
if err != nil { if err != nil {
errGrp.Add(Error.New("unable to pay invoice %s", stripeInvoice.ID)) service.log.Warn("unable to pay invoice",
zap.String("stripe-invoice-id", stripeInvoice.ID),
zap.Error(err))
continue continue
} }
} }
return errGrp.Err() return invoicesIterator.Err()
} }
// projectUsagePrice represents pricing for project usage. // projectUsagePrice represents pricing for project usage.