Commit Graph

240 Commits

Author SHA1 Message Date
Wouter Samaey
6de4f6a3ac Mention the missing API permission in the response of a Greenfield request (#3195)
* Mention the missing API permission in the response header or body

* Fixes + Added a unit test. 1 TODO remains.

* Added MissingPermissionDescription to the error

* Update BTCPayServer.Tests/GreenfieldAPITests.cs

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* Fix tests

* [GreenField]: Make sure we are sending fully typed errors

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-12-16 23:04:06 +09:00
nicolas.dorier
4f7eeea14e Greenfield: Improve error message, do not use internal lightning node on store's lightning API 2021-12-16 14:27:34 +09:00
d11n
cc60958b30 Upgrade Lightning lib (#3187) 2021-12-11 14:32:28 +09:00
Samuel Adams
9b730e784f Add pagination for API GetNotifications (#3145) 2021-11-26 11:55:59 +09:00
Umar Bolatov
d5c38ef336 Add crypto code for invoice and pull payment payout API response (#3099)
* Add "cryptoCode" for invoice payment method API endpoint response

* Add "cryptoCode" for pull payment payout API endpoint response

* Add "#nullable enable" to GreenFieldInvoiceController

* Add "#nullable enable" to GreenfieldPullPaymentController
2021-11-15 14:25:59 +09:00
Samuel Adams
cbcd59c996 Prevent creation of on-chain invoices below the dust limit (#3082)
* Prevent creation of on-chain invoices below the dust limit

Fixes #3071.

* Apply suggestions from code review

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* small fix

* Fix selenium test

0.000000012 BTC (whether rounded or not) is below the dust threshold, causing this test to fail.

* fix CanCreateTopupInvoices test

Don't apply dust threshold conditional for topup invoices.

* Fix test, and minor changes

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-11-15 13:48:07 +09:00
nicolas.dorier
7e3cda904a Fix: Lightning address pay fails if millisatoshi is not 0 mod 1000 on LND (#3056) 2021-11-04 23:55:58 +09:00
Troy Anderson
4f235e1d62 resolves Issue #3042 add archive status to invoice response (#3043) 2021-11-01 15:53:33 +09:00
Troy Anderson
8fed8f77ad PR for Issue #3038 adds params for getInvoices pagination (#3039)
* ##3038 add pagination elements

* correct skip to take

* updated swagger docs

* set take nullable to true
2021-10-31 19:47:12 +09:00
nicolas.dorier
d6e3fb46ee bump 2021-10-29 23:41:02 +09:00
Umar Bolatov
8f117b5079 Add ability to require refund email from app level (#3013)
* Add ability to require refund email from app level

* Add ability request refund email when creating invoice manually

* Adjust labels

* Add UI tests

* Add Greenfield API support

* Rename RequiresRefundEmailType to RequiresRefundEmail

* Fix build

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-10-27 23:32:56 +09:00
nicolas.dorier
f7a0b91ec1 Add boolean overPaid to the invoice settled webhook 2021-10-27 14:51:42 +09:00
Kukks
1ecd1c1e54 LNURL: Add missing logic from lnurl merges and rebases 2021-10-26 14:08:09 +02:00
nicolas.dorier
e50c9266b4 [Fix] If the local culture of the server was not english, numeric values greenfield were not properly interpreted 2021-10-26 00:46:28 +09:00
Andrew Camilleri
951bfeefb1 LNURL Payment Method Support (#2897)
* LNURL Payment Method Support

* Merge recent Lightning controller related changes

* Fix build

* Create separate payment settings section for stores

* Improve LNURL configuration

* Prevent duplicate array entries when merging Swagger JSON

* Fix CanSetPaymentMethodLimitsLightning

* Fix CanUsePayjoinViaUI

* Adapt test for new cancel bolt invoice feature

* rebase fixes

* Fixes after rebase

* Test fixes

* Do not turn LNURL on by default, Off-Chain payment criteria should affects both BOLT11 and LNURL, Payment criteria of unset payment method shouldn't be shown

* Send better error if payment method not found

* Revert "Prevent duplicate array entries when merging Swagger JSON"

This reverts commit 5783db9eda17c29908a60fdef2c3ebe130a8b059.

* Fix LNUrl doc

* Fix some warnings

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2021-10-25 15:18:02 +09:00
Nicolas Dorier
86e528e5df Use NBitcoin's Network.UriScheme rather than our own (#3005) 2021-10-23 14:47:15 +09:00
Nicolas Dorier
4cf3249e0b Add ability to set default currency for a store (#2998) 2021-10-20 23:17:40 +09:00
nicolas.dorier
18f1b4d8c1 Bump NBitcoin (Fix perf problem on signing of big transaction) 2021-10-14 01:01:32 +09:00
nicolas.dorier
b26e8311c1 Bump NBitcoin 2021-10-12 15:42:20 +09:00
nicolas.dorier
0033aab03e Remove types from BTCPayServer.Client 2021-10-11 18:01:32 +09:00
nicolas.dorier
1037fe0b14 Remove unused ExpireInvoiceResponse type 2021-10-11 17:58:01 +09:00
Wouter Samaey
e842a00402 Easier payment testing (#2672)
* Easier payment testing

* WIP, more TODOs and some cleanup. Help is appreciated.

* Added dummy button to expire monitoring (doesn't work yet)

* Added TODO

* Make fake tab default if present

* Split controller and change wording from fake to testing

* Extract and simplify checkout testing UI

* Restrict testing access to regtest

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-10-11 11:11:02 +09:00
Andrew Camilleri
7bcaf956e7 Grerenfield: Add availableStatusesForManualMarking to Invoice Data (#2934)
closes ##2933
2021-10-06 18:19:34 +09:00
nicolas.dorier
08bd13b2cd Make CanUseWebhooks more resilient 2021-10-06 11:25:21 +09:00
Andrew Camilleri
6e3d6125c2 Payment Settled Webhook event (#2944)
* Payment Settled Webhook event

resolves #2691

* Move payment methods to payment services
2021-10-05 18:10:41 +09:00
nicolas.dorier
cf2c147f4f Bumping versions of libraries and dockerfile 2021-10-05 15:29:26 +09:00
Andrew Camilleri
9f6c7180b2 Greenfield quality of life improvements from feedback (#2880)
* Greenfield quality of life improvements from feedback

fix #2854

* Greenfield quality of life improvements from feedback

fix #2855
2021-09-25 14:04:34 +09:00
Umar Bolatov
5cba59932b Add ability to specify default payment method through Greenfield API 2021-09-16 07:29:18 +02:00
Umar Bolatov
748423dfe8 Add UpdateOnChainPaymentMethodRequest 2021-09-02 10:42:41 +02:00
Umar Bolatov
2f4e610900 Add UpdateLightningNetworkPaymentMethodRequest 2021-09-02 10:42:41 +02:00
Umar Bolatov
d39ec97b9a Remove "enabled" option from address preview endpoint 2021-09-02 10:42:41 +02:00
nicolas.dorier
748c882ba1 Bump libraries 2021-08-26 14:34:20 +09:00
Nicolas Dorier
f84b2c5160 Add proper error message if node/nbxplorer doesn't support taproot (#2752) 2021-08-05 13:56:31 +09:00
Nicolas Dorier
4c818d0359 Implement topup invoices (#2730) 2021-08-03 17:03:00 +09:00
Nicolas Dorier
1b85ab8b54 Improve UI of immature balance, show available balance in wallet list (#2732) 2021-08-01 22:13:12 +09:00
Nicolas Dorier
6ea96efe68 Update NBitcoin, fix warnings on nullable (#2718) 2021-07-29 20:29:34 +09:00
Andrew Camilleri
c59798e9c4 GreenField: Generate Store OnChain Wallet (#2708)
* GreenField: Generate Store OnChain Wallet

* Greenfield: Do not generate wallet if already configured
2021-07-27 23:53:44 +09:00
Andrew Camilleri
ba165ddd4f Local Greenfield Client for Plugins (#2410)
* wip

* Local GreenField Client for Plugins

* support notification handlers being missing

* Initial support for scoped btcpay client

* test out scoped local client

* wip

* small fix

* Throw exception if using local greenfield client and it has not been implemented yet

* adapt based on new changes in BTCPay

* update

* fix tests

* Allow Local client to bypass authorization handler

* Add Misc endpoints to Local API Client

* Add new endpoints

* Apply code review changes
2021-07-27 21:11:47 +09:00
Andrew Camilleri
d505771d96 Make CanUseInternalLightningNode a sub policy of CanModifyServerSettings (#2709)
SInce CanModifyServerSettings can trivially modify any policy around lightning node sharing, it should automatically have access to the lightning node usage perm
2021-07-27 19:23:20 +09:00
Kukks
f4df850d25 Greenfield: Rename enabledOnly to enabled?
Allows the filter to work in both directions instead
2021-07-26 12:03:11 +02:00
Kukks
4d538c61b1 Refactor Get Store Payment Methods
Add tests + docs + new pluggbale format for fetching payment method data + client
2021-07-26 12:03:11 +02:00
Nicolas Dorier
73b461f8d0 Greenfield: add text search terms to an invoice (#2648) 2021-07-14 23:32:20 +09:00
Andrew Camilleri
72d5c11811 Greenfield: Add CanModifyInvoices Permissions (#2595) 2021-07-11 00:30:01 +09:00
Nicolas Dorier
4bb3d60b6c Add misc/permissions to document the hierarchical structure (#2654) 2021-07-08 14:34:10 +09:00
Umar Bolatov
50be6595bd update InvoiceStatusMark Swagger definition (#2674)
close #2597
2021-07-07 13:27:04 +09:00
Andrew Camilleri
cb2dd464f1 GreenField: Add StoreId to Invoice model (#2592) 2021-06-24 23:15:51 +09:00
Andrew Camilleri
cd9feccf6e Mark Payouts as Paid (#2539)
* Mark Payouts as Paid

This PR allows users to mark payouts as paid manually through the UI  and through the API. It also sets up the payout proof system to be able store a manual proof that will in a later PR allow you to specify a proof of payment (link or text)

* add docs, test and greenfield client

* remove extra docs stuff

* Update BTCPayServer.Tests/GreenfieldAPITests.cs

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

* clean up pull payment/payouts fetch code

* Ensure payoutis are retrieved with pull payment

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-06-10 18:43:45 +09:00
Nicolas Dorier
e93b030bfe Update HWI library, warn users to run newer version (#2544)
* Update HWI library, warn users to run newer version

* Update BTCPayServer/wwwroot/js/vaultbridge.ui.js

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Update BTCPayServer/wwwroot/js/vaultbridge.ui.js

Co-authored-by: Pavlenex <pavle@pavle.org>

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
Co-authored-by: Pavlenex <pavle@pavle.org>
2021-06-06 21:02:15 +09:00
Kukks
28da78fc78 Improve tests and small refactoring 2021-06-04 12:20:45 +02:00
Umar Bolatov
e943c55a91 Add basic tests for delete user endpoint 2021-06-02 20:02:31 -07:00