Commit Graph

246 Commits

Author SHA1 Message Date
Rockstar Developer
7e714bdfa2 Increasing default monitoring expiration time (#925)
With value 60 what would often happen is that invoice ends up being declared invalid, and then payment arrives later when system is not monitoring. After lots of production testing we decided to increase this value by default so that new users don't need to manually reassign invoices from `invalid` status, especially if they use third party plugin like wooCommerce.
2019-07-17 12:45:32 +09:00
nicolas.dorier
2958175add
Sort payment requests, most recent first 2019-07-01 17:33:49 +09:00
nicolas.dorier
64c60741a0
Fix possible NRE 2019-06-26 13:46:45 +09:00
nicolas.dorier
bea08e5cfd
Refactor: Remove uneeded dependencies to PaymentMethodHandlerDictionary 2019-06-04 10:17:26 +09:00
nicolas.dorier
292c188182
Fix build errors 2019-06-04 09:40:36 +09:00
Andrew Camilleri
916323bb3b [WIP] Further abstractions to Payment Handlers (#867)
* 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
2019-05-30 16:02:52 +09:00
Andrew Camilleri
d3e3c31b0c Btcpay abstract BTCPayNetwork -- Alternative PR to #865 (#868)
* 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

* try fixes for isolating pull request
2019-05-29 18:43:50 +09:00
Andrew Camilleri
ef9c2e8af1 Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies (#567)
* Part 1: OpenIddict - Minor Changes & Config prep

* Part 1: OpenIddict - Minor Changes & Config prep

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies

* pr changes

* pr changes

* fix merge

* pr fixes

* remove config for openid -- no need for it for now

* fix compile

* fix compile #2

* remove extra ns using

* Update Startup.cs

* compile

* adjust settings a bit

* remove duplicate

* remove external login provider placeholder html

* remove unused directives

* regenerate db snapshot model

* Remove dynamic policy
2019-05-24 15:17:02 +09:00
nicolas.dorier
5a92fe736f
Fix: Uploading coldcard in derivation scheme would forget to remember some data 2019-05-09 16:11:09 +09:00
nicolas.dorier
914eaaaa51
Refactor DerivationStrategy to DerivationSchemeSettings 2019-05-09 00:55:44 +09:00
Andrew Camilleri
19a990b095 Add U2f Login Support (#787)
* init u2f

* ux fixes

* Cleanup Manage Controller

* final changes

* remove logs

* remove console log

* fix text for u2f

* Use Is Secure instead of IsHttps

* add some basic u2f tests

* move loaders to before title

* missing commit

* refactor after nicolas wtf moment
2019-05-02 21:01:08 +09:00
Andrew Camilleri
b184360eb7 Abstracted cloud storage - Amazon/Google/Azure/Local (#708)
* wip

* add in storage system

* ui fixes

* fix settings ui

* Add Files Crud UI

* add titles

* link files to users

* add migration

* set blob to public

* remove base 64 read code

* fix file query model init

* move view model to own file

* fix local root path

* use datadir for local storage

* move to services

* add direct file url

* try fix tests

* remove magic string

* remove other magic strings

* show error message on unsupported provider

* fix asp net version

* redirect to storage settings if provider is not supported

* start writing tests

* fix tests

* fix test again

* add some more to the tests

* more tests

* try making local provider work on tests

* fix formfile

* fix small issue with returning deleted file

* check if returned data is null for deleted file

* validate azure Container name

* more state fixes

* change azure test trait

* add tmp file url generator

* fix tests

* small clean

* disable amazon and  google


comment out unused code for now


comment out google/amazon
2019-04-22 16:41:20 +09:00
nicolas.dorier
4067d4b00f Remove the Facade concept 2019-04-11 23:55:20 +09:00
Kukks
d7ada4d493 add redirect automatically to checkout experience/ store settings 2019-04-11 11:53:31 +02:00
rockstardev
5261cfcdd3 Allowing for lightning payment amounts to be displayed in Satoshis 2019-03-15 22:43:57 -05:00
nicolas.dorier
23f296ef34 The store owner can define default currency pairs when using rate API without parameter 2019-03-11 18:39:21 +09:00
Kukks
ad25a2ed08 Add payment requests 2019-02-25 17:56:28 +09:00
nicolas.dorier
0807f3b87b Remote internal tags at store level 2019-02-19 13:24:04 +09:00
nicolas.dorier
37327ec674 Apps can tag invoices 2019-02-19 12:48:08 +09:00
nicolas.dorier
3816b36131 Add internal tags to invoice 2019-02-19 11:14:21 +09:00
nicolas.dorier
585efa3ff5 Fix: Default payment method should not return a disabled one 2019-01-31 22:03:28 +09:00
nicolas.dorier
cf6b17250a Can set lightning network as default payment method (close #290) 2019-01-31 19:07:38 +09:00
Kukks
cfb4b080d3 Emails on store level 2019-01-22 21:38:39 +09:00
nicolas.dorier
d85f03ba20 Remove HangFire dependency 2019-01-16 19:15:09 +09:00
Nicolas Dorier
3cefd7bd1e
Merge pull request #467 from Kukks/feature/coinswitch
CoinSwitch Integration
2019-01-07 19:11:55 +09:00
nicolas.dorier
a05cd5678b Add support for removing network fee on first payment 2019-01-05 17:45:49 +09:00
Kukks
444e761d41 Merge remote-tracking branch 'btcpayserver/master' into feature/coinswitch 2018-12-28 12:33:55 +01:00
nicolas.dorier
81c9ce7284 Limit the number of time the wallet need to export the xpub 2018-12-26 15:04:11 +09:00
nicolas.dorier
caa6978d80 Save the KeyPath of the WalletKeyPathRoot of the hardware wallet so we don't have to scan for it 2018-12-26 14:04:00 +09:00
Kukks
c00c95efcf initial coinswitch work 2018-12-11 12:47:38 +01:00
nicolas.dorier
0d06cf63b7 Use enum for invoice status and invoice exception 2018-12-10 21:48:28 +09:00
nicolas.dorier
b5c9a03052 Can mark invoice as complete 2018-12-10 15:34:48 +09:00
nicolas.dorier
93cefced80 bump .NET core and dependencies 2018-10-31 13:03:12 +09:00
Aaron Clauson
ce94c05fd3 MySQL Support (#345)
* MySQL EF support added using Pomelo MySQL provider.

* MySQL EF support added using Pomelo MySQL provider.
2018-10-27 23:15:21 +09:00
Andrew Camilleri
4b976c13c1 Changelly v2 (#343)
* Disable shapeshift and use changelly

* UI to manage changelly payment method

* wip on changelly api

* Add in Vue component for changelly and remove target currency from payment method

* add changelly merhcant id

* Small fixes to get Conversion to load

* wip fixing the component

* fix merge conflict

* fixes to UI

* remove debug, fix fee calc and move changelly to own partials

* Update ChangellyController.cs

* move original vue setup back to checkout

* Update core.js

* Extracting Changelly component to js file

* Proposal for loading spinner

* remove zone

* imrpove changelly ui

* add in changelly config checks

* try new method to calculate amount + remove to currency from list

* abstract changelly lofgic to provider and reduce dependency on js component

* Add UTs for Changelly

* refactor changelly backend

* fix failing UT

* add shitcoin tax

* pr changes

* pr changes

* WIP: getting rid of changelly dependency

* client caching, compiling code, cleaner code

* Cleaner changelly

* fiat!

* updat i18n, css and error styler

* default keys

* pr changes part 1

* part2

* fix tests

* fix loader alignment and retry button responsiveness

* final pr change
2018-10-24 14:52:19 +09:00
nicolas.dorier
f419c56a3c Revert "Changelly Support (#267)"
This reverts commit a5fca7a1c4.
2018-10-18 12:27:46 +09:00
Andrew Camilleri
a5fca7a1c4 Changelly Support (#267)
* Disable shapeshift and use changelly

* UI to manage changelly payment method

* wip on changelly api

* Add in Vue component for changelly and remove target currency from payment method

* add changelly merhcant id

* Small fixes to get Conversion to load

* wip fixing the component

* fix merge conflict

* fixes to UI

* remove debug, fix fee calc and move changelly to own partials

* Update ChangellyController.cs

* move original vue setup back to checkout

* Update core.js

* Extracting Changelly component to js file

* Proposal for loading spinner

* remove zone

* imrpove changelly ui

* add in changelly config checks

* try new method to calculate amount + remove to currency from list

* abstract changelly lofgic to provider and reduce dependency on js component

* Add UTs for Changelly

* refactor changelly backend

* fix failing UT

* add shitcoin tax

* pr changes

* pr changes
2018-10-18 12:13:39 +09:00
nicolas.dorier
fed53661b3 Add btcpay.store.cancreateinvoice claim, and use that for the store 2018-09-08 14:53:41 +09:00
rockstardev
b5626ef01c Validating that Store has Pay Button enabled 2018-09-08 14:53:41 +09:00
nicolas.dorier
f7383b4cc8 Fixing error on CheckoutExperience if no crypto is set 2018-08-23 11:08:53 +09:00
nicolas.dorier
83304de1c6 Remove the concept of "Rate multiplier" and replace it with the concept of "Spread" 2018-08-01 18:38:46 +09:00
Andrew Camilleri
d480be925b Can disable method of payments 2018-07-30 23:54:31 +09:00
Andrew Camilleri
1a54f2d01a remove redundant cryptocode field in payment method interface 2018-07-27 08:41:36 +02:00
Andrew Camilleri
64181d1a93 use default crypto for /rates route 2018-07-27 07:54:55 +02:00
nicolas.dorier
ce17e3212a Can delete stores 2018-07-19 19:31:17 +09:00
nicolas.dorier
370951a3bd make sure postgres DB is created with C locale 2018-06-05 12:51:37 +09:00
nicolas.dorier
199db01eaf No need of authentication for GetInvoice API (#166) 2018-05-11 17:05:08 +09:00
nicolas.dorier
a3c46c8f67 Use hangfire in-memory provider until the postgres binding to hangfire get updated. 2018-05-11 15:06:11 +09:00
Andrew Camilleri
c3d73236e0 start work on payment tolerance feature 2018-05-04 16:15:34 +02:00
rockstardev
0a449e1e8e Allowing custom HtmlTitle
Fix #96
2018-05-03 22:35:06 -05:00
nicolas.dorier
e57a488371 Refactor the RateProvider 2018-05-03 03:32:42 +09:00
nicolas.dorier
1fc9a1a54b Move to a Claim based security 2018-04-30 02:33:42 +09:00
nicolas.dorier
2848caff2e Support Legacy API Key authentication to Bitpay Invoice API 2018-04-29 18:28:04 +09:00
nicolas.dorier
de8147d5dd Can opt out required refund email from customer 2018-04-26 11:13:44 +09:00
nicolas.dorier
0723eec508 Fix rate handling 2018-04-15 21:21:57 +09:00
nicolas.dorier
d7cb6f1cca Add a way to customize lightning invoice description 2018-04-07 16:27:46 +09:00
nicolas.dorier
325b359ff6 Add OnChainMinValue 2018-04-03 17:39:28 +09:00
nicolas.dorier
149c29963d Add Point of Sale feature to BTCPay 2018-04-03 16:58:47 +09:00
nicolas.dorier
26aac66a76 Allow merchant to customize their checkout page 2018-03-27 15:14:50 +09:00
nicolas.dorier
7dd88d8d8f Can send max invoice value for lightning payments 2018-03-26 01:57:44 +09:00
nicolas.dorier
7d17bf7f2a Can set store default language 2018-03-23 17:27:48 +09:00
lepipele
1524fb4499 Merge remote-tracking branch 'source/master' into dev-shapeshift 2018-03-17 23:50:11 -05:00
lepipele
c36a900627 Store setting for allowing conversion through Shapeshift 2018-03-17 23:48:06 -05:00
nicolas.dorier
9e2e102ec4 Fix bug making it impossible to remove LTC xpub 2018-03-14 19:32:24 +09:00
nicolas.dorier
303a617f9e Improve invoice.cshtml display if offchain payment is present 2018-03-06 16:37:25 -05:00
nicolas.dorier
0e1a1fd2cd Remove dependencies in StoreController to on chain payment specific stuff 2018-02-20 12:45:04 +09:00
nicolas.dorier
2e45c8b190 Isolate PaymentMethodId in its own class, generalise DerivationStrategy 2018-02-19 23:13:23 +09:00
nicolas.dorier
a634593903 Big refactoring renaming cryptoData => PaymentMethod 2018-02-19 15:09:05 +09:00
nicolas.dorier
af94de93d1 Add some comments 2018-02-19 11:31:34 +09:00
nicolas.dorier
4795bd8108 Add some sanity check, make sure to use CrytpoDataId everywhere 2018-02-19 03:35:19 +09:00
nicolas.dorier
b898cc030c general code cleanup + add analyzers 2018-02-17 13:18:16 +09:00
nicolas.dorier
69247dee8a Fix api/rates allow to scope by cyrptoCode and storeId 2018-01-19 18:11:43 +09:00
nicolas.dorier
897da9b07a Better explanation for the price source 2018-01-19 17:13:29 +09:00
nicolas.dorier
198e810355 Store can customize rate source 2018-01-19 16:00:20 +09:00
nicolas.dorier
5f6913b3a2 Can tweak the rate at store level 2018-01-17 15:59:31 +09:00
nicolas.dorier
2b31af80cb Can configure invoice expiration 2018-01-17 15:14:53 +09:00
nicolas.dorier
ba0e080816 Invoices has events recorded 2018-01-14 21:48:23 +09:00
nicolas.dorier
6ae9d13c43 Allow checkout with litecoin 2018-01-09 11:41:07 +09:00
nicolas.dorier
31672a2587 Add litecoin to docker-compose fix bugs when two networks generate same address 2018-01-09 01:56:37 +09:00
nicolas.dorier
c3d37b1f78 Can set derivation scheme for a specific crypto currency 2018-01-08 22:45:09 +09:00
nicolas.dorier
781b2885cc Refactoring to prepare multiple DerivationSchemes per store and invoices 2018-01-06 19:10:55 +09:00
nicolas.dorier
a37fdde214 Big refactorying for supporting multi currencies 2017-12-21 15:52:04 +09:00
nicolas.dorier
22f06ecd4e Can set store policy to define how much time to wait before passing a transaction from paid to invalid. 2017-12-03 14:43:52 +09:00
nicolas.dorier
b042f98f0f Correctly handle RBF 2017-11-06 00:31:02 -08:00
nicolas.dorier
4deb7c3270 Adopt dotnet core editorconfig, big reformating 2017-10-27 17:53:04 +09:00
nicolas.dorier
55a4c3c08d Change address if invoice get partially paid 2017-10-25 01:41:01 +09:00
nicolas.dorier
5f8407b4b1 Allow the merchant to disable network fees at store level 2017-10-23 19:27:22 +09:00
lepipele
45b0991841 Fixing typo in namespace 2017-10-20 14:06:37 -05:00
nicolas.dorier
bae08b6966 Use callback to update invoice state instead of long polling 2017-10-12 16:33:53 +09:00
nicolas.dorier
6d3ea65e03 Refactor token handling, support server-initiated pairing 2017-10-11 12:20:44 +09:00
NicolasDorier
f456d62d3c Properly map addresses to invoice, use new nbxplorer 2017-10-06 10:37:38 +09:00
NicolasDorier
6b7cc77667 Add postgres support 2017-09-27 22:09:59 +09:00
NicolasDorier
878a13f1bf Can ask user to confirm email 2017-09-27 14:18:09 +09:00
NicolasDorier
f8baab8138 Renaming + fix invoice display when paid and expired 2017-09-15 16:06:57 +09:00
NicolasDorier
467ecd0923 Decouple User from Store 2017-09-13 23:50:36 +09:00
NicolasDorier
b5c6ed3860 Init 2017-09-13 15:55:16 +09:00