* Support specifying payment method through apps
closes#1525
This is great if you want to offer items with an incentive to use a specific payment method without messing with the rates.
For example, you can have `Item A` which costs 25$ and your store is configured for USDT and BTC. You can create two items, with different prices, where Item A costs 20$ if you pay with bitcoin or 25$ if you paid in dirty fiat pegs
* make code cleaner
* Add Test
* fix test
* fix test
* Auto label utxos based on invoice and payjoin
This PR introduces automatic labelling to transactions.
* If it is an incoming tx to an invoice, it will tag it as such.
* If it was a payjoin tx , it will tag it as such.
* If a transaction's inputs were exposed to a payjoin sender, we tag it as such.
* wip
* wip
* support in coinselection
* remove ugly hack
* support wallet transactions page
* remove messy loop
* better label template helpers
* add tests and susbcribe to event
* simplify data
* fix test
* fix label + color
* fix remove label
* renove useless call
* add toString
* fix potential crash by txid
* trim json keyword in manual label
* format file
This PR allows you to use the pay button generator to create buttons that target apps. This means that you can generate an invoice that is linked to an item on the POS/Crowdfund (targeting the item is optional). The POS/Crowdfund item amount -> invoice creation amount validation works too so that the user cannot modify the amount of a perk using just html ( fixes#1392 )
This is a bugfix imo:
If you have 2 server admins, where only Admin1 has access to a specific app and Admin2 goes to edit the policies, the mapping would be overwritten to "None" .
This PR exposes all apps on all stores to this mapping dropdown irrespective of user. I think it makes sense to leak this minor data here to server admins.
* mark items to abstract
wip
wip
wip
wip
wip
wip
wip
cleanup
parse other types
compile and fix tests
fix bug
fix warnings
fix rebase error
reduce payment method handler passings
more cleanup
switch tests to Fast mode
fix obsolete warning
remove argument requirement
rebase fixes
remove overcomplicated code
better parsing
remove dependency on environement
remove async
* fixes and simplification
* simplify
* clean up even more
* replace nuglify dependency
* remove extra space
* Fix tests
* fix booboo
* missing setter
* change url resolver
* reduce payment method handlers
* wrap payment method handlers in a custom type
* fix tests
* make invoice controller UI selectlist population cleaner
* make store controller use payment handler dictionary
* fix ln flag
* fix store controller test
* remove null checks on payment handlers
* remove unused imports
* BitcoinSpecificBtcPayNetwork - abstract BTCPayNetwork
* some type fixes
* fix tests
* simplify fetching handler in invoice controller
* rename network base and bitcoin classes
* abstract serializer to network level
* fix serializer when network not provided
* fix serializer when network not provided
* fix serializer when network not provided
* Abstract more payment type specific logic to handlers
* fix merge issue
* small fixes
* make use of repository instead of direct context usage
* reduce redundant code
* sanity check
* test fixes