1. Add invoice type (add-on/credit/subscription) column to Invoices page
  2. Add Manual as Payment Provider (and print info in invoices)
  3. Add invoice type filter http://localhost:8080/invoices/pendingFailed?invoice_type=credit (or may be something similar using UI) to show page with only unpaid top-up wallet invoices
  4. Add
    Mark Succeeded
    button directly to invoices grid
  5. Add user role Operator with access right to manage invoices and customer pages only (user role for staff who approve payments were succeeded)
  6. Ensure it's possible and have good UX: Operator can manage invoice statuses of manual payment provider only for add-on and top up wallet operations, restrict changing payment status for subscriptions (they are automatically processed using wallet balance)
Do not try to implement this suggestion all-at-once. Do it step by step.