* Refactor and decouple Payout logic
So that we can support lightning + external payout payments
Fixes & refactoring
almost there
final
Remove uneeded payment method checks
Refactor payouts to handle custom payment method specific actions
External onchain payments to approved payouts will now require "confirmation" from the merchant that it was sent by them.
add pill tabs for payout status
* Improve some UX around feature
* add test and some fixes
* Only listen to address tracked source and determine based on wallet get tx call from nbx
* Simplify isInternal for Payout detection
* fix test
* Fix Noreferrer test
* Make EnsureNewLightningInvoiceOnPartialPayment more resilient
* Make notifications section test more resilient in CanUsePullPaymentsViaUI
* Save paymentRequestId in Metadata when creating invoice
* Added Payment Request ID + link on invoice detail page
* Added paymentRequestId to the webhook payload
* Removed PaymentRequestId from webhook payload (rolled back previous change)
* Using strongly typed InvoiceMetadata
* Added OrderUrl metadata field to invoice + link
* Added Metadata.OrderUrl to docs
* Made orderUrl visible when no orderId is present
* Unit test to check for (possibly) external links
* Add rel="noreferrer noopener" to all external links so unit test passes
* Update BTCPayServer.Tests/UnitTest1.cs
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Update BTCPayServer.Tests/UnitTest1.cs
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Fixed bad merge from master
* PascalCasing
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Added "Checkout" button to invoice detail page
* Added missing icon
All other pages have a "plus" icon on the primary button, except this page
* Button icons are always in front, not after like here was
* Improve and unify page headers
* Altcoin test fixes
* Update BTCPayServer/Views/Apps/UpdateCrowdfund.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Update BTCPayServer/Views/Apps/UpdateCrowdfund.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Fix missing store name in pairing view
* Fix CanUsePairing test
* Bump header navigation font size
* Use partial tag instead of Html.PartialAsync in views
As suggested by @nicolasdorier. These are equivalent, see details [here](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/partial?view=aspnetcore-3.1#partial-tag-helper).
* Fix docs link
As in #2432.
* Update BTCPayServer/Views/Wallets/SignWithSeed.cshtml
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
* Update BTCPayServer/Views/Wallets/WalletSendVault.cshtml
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
* Update BTCPayServer/Views/Wallets/WalletTransactions.cshtml
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
* UI: Improve invoice view
- General improvements for the spacings on the page
- Hides rows of data in case they aren't present
- Improved the PoS data view so that it renders complex objects nicely and adds links for URLs
TDB: For the last row "Links" there's now a special `_urls` property, which renders a list of urls with the key being the title and the value being the URL.
* Update BTCPayServer/Views/Invoice/Invoice.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* UI: Handle arrays in PosData view
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Fix LN invoices
This commit adds more to the previous LN fix in the case of a partial payment to an invoice. While it generated a new LN invoice after 1 partial payment was made, there were some new issues uncovered:
* Any other subsequent partial payments was not listened to and did not generate an invoice ( fixed by listeneing to received payment event and makng sure that the status was already set `to partialPaid`)
* Any other subsequent partial payments caused a DbConcurrency error and did not generate an invoice ( Fixed in `MarkUnassigned`)
* NotifyEmail field on Invoice, sending email when triggered
* Styling invoices page
* Exporting Invoices in JSON
* Recoding based on feedback
* Fixing image breaking responsive layout on mobile
* Reducing amount of data sent in email notification
* Turning bundling on by default