diff --git a/404.html b/404.html index 1a818d9b4e..4b9783d7c9 100644 --- a/404.html +++ b/404.html @@ -9,13 +9,13 @@ - + -

404

That's a Four-Oh-Four.
+ - + diff --git a/API/Greenfield/v1/swagger.json b/API/Greenfield/v1/swagger.json index 6e16e0bf80..17e576d95e 100644 --- a/API/Greenfield/v1/swagger.json +++ b/API/Greenfield/v1/swagger.json @@ -5290,6 +5290,7 @@ } } ], + "operationId": "PaymentRequests_Pay", "description": "Create a new invoice for the payment request, or reuse an existing one", "requestBody": { "description": "Invoice creation request", @@ -8762,7 +8763,7 @@ } }, { - "name": "userId", + "name": "idOrEmail", "in": "path", "required": true, "description": "The user's id or email", @@ -10440,7 +10441,7 @@ "name": "idOrEmail", "in": "path", "required": true, - "description": "The ID of the user to be deleted", + "description": "The ID or email of the user to be deleted", "schema": { "type": "string" } @@ -11716,11 +11717,17 @@ }, "depositablePaymentMethods": { "type": "array", + "items": { + "type": "string" + }, "description": "A list of payment methods (crypto code + network) you can deposit to the custodian.", "nullable": false }, "withdrawablePaymentMethods": { "type": "array", + "items": { + "type": "string" + }, "description": "A list of payment methods (crypto code + network) you can withdraw from the custodian.", "nullable": false }, @@ -12257,7 +12264,11 @@ "status": { "nullable": false, "description": "Mark an invoice as completed or invalid.", - "$ref": "#/components/schemas/InvoiceStatusMark" + "allOf": [ + { + "$ref": "#/components/schemas/InvoiceStatusMark" + } + ] } } }, @@ -12275,7 +12286,7 @@ }, "InvoiceStatus": { "type": "string", - "description": "", + "description": "The status of the invoice", "x-enumNames": [ "Expired", "Invalid", @@ -12318,13 +12329,21 @@ }, "checkout": { "nullable": true, - "$ref": "#/components/schemas/CheckoutOptions", - "description": "Additional settings to customize the checkout flow" + "description": "Additional settings to customize the checkout flow", + "allOf": [ + { + "$ref": "#/components/schemas/CheckoutOptions" + } + ] }, "receipt": { "nullable": true, - "$ref": "#/components/schemas/ReceiptOptions", - "description": "Additional settings to customize the public receipt" + "description": "Additional settings to customize the public receipt", + "allOf": [ + { + "$ref": "#/components/schemas/ReceiptOptions" + } + ] } } }, @@ -12357,8 +12376,7 @@ "example": "USD" }, "type": { - "$ref": "#/components/schemas/InvoiceType", - "description": "The type of invoice" + "$ref": "#/components/schemas/InvoiceType" }, "checkoutLink": { "type": "string", @@ -12389,12 +12407,10 @@ ] }, "status": { - "$ref": "#/components/schemas/InvoiceStatus", - "description": "The status of the invoice" + "$ref": "#/components/schemas/InvoiceStatus" }, "additionalStatus": { - "$ref": "#/components/schemas/InvoiceAdditionalStatus", - "description": "a secondary status of the invoice" + "$ref": "#/components/schemas/InvoiceAdditionalStatus" }, "availableStatusesForManualMarking": { "type": "array", @@ -12631,8 +12647,11 @@ "properties": { "speedPolicy": { "nullable": true, - "$ref": "#/components/schemas/SpeedPolicy", - "description": "This is a risk mitigation parameter for the merchant to configure how they want to fulfill orders depending on the number of block confirmations for the transaction made by the consumer on the selected cryptocurrency" + "allOf": [ + { + "$ref": "#/components/schemas/SpeedPolicy" + } + ] }, "paymentMethods": { "type": "array", @@ -12703,11 +12722,8 @@ "description": "`\"V1\"`: The original checkout form \n`\"V2\"`: The new experimental checkout form. \nIf `null` or unspecified, the store's settings will be used.", "nullable": true, "default": null, - "x-enumNames": [ - "V1", - "V2" - ], "enum": [ + null, "V1", "V2" ] @@ -12862,8 +12878,7 @@ "description": "The fee paid for the payment" }, "status": { - "$ref": "#/components/schemas/PaymentStatus", - "description": "The status of the payment" + "$ref": "#/components/schemas/PaymentStatus" }, "destination": { "type": "string", @@ -12873,7 +12888,7 @@ }, "PaymentStatus": { "type": "string", - "description": "", + "description": "The status of the payment", "x-enumNames": [ "Invalid", "Processing", @@ -12887,7 +12902,7 @@ }, "InvoiceType": { "type": "string", - "description": "", + "description": "The type of the invoice", "x-enumNames": [ "Standard", "TopUp" @@ -12941,7 +12956,7 @@ }, "SpeedPolicy": { "type": "string", - "description": "`\"HighSpeed\"`: 0 confirmations (1 confirmation if RBF enabled in transaction) \n`\"MediumSpeed\"`: 1 confirmation \n`\"LowMediumSpeed\"`: 2 confirmations \n`\"LowSpeed\"`: 6 confirmations\n", + "description": "This is a risk mitigation parameter for the merchant to configure how they want to fulfill orders depending on the number of block confirmations for the transaction made by the consumer on the selected cryptocurrency.\n`\"HighSpeed\"`: 0 confirmations (1 confirmation if RBF enabled in transaction) \n`\"MediumSpeed\"`: 1 confirmation \n`\"LowMediumSpeed\"`: 2 confirmations \n`\"LowSpeed\"`: 6 confirmations\n", "x-enumNames": [ "HighSpeed", "LowMediumSpeed", @@ -13261,16 +13276,22 @@ "type": "object", "properties": { "onchain": { - "type": "object", "description": "On-chain balance of the Lightning node", "nullable": true, - "$ref": "#/components/schemas/OnchainBalanceData" + "allOf": [ + { + "$ref": "#/components/schemas/OnchainBalanceData" + } + ] }, "offchain": { - "type": "object", "description": "Off-chain balance of the Lightning node", "nullable": true, - "$ref": "#/components/schemas/OffchainBalanceData" + "allOf": [ + { + "$ref": "#/components/schemas/OffchainBalanceData" + } + ] } } }, @@ -14772,7 +14793,6 @@ }, "TransactionStatus": { "type": "string", - "description": "", "x-enumNames": [ "Confirmed", "Unconfirmed" @@ -14839,8 +14859,12 @@ ] }, "status": { - "$ref": "#/components/schemas/TransactionStatus", - "description": "The status for this transaction" + "allOf": [ + { + "$ref": "#/components/schemas/TransactionStatus" + } + ], + "description": "The status of this transaction" }, "labels": { "description": "Labels linked to this transaction", @@ -15262,8 +15286,12 @@ }, "receipt": { "nullable": true, - "$ref": "#/components/schemas/ReceiptOptions", - "description": "Additional settings to customize the public receipt" + "description": "Additional settings to customize the public receipt", + "allOf": [ + { + "$ref": "#/components/schemas/ReceiptOptions" + } + ] }, "lightningAmountInSatoshi": { "type": "boolean", @@ -15323,6 +15351,31 @@ "default": false, "description": "If true, payjoin will be proposed in the checkout page if possible. ([More information](https://docs.btcpayserver.org/Payjoin/))" }, + "autoDetectLanguage": { + "type": "boolean", + "default": false, + "description": "If true, the language on the checkout page will adapt to the language defined by the user's browser settings" + }, + "showPayInWalletButton": { + "type": "boolean", + "default": true, + "description": "If true, the \"Pay in wallet\" button will be shown on the checkout page (Checkout V2)" + }, + "showStoreHeader": { + "type": "boolean", + "default": true, + "description": "If true, the store header will be shown on the checkout page (Checkout V2)" + }, + "celebratePayment": { + "type": "boolean", + "default": true, + "description": "If true, payments on the checkout page will be celebrated with confetti (Checkout V2)" + }, + "playSoundOnPayment": { + "type": "boolean", + "default": false, + "description": "If true, sounds on the checkout page will be enabled (Checkout V2)" + }, "lazyPaymentMethods": { "type": "boolean", "default": false, @@ -15716,7 +15769,11 @@ }, "payment": { "description": "Details about the payment", - "$ref": "#/components/schemas/Payment" + "allOf": [ + { + "$ref": "#/components/schemas/Payment" + } + ] } } } diff --git a/AdvancedForms/index.html b/AdvancedForms/index.html index f8ba0e28d2..24868e03ae 100644 --- a/AdvancedForms/index.html +++ b/AdvancedForms/index.html @@ -9,7 +9,7 @@ - + @@ -151,6 +151,6 @@ →

- + diff --git a/Apps/index.html b/Apps/index.html index a8fa319810..3baa869afb 100644 --- a/Apps/index.html +++ b/Apps/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

- + diff --git a/BTCPayServer/LocalDevSetup/index.html b/BTCPayServer/LocalDevSetup/index.html index e903cb58b9..ef976996fc 100644 --- a/BTCPayServer/LocalDevSetup/index.html +++ b/BTCPayServer/LocalDevSetup/index.html @@ -9,7 +9,7 @@ - + @@ -72,6 +72,6 @@ type=lnd-rest;server=https://127.0.0.1:8084/;macaroonfilepath="local path to admin.macaroon on your computer, without these quotes";allowinsecure=true

Now you can create a lightning invoice on BTCPay Server regtest and make a payment through Polar.

PLEASE NOTE: You may get an exception break in Visual Studio. You must quickly click "Continue" in VS so the invoice is generated. Or, uncheck the box that says, "Break when this exception type is thrown".

# FAQ

# docker-compose up dev failed or tests are not passing, what should I do?

  1. Run docker-compose down --volumes (this will reset your test environment)
  2. Run docker-compose pull (this will ensure you have the latest images)
  3. Run again with docker-compose up dev

# How to run the Altcoin environment?

docker-compose -f docker-compose.altcoins.yml up dev

If you still have issues, try to restart docker.

# How to run the Selenium test with a browser?

Run dotnet user-secrets set RunSeleniumInBrowser true to run tests in browser.

To switch back to headless mode (recommended) you can run dotnet user-secrets remove RunSeleniumInBrowser.

# Session not created: This version of ChromeDriver only supports Chrome version 88

When you run tests for selenium, you may end up with this error. This happen when we update the selenium packages on BTCPay Server while you did not update your chrome version.

If you want to use a older chrome driver on this page (opens new window) then point to it with

dotnet user-secrets set ChromeDriverDirectory "path/to/the/driver/directory"

- + diff --git a/BTCPayServer/Security/index.html b/BTCPayServer/Security/index.html index 67609d38db..663e546e47 100644 --- a/BTCPayServer/Security/index.html +++ b/BTCPayServer/Security/index.html @@ -9,7 +9,7 @@ - + @@ -89,6 +89,6 @@ →

- + diff --git a/BTCPayServer/db-migration/index.html b/BTCPayServer/db-migration/index.html index a64b34c97b..e1139c37cb 100644 --- a/BTCPayServer/db-migration/index.html +++ b/BTCPayServer/db-migration/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

# Migration from SQLite and MySQL to Postgres

# Introduction

This document is intended for BTCPay Server integrators such as Raspiblitz, Umbrel, Embassy OS or anybody running BTCPay Server on SQLite or MySql.

If you are a user of an integrated solution, please contact the integrator directly and provide them with the link to this document.

BTCPay Server has for long time supported three different backends:

  1. Postgres
  2. SQLite
  3. MySql

While most of our users are using the Postgres backend, maintaining supports for all those databases has been very challenging, and Postgres is the only one part of our test suite.

As a result, we regret to inform you that we decided to stop the support of MySql and SQLite.

We understand that dropping support might be painful for users and integrators of our product, and we will do our best to provide a migration path.

Please keep us informed if you experience any issues while migrating on our community chat (opens new window).

# Procedure

In order to successfully migrate, you will need to run BTCPay Server 1.7.8 or newer.

As a reminder there are three settings controlling the choice of backend of BTCPay Server which can be controller by command line, environment variable or configuration settings.

Command line argument Environment variable
--postgres BTCPAY_POSTGRES="..."
--mysql BTCPAY_MYSQL="..."
--sqlitefile BTCPAY_SQLITEFILE="blah.db"

If you are currently using mysql or sqlitefile, and you wish to migrate to postgres, you simply need to add the command line argument --postgres or the environment variable BTCPAY_POSTGRES pointing to a fresh postgres database.

It is strongly advised not to create a database in Postgres before performing the migration with BTCPay Server. This is because BTCPay Server will automatically create the necessary database for you. However, if you must create the database manually, please ensure that the C_TYPE and COLLATE settings are both set to C.

Careful: Do not remove the former mysql or sqlitefile setting, you should have both: the postgres setting and the former sqlite/mysql setting

From 1.7.8, BTCPay Server will interprete this and attempt to copy the data from mysql and sqlite into the new postgres database.

Note that once the migration is complete, the old mysql and sqlite settings will simply be ignored.

If the migration fails, you can revert the postgres setting you added, so the next restart will run on the old unsupported database. You can retry a migration by adding the postgres setting again.

# Known issues

- + diff --git a/BTCPayServer/greenfield-authorization/index.html b/BTCPayServer/greenfield-authorization/index.html index ccf9daa1be..423d7289a8 100644 --- a/BTCPayServer/greenfield-authorization/index.html +++ b/BTCPayServer/greenfield-authorization/index.html @@ -9,7 +9,7 @@ - + @@ -68,6 +68,6 @@ →

- + diff --git a/BTCPayServer/greenfield-development/index.html b/BTCPayServer/greenfield-development/index.html index a63a3139b5..3dbf61474b 100644 --- a/BTCPayServer/greenfield-development/index.html +++ b/BTCPayServer/greenfield-development/index.html @@ -9,7 +9,7 @@ - + @@ -78,6 +78,6 @@ →

- + diff --git a/BTCPayVsOthers/index.html b/BTCPayVsOthers/index.html index 6f516d1a3c..599480129b 100644 --- a/BTCPayVsOthers/index.html +++ b/BTCPayVsOthers/index.html @@ -9,7 +9,7 @@ - + @@ -69,6 +69,6 @@ →

- + diff --git a/ColdCardWallet/index.html b/ColdCardWallet/index.html index ccf09e5bc9..fbfd49729b 100644 --- a/ColdCardWallet/index.html +++ b/ColdCardWallet/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

# Connecting Coldcard Wallet to BTCPay Server

This document shows how to use a Coldcard Wallet with your BTCPay Server.

# Coldcard Wallet Setup

This guide assumes, you have a Coldcard wallet set up. To configure the Coldcard, please see the quick setup guide on manufacturer's website (opens new window).

# Quick Setup

  1. Insert the MicroSD card into the Coldcard wallet.
  2. Go to Advanced > MicroSD Card > Electrum Wallet > Native-Segwit
  3. Insert the MicroSD card back into your PC
  4. In BTCPay Server, Stores > Settings > Setup > Connect an existing wallet > Import wallet file
  5. Choose File > select the wallet file earlier exported from Coldcard.
  6. Click Continue
  7. Confirm the addresses match the ones shown in your BTCPay Server.

The Coldcard is now connected to your BTCPay Server. Payments go directly to Coldcard. The video below shows how to connect your BTCPay store to your Coldcard.

# Spending from BTCPay Server wallet with Coldcard (PSBT)

Once there are some funds in received to your BTCPay Wallet connected to Coldcard, you can spend them by using PSBT (opens new window) (Partially Signed Bitcoin Transactions). This allows completely offline signing of your transactions, without ever having to connect your hardware wallet to the internet.

  1. Wallets > Manage > Send
  2. Fill in destination address and the amount
  3. Click on the Sign with a wallet supporting PSBT button.
  4. You will be redirected to PSBT tab, with pre-filled information, click on the Sign with a wallet supporting PSBT (save as file)
  5. Save the file onto MicroSD card
  6. Insert MicroSD into your Coldcard.
  7. In Coldcard, click on the Ready To Sign
  8. Review the transaction information, and click OK button to sign it.
  9. Transaction will be saved onto MicroSD.
  10. In BTCPay, go to PSBT tab of the wallet and upload the signed PSBT file.
  11. Click Decode
  12. Click Other Actions and select Review
  13. Review your transactions and click Broadcast to broadcast it on the network.

The video below shows how to connect your BTCPay store to your Coldcard.

- + diff --git a/Community/index.html b/Community/index.html index 8aa66df0f9..c7d5c0c6f8 100644 --- a/Community/index.html +++ b/Community/index.html @@ -9,7 +9,7 @@ - + @@ -62,6 +62,6 @@

- + diff --git a/Configurator/index.html b/Configurator/index.html index df4ac9835b..52242c0822 100644 --- a/Configurator/index.html +++ b/Configurator/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

- + diff --git a/Contribute/Design/index.html b/Contribute/Design/index.html index 3a2f1d33e8..e5bb24e545 100644 --- a/Contribute/Design/index.html +++ b/Contribute/Design/index.html @@ -9,7 +9,7 @@ - + @@ -67,6 +67,6 @@ →

- + diff --git a/Contribute/Dev/index.html b/Contribute/Dev/index.html index 74af9abdc9..0d9fde24f7 100644 --- a/Contribute/Dev/index.html +++ b/Contribute/Dev/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

# Coding BTCPay Server

# Why coding matters

By helping the project grow, become more mature, advanced and elaborate, coders working on BTCPay Server are a central component of the project.

If you have coding skills, be it writing or reviewing code, you can contribute to BTCPay Server.

# Where to start

If you're a developer looking to help, but you're not sure where to begin, check the good first issue label (opens new window), which contains small pieces of work that have been specifically flagged as being friendly to new contributors.

Contributors looking to do something a bit more challenging, before opening a pull request, please create an issue (opens new window) or join our community chat (opens new window) to get early feedback, discuss best ways to tackle the problem and to ensure there is no work duplication.

We are actively looking for developers who can take on and resolve GitHub issues and help with development. If you would like to help us, but need some guidance, the #dev channel on Mattermost (opens new window) is the place to ask questions.

# Setup Developer Environment

If you are interested in getting started as a developer or tester of the software behind BTCPay Server, check out the Setup Developer Environment guide that will walk you step by step through every software used in development with BTCPay such as Git, GitBash, Github, Docker, Visual Studio, Postgres, etc. If you have never coded before and you are looking to learn something new, start here.

# Local BTCPay Development

If you already have a developer environment setup you can start with the BTCPay specific Local Development documentation.

# Local BTCPay Testing

Once you have your development environment tools setup and your local BTCPay Server running, view the Local Testing guide. This shows you how to use BTCPay in regtest mode for use in development and for users who want to test new features before they are released.

# Requirements

Software requirements (ie. IDE) can also be found in local development.

# Videos

BTCPay Server development videos can be found here or on the BTCPayServer YouTube (opens new window) channel.

- + diff --git a/Contribute/DevCode/index.html b/Contribute/DevCode/index.html index 17c827ec00..9ff3e50a42 100644 --- a/Contribute/DevCode/index.html +++ b/Contribute/DevCode/index.html @@ -9,7 +9,7 @@ - + @@ -99,6 +99,6 @@ →

- + diff --git a/Contribute/DevTest/index.html b/Contribute/DevTest/index.html index f7a0ee35f2..a4b7cf9102 100644 --- a/Contribute/DevTest/index.html +++ b/Contribute/DevTest/index.html @@ -9,7 +9,7 @@ - + @@ -73,6 +73,6 @@ →

- + diff --git a/Contribute/Misc/index.html b/Contribute/Misc/index.html index bae5c500a4..c0c5171ca0 100644 --- a/Contribute/Misc/index.html +++ b/Contribute/Misc/index.html @@ -9,7 +9,7 @@ - + @@ -64,6 +64,6 @@

- + diff --git a/Contribute/Translate/index.html b/Contribute/Translate/index.html index 4661db71b0..f94ea6872a 100644 --- a/Contribute/Translate/index.html +++ b/Contribute/Translate/index.html @@ -9,7 +9,7 @@ - + @@ -77,6 +77,6 @@ →

- + diff --git a/Contribute/Write/index.html b/Contribute/Write/index.html index c55068dcc4..dfd93f590e 100644 --- a/Contribute/Write/index.html +++ b/Contribute/Write/index.html @@ -9,7 +9,7 @@ - + @@ -59,6 +59,6 @@ GitHub (opens new window)

# Documenting BTCPay Server

# Why documentation matters

Documentation is essential to give users of all skill levels concise and clear information about the software and how to use it. BTCPay server has many different use cases and as a result many different kinds of users seeking information from the documentation. Writers contributing to BTCPay Server are as important as any other contributor.

If you have technical knowledge in a certain area, want to help document new features or simply get involved in the BTCPay Server project, documentation is a great place to get started with contributing.

If you have writing skills or if you have a fair knowledge of the English language, then you can contribute to BTCPay Server or review the work of other contributors. Writing contributors can help in a number of places.

# BTCPay Documentation

Documentation work needing to be completed can be found in the open issues page (opens new window) on Github. For information on how to start a documentation task, see the documentation guide.

For documentation guidance or discussion of a new documentation idea, join the #documentation channel on Mattermost (opens new window).

# BTCPay Blog

Another great way to contribute is by writing content for the BTCPay blog. To get started on a blog topic, join the #content creation channel on Mattermost (opens new window).

# Requirements

In order to contribute to BTCPay Server as a writer there are some requirements.

Since most of the documentation done in BTCPay Server is submitted and reviewed through Github, you must have a Github account (opens new window). It's also on Github that you can contribute by reviewing the documentation work done by others (pull requests).

Important note: Contributions explained in this documentation are meant to be done in English only. If you wish to contribute in other languages, see Translations.

# Text Editor

It is recommended to have a Rich-Text editor.

Notepad++ (opens new window) is a decent software and easy to use for the newer contributors.

For more advanced users, Visual Studio Code (VS Code) (opens new window) is a good choice. The Markdown All In One extension in VS Code is also recommended, for visual comfort while editing and the ability to preview Markdown changes. This is helpful for the BTCPay documentation which is written primarily in Markdown.

These are only recommended: If you already use other similar software that you're accustomed to, you are free to continue using them.

# Version Control

To be able to manage your contributions (such as forking repositories, creating and working on branches, making pull requests and issues, etc.) it's recommended you have Github Desktop (opens new window). You can see the step by step guide to making a pull request using Github Desktop here.

- + diff --git a/Contribute/WriteBlog/index.html b/Contribute/WriteBlog/index.html index 26adf0b318..fd72baa5b5 100644 --- a/Contribute/WriteBlog/index.html +++ b/Contribute/WriteBlog/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

- + diff --git a/Contribute/WriteDocs/index.html b/Contribute/WriteDocs/index.html index 18e102b3fb..2a2dff4579 100644 --- a/Contribute/WriteDocs/index.html +++ b/Contribute/WriteDocs/index.html @@ -9,7 +9,7 @@ - + @@ -68,6 +68,6 @@ →

- + diff --git a/Contribute/WriteSoftware/index.html b/Contribute/WriteSoftware/index.html index 783bd08b29..7784b405a3 100644 --- a/Contribute/WriteSoftware/index.html +++ b/Contribute/WriteSoftware/index.html @@ -9,7 +9,7 @@ - + @@ -70,6 +70,6 @@ →

- + diff --git a/Contribute/index.html b/Contribute/index.html index bdd2a2df8a..a3c6dc4438 100644 --- a/Contribute/index.html +++ b/Contribute/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

# How to contribute to BTCPay Server?

BTCPay Server is built and maintained entirely by volunteer contributors around the internet.

We welcome, appreciate and encourage new contributions.

Depending on your skills and interest, you can help in a number of ways:

Every contribution is important and if you have any questions, feel free to consult our growing community.

- + diff --git a/CreateStore/index.html b/CreateStore/index.html index e0d289101a..2d9260a98c 100644 --- a/CreateStore/index.html +++ b/CreateStore/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

- + diff --git a/CreateWallet/index.html b/CreateWallet/index.html index cfcfc1470c..5300d15f95 100644 --- a/CreateWallet/index.html +++ b/CreateWallet/index.html @@ -9,7 +9,7 @@ - + @@ -67,6 +67,6 @@ →

- + diff --git a/CustomIntegration/index.html b/CustomIntegration/index.html index 41ba71b272..ededb82797 100644 --- a/CustomIntegration/index.html +++ b/CustomIntegration/index.html @@ -9,7 +9,7 @@ - + @@ -92,6 +92,6 @@ →

- + diff --git a/Dashboard/index.html b/Dashboard/index.html index 976a76d697..7d115be169 100644 --- a/Dashboard/index.html +++ b/Dashboard/index.html @@ -9,7 +9,7 @@ - + @@ -69,6 +69,6 @@ →

- + diff --git a/Deployment/Azure/index.html b/Deployment/Azure/index.html index a4f6a8aa11..85a050ba89 100644 --- a/Deployment/Azure/index.html +++ b/Deployment/Azure/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

# Azure Deployment

This setup is similar to the Docker Deployment, except that the docker-compose is hosted by Microsoft Azure.

# One-click setup

Start by clicking the following button:

Deploy to Azure (opens new window)

You can log into Azure (opens new window) with your Microsoft account.

Final installation steps:

Fill in the remaining options: Azure Resource Config

For advanced users, you can connect via SSH with the information on https://EXAMPLE.MYSITE.com/server/services/ssh, and:

Approximate Cost (unpruned, Bitcoin-only, after Azure $200 free trial): 60 USD per month

After all your nodes have synced and you've confirmed everything works, follow this guide to fine-tune for savings; costs should drop to 30 or 40 USD per month.

Learn more: btcpayserver/btcpayserver-azure (opens new window)

- + diff --git a/Deployment/AzurePennyPinching/index.html b/Deployment/AzurePennyPinching/index.html index b4cf3a9515..dff28a3dfc 100644 --- a/Deployment/AzurePennyPinching/index.html +++ b/Deployment/AzurePennyPinching/index.html @@ -9,7 +9,7 @@ - + @@ -92,6 +92,6 @@ →

- + diff --git a/Deployment/Clovyr/index.html b/Deployment/Clovyr/index.html index 33fcff6b74..baf5fe556c 100644 --- a/Deployment/Clovyr/index.html +++ b/Deployment/Clovyr/index.html @@ -9,7 +9,7 @@ - + @@ -71,6 +71,6 @@ →

- + diff --git a/Deployment/DreamlabNetwork/index.html b/Deployment/DreamlabNetwork/index.html index 436c611e75..286d0d058a 100644 --- a/Deployment/DreamlabNetwork/index.html +++ b/Deployment/DreamlabNetwork/index.html @@ -9,7 +9,7 @@ - + @@ -86,6 +86,6 @@ →

- + diff --git a/Deployment/DynamicDNS/index.html b/Deployment/DynamicDNS/index.html index df5575fbd5..8a4abc3355 100644 --- a/Deployment/DynamicDNS/index.html +++ b/Deployment/DynamicDNS/index.html @@ -9,7 +9,7 @@ - + @@ -71,6 +71,6 @@ →

- + diff --git a/Deployment/GoogleCloud/index.html b/Deployment/GoogleCloud/index.html index 4a93954edb..88ef613921 100644 --- a/Deployment/GoogleCloud/index.html +++ b/Deployment/GoogleCloud/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

- + diff --git a/Deployment/Hack0/index.html b/Deployment/Hack0/index.html index bedc473c69..6da7b1fc6e 100644 --- a/Deployment/Hack0/index.html +++ b/Deployment/Hack0/index.html @@ -9,7 +9,7 @@ - + @@ -71,6 +71,6 @@ →

- + diff --git a/Deployment/Hardware/index.html b/Deployment/Hardware/index.html index f34697e4c0..84b43ce991 100644 --- a/Deployment/Hardware/index.html +++ b/Deployment/Hardware/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

# Hardware Deployment

Hardware deployment is advised when you want to be in total control of your own infrastructure.

Those are very useful for personal use or for people who wants absolute control over their infrastructure.

The main downside of hardware deployment is that it requires some hardware investment, and higher learning curve. The availability of your server will also probably lower than using a VPS such as LunaNode, as you are more likely to suffer from internet down time or hardware failure.

If you are still not sure whether you need hardware deployment, please see our diagram.

While all hardware deployments are similar to one another, we document step by step the process on three different hardware settings.

You can easily adapt those documentation on the custom hardware you prefer, we support arm32, arm64 and amd64.

Note that those solutions are all based on our docker deployment system.

- + diff --git a/Deployment/HardwareAsAService/index.html b/Deployment/HardwareAsAService/index.html index 10ba019c4f..94b94be4dc 100644 --- a/Deployment/HardwareAsAService/index.html +++ b/Deployment/HardwareAsAService/index.html @@ -9,7 +9,7 @@ - + @@ -70,6 +70,6 @@ →

- + diff --git a/Deployment/LightningInABox/index.html b/Deployment/LightningInABox/index.html index 00dfb7da2e..4bbd9a25a9 100644 --- a/Deployment/LightningInABox/index.html +++ b/Deployment/LightningInABox/index.html @@ -9,7 +9,7 @@ - + @@ -87,6 +87,6 @@ →

- + diff --git a/Deployment/LunaNode/index.html b/Deployment/LunaNode/index.html index 5819ee256d..9cf824e535 100644 --- a/Deployment/LunaNode/index.html +++ b/Deployment/LunaNode/index.html @@ -9,7 +9,7 @@ - + @@ -74,6 +74,6 @@ →

- + diff --git a/Deployment/ManualDeployment/index.html b/Deployment/ManualDeployment/index.html index 7535840b01..160ee73c94 100644 --- a/Deployment/ManualDeployment/index.html +++ b/Deployment/ManualDeployment/index.html @@ -9,7 +9,7 @@ - + @@ -112,6 +112,6 @@ →

- + diff --git a/Deployment/ManualDeploymentExtended/index.html b/Deployment/ManualDeploymentExtended/index.html index 81a87850f9..a0e456c0c2 100644 --- a/Deployment/ManualDeploymentExtended/index.html +++ b/Deployment/ManualDeploymentExtended/index.html @@ -9,7 +9,7 @@ - + @@ -732,6 +732,6 @@

- + diff --git a/Deployment/RaspberryPi4/index.html b/Deployment/RaspberryPi4/index.html index f5509cfcc4..7c81cc7d1d 100644 --- a/Deployment/RaspberryPi4/index.html +++ b/Deployment/RaspberryPi4/index.html @@ -9,7 +9,7 @@ - + @@ -166,6 +166,6 @@ →

- + diff --git a/Deployment/ReverseProxyToTor/index.html b/Deployment/ReverseProxyToTor/index.html index ee75db4694..9e35a8e2c8 100644 --- a/Deployment/ReverseProxyToTor/index.html +++ b/Deployment/ReverseProxyToTor/index.html @@ -9,7 +9,7 @@ - + @@ -265,6 +265,6 @@ →

- + diff --git a/Deployment/ReverseSSHtunnel/index.html b/Deployment/ReverseSSHtunnel/index.html index 938fc95c30..4bc6f5f445 100644 --- a/Deployment/ReverseSSHtunnel/index.html +++ b/Deployment/ReverseSSHtunnel/index.html @@ -9,7 +9,7 @@ - + @@ -109,6 +109,6 @@ →

- + diff --git a/Deployment/ThirdPartyHosting/index.html b/Deployment/ThirdPartyHosting/index.html index f87594721d..59e8fbe51f 100644 --- a/Deployment/ThirdPartyHosting/index.html +++ b/Deployment/ThirdPartyHosting/index.html @@ -9,7 +9,7 @@ - + @@ -68,6 +68,6 @@ →

- + diff --git a/Deployment/index.html b/Deployment/index.html index 9903027d11..5e0bd9ec46 100644 --- a/Deployment/index.html +++ b/Deployment/index.html @@ -9,7 +9,7 @@ - + @@ -62,6 +62,6 @@ →

- + diff --git a/Deployment/voltagecloud/index.html b/Deployment/voltagecloud/index.html index 68f0102599..0e6a257b6c 100644 --- a/Deployment/voltagecloud/index.html +++ b/Deployment/voltagecloud/index.html @@ -9,7 +9,7 @@ - + @@ -90,6 +90,6 @@ →

- + diff --git a/Deployment/webdeployment/index.html b/Deployment/webdeployment/index.html index 0563f76d8c..26f45052d7 100644 --- a/Deployment/webdeployment/index.html +++ b/Deployment/webdeployment/index.html @@ -9,7 +9,7 @@ - + @@ -74,6 +74,6 @@ Found a deployment that is missing, and do you want it added or notified us? Join the community chat (opens new window) on Mattermost by downloading Mattermost app (opens new window), or on Telegram (opens new window) and tell us about it. You can also create an issue in the BTCPay server Documents on Github (opens new window).

- + diff --git a/Development/Altcoins/index.html b/Development/Altcoins/index.html index b822eb1300..99e8a97d22 100644 --- a/Development/Altcoins/index.html +++ b/Development/Altcoins/index.html @@ -9,7 +9,7 @@ - + @@ -70,6 +70,6 @@ →

- + diff --git a/Development/GreenFieldExample-NodeJS/index.html b/Development/GreenFieldExample-NodeJS/index.html index 120ace8c42..aeb9a8e4a7 100644 --- a/Development/GreenFieldExample-NodeJS/index.html +++ b/Development/GreenFieldExample-NodeJS/index.html @@ -9,7 +9,7 @@ - + @@ -173,6 +173,6 @@ →

- + diff --git a/Development/GreenFieldExample/index.html b/Development/GreenFieldExample/index.html index ba77c887a2..35215898ce 100644 --- a/Development/GreenFieldExample/index.html +++ b/Development/GreenFieldExample/index.html @@ -9,7 +9,7 @@ - + @@ -112,6 +112,6 @@ →

- + diff --git a/Development/GreenfieldExample-PHP/index.html b/Development/GreenfieldExample-PHP/index.html index 11d956003b..83137d0bf8 100644 --- a/Development/GreenfieldExample-PHP/index.html +++ b/Development/GreenfieldExample-PHP/index.html @@ -9,7 +9,7 @@ - + @@ -158,6 +158,6 @@ →

- + diff --git a/Development/InvoiceMetadata/index.html b/Development/InvoiceMetadata/index.html index 277f4f9fb7..7c3524bc56 100644 --- a/Development/InvoiceMetadata/index.html +++ b/Development/InvoiceMetadata/index.html @@ -9,7 +9,7 @@ - + @@ -132,6 +132,6 @@ →

- + diff --git a/Development/LocalDev/index.html b/Development/LocalDev/index.html index 4521788244..1ac343fb88 100644 --- a/Development/LocalDev/index.html +++ b/Development/LocalDev/index.html @@ -9,7 +9,7 @@ - + @@ -77,6 +77,6 @@ dotnet test -c Altcoins-Debug

# HTTPS support for local development

Some browser security features may require that you use HTTPS to be properly tested.

In this case, use Bitcoin-HTTPS (or Altcoin-HTTPS) launch profile. This will create a self signed certificate for your development purpose.

However, your browser will not trust it, making it difficult to debug.

You can instruct your OS to trust this development time certificate by running:

dotnet dev-certs https --trust
 

# Videos

For more information check out these videos:

and these notes:

- + diff --git a/Development/LocalDevelopment/index.html b/Development/LocalDevelopment/index.html index 93402c5173..7e3aa6a014 100644 --- a/Development/LocalDevelopment/index.html +++ b/Development/LocalDevelopment/index.html @@ -9,7 +9,7 @@ - + @@ -98,6 +98,6 @@ →

- + diff --git a/Development/Plugins/index.html b/Development/Plugins/index.html index 048f4e7bbc..9188455649 100644 --- a/Development/Plugins/index.html +++ b/Development/Plugins/index.html @@ -9,7 +9,7 @@ - + @@ -236,6 +236,6 @@ →

- + diff --git a/Development/TestnetDemo/index.html b/Development/TestnetDemo/index.html index aacb2476d3..435b6c3c25 100644 --- a/Development/TestnetDemo/index.html +++ b/Development/TestnetDemo/index.html @@ -9,7 +9,7 @@ - + @@ -63,6 +63,6 @@

- + diff --git a/Development/Theme/index.html b/Development/Theme/index.html index ffccdfb5cb..286691d58c 100644 --- a/Development/Theme/index.html +++ b/Development/Theme/index.html @@ -9,7 +9,7 @@ - + @@ -2436,6 +2436,6 @@ →

- + diff --git a/Development/index.html b/Development/index.html index 08766ebfa6..bbcb5b4bd3 100644 --- a/Development/index.html +++ b/Development/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

- + diff --git a/Docker/backup-restore/index.html b/Docker/backup-restore/index.html index f61c33db9d..a0cd56140b 100644 --- a/Docker/backup-restore/index.html +++ b/Docker/backup-restore/index.html @@ -9,7 +9,7 @@ - + @@ -123,6 +123,6 @@ →

- + diff --git a/Docker/chatwoot/index.html b/Docker/chatwoot/index.html index 4afd2efeae..73247e7422 100644 --- a/Docker/chatwoot/index.html +++ b/Docker/chatwoot/index.html @@ -9,7 +9,7 @@ - + @@ -69,6 +69,6 @@
  1. Wait for BTPay to be online and then create the database for chatwoot
docker exec -ti chatwoot sh -c "export DISABLE_DATABASE_ENVIRONMENT_CHECK=1 && bundle exec rails db:reset"
 
  1. Go to chatwoot website at https://chatwoot.xpayserver.com and set up.
- + diff --git a/Docker/cloudflare-tunnel/index.html b/Docker/cloudflare-tunnel/index.html index 77e02b9330..ca88abd280 100644 --- a/Docker/cloudflare-tunnel/index.html +++ b/Docker/cloudflare-tunnel/index.html @@ -9,7 +9,7 @@ - + @@ -77,6 +77,6 @@ →

- + diff --git a/Docker/fastsync/index.html b/Docker/fastsync/index.html index 1587f2ef3e..7d557758da 100644 --- a/Docker/fastsync/index.html +++ b/Docker/fastsync/index.html @@ -9,7 +9,7 @@ - + @@ -86,6 +86,6 @@ →

- + diff --git a/Docker/fireflyiii/index.html b/Docker/fireflyiii/index.html index 0acbc81d05..36b1f244fe 100644 --- a/Docker/fireflyiii/index.html +++ b/Docker/fireflyiii/index.html @@ -9,7 +9,7 @@ - + @@ -71,6 +71,6 @@ →

- + diff --git a/Docker/index.html b/Docker/index.html index fbc4f39d6e..990c85b850 100644 --- a/Docker/index.html +++ b/Docker/index.html @@ -9,7 +9,7 @@ - + @@ -218,6 +218,6 @@ →

- + diff --git a/Docker/joinmarket/index.html b/Docker/joinmarket/index.html index ec377d9c11..e11a5b08d1 100644 --- a/Docker/joinmarket/index.html +++ b/Docker/joinmarket/index.html @@ -9,7 +9,7 @@ - + @@ -108,6 +108,6 @@ →

- + diff --git a/Docker/lightning-terminal/index.html b/Docker/lightning-terminal/index.html index 53b31fdbcf..06c2419953 100644 --- a/Docker/lightning-terminal/index.html +++ b/Docker/lightning-terminal/index.html @@ -9,7 +9,7 @@ - + @@ -75,6 +75,6 @@ →

- + diff --git a/Docker/ndlc/index.html b/Docker/ndlc/index.html index 9e08622b07..404e7b4869 100644 --- a/Docker/ndlc/index.html +++ b/Docker/ndlc/index.html @@ -9,7 +9,7 @@ - + @@ -71,6 +71,6 @@ →

- + diff --git a/Docker/pihole/index.html b/Docker/pihole/index.html index dc73658a5e..cd322e1082 100644 --- a/Docker/pihole/index.html +++ b/Docker/pihole/index.html @@ -9,7 +9,7 @@ - + @@ -76,6 +76,6 @@ →

- + diff --git a/Docker/tallycoin-connect/index.html b/Docker/tallycoin-connect/index.html index 3f5fb5ffef..2b804df451 100644 --- a/Docker/tallycoin-connect/index.html +++ b/Docker/tallycoin-connect/index.html @@ -9,7 +9,7 @@ - + @@ -76,6 +76,6 @@ →

- + diff --git a/Drupal/index.html b/Drupal/index.html index 65456780c0..cd906bfbc8 100644 --- a/Drupal/index.html +++ b/Drupal/index.html @@ -9,7 +9,7 @@ - + @@ -69,6 +69,6 @@ →

- + diff --git a/ElectrumPersonalServer/index.html b/ElectrumPersonalServer/index.html index 77668b3ee6..75e0a7b6b4 100644 --- a/ElectrumPersonalServer/index.html +++ b/ElectrumPersonalServer/index.html @@ -9,7 +9,7 @@ - + @@ -73,6 +73,6 @@ →

- + diff --git a/ElectrumWallet/index.html b/ElectrumWallet/index.html index be7b3da84f..4256781117 100644 --- a/ElectrumWallet/index.html +++ b/ElectrumWallet/index.html @@ -9,7 +9,7 @@ - + @@ -61,6 +61,6 @@

If you are running a version older than Electrum 4, also enter the following command and press 'enter'

wallet.storage.write()
 
ElectrumWallet

Restart your Electrum and verify that the newly set gap limit is correct by entering in the console:

wallet.gap_limit
 

There's no good answer to how much you should set the gap limit to. Most merchants set 100-200. If you're a big merchants with high transaction volume, you can try with even higher gap limit.

For more details about the Gap Limit, check the FAQ.

Electrum and BTCPay Server are now connected. Any payments received to your BTCPay will be visible in Electrum, where you can further spend them.

- + diff --git a/ElectrumX/index.html b/ElectrumX/index.html index 9fac923ade..36fc2244d5 100644 --- a/ElectrumX/index.html +++ b/ElectrumX/index.html @@ -9,7 +9,7 @@ - + @@ -75,6 +75,6 @@ →

- + diff --git a/FAQ/Altcoin/index.html b/FAQ/Altcoin/index.html index b845bfc14c..cfa6dc709d 100644 --- a/FAQ/Altcoin/index.html +++ b/FAQ/Altcoin/index.html @@ -9,7 +9,7 @@ - + @@ -71,6 +71,6 @@

- + diff --git a/FAQ/Apps/index.html b/FAQ/Apps/index.html index 6da1d73745..7db1b0bf2b 100644 --- a/FAQ/Apps/index.html +++ b/FAQ/Apps/index.html @@ -9,7 +9,7 @@ - + @@ -180,6 +180,6 @@ →

- + diff --git a/FAQ/Deployment/index.html b/FAQ/Deployment/index.html index 741b72b034..ca50743f81 100644 --- a/FAQ/Deployment/index.html +++ b/FAQ/Deployment/index.html @@ -9,7 +9,7 @@ - + @@ -286,6 +286,6 @@ →

- + diff --git a/FAQ/General/index.html b/FAQ/General/index.html index 7b90728b7d..acfcb1652f 100644 --- a/FAQ/General/index.html +++ b/FAQ/General/index.html @@ -9,7 +9,7 @@ - + @@ -80,6 +80,6 @@ →

- + diff --git a/FAQ/Integrations/index.html b/FAQ/Integrations/index.html index 415cf789e2..8f0e71f00b 100644 --- a/FAQ/Integrations/index.html +++ b/FAQ/Integrations/index.html @@ -9,7 +9,7 @@ - + @@ -116,6 +116,6 @@ →

- + diff --git a/FAQ/LightningNetwork/index.html b/FAQ/LightningNetwork/index.html index b2a0bc70aa..f2b43e653b 100644 --- a/FAQ/LightningNetwork/index.html +++ b/FAQ/LightningNetwork/index.html @@ -9,7 +9,7 @@ - + @@ -189,6 +189,6 @@ →

- + diff --git a/FAQ/ServerSettings/index.html b/FAQ/ServerSettings/index.html index a37fc595a0..c7fd55fdc0 100644 --- a/FAQ/ServerSettings/index.html +++ b/FAQ/ServerSettings/index.html @@ -9,7 +9,7 @@ - + @@ -122,6 +122,6 @@ →

- + diff --git a/FAQ/Stores/index.html b/FAQ/Stores/index.html index 9e5ed95bcb..38567c618a 100644 --- a/FAQ/Stores/index.html +++ b/FAQ/Stores/index.html @@ -9,7 +9,7 @@ - + @@ -77,6 +77,6 @@ →

- + diff --git a/FAQ/Synchronization/index.html b/FAQ/Synchronization/index.html index c92cf3e405..40d30ef2c2 100644 --- a/FAQ/Synchronization/index.html +++ b/FAQ/Synchronization/index.html @@ -9,7 +9,7 @@ - + @@ -132,6 +132,6 @@ →

- + diff --git a/FAQ/Wallet/index.html b/FAQ/Wallet/index.html index 170ac91531..fad96fba86 100644 --- a/FAQ/Wallet/index.html +++ b/FAQ/Wallet/index.html @@ -9,7 +9,7 @@ - + @@ -78,6 +78,6 @@ →

- + diff --git a/FAQ/index.html b/FAQ/index.html index e357a7f1b3..1fbec43857 100644 --- a/FAQ/index.html +++ b/FAQ/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

# Frequently Asked Questions and Common Issues

This document contains a Table of contents to all FAQ and common issues.

# General FAQ

General, non-technical questions about BTCPay. What it is, how it works, what are its features, why is it different and who can use it.

# Deployment FAQ

Questions and solutions to BTCPay installation.

# General Deployment FAQ

# Web Deployment FAQ

# Luna Node Web Deployment FAQ

# Manual Deployment FAQ

# Synchronization FAQ

Common questions and issues that may occur during the initial sync of BTCPay.

# Integrations FAQ

Questions about e-commerce and other integrations.

# Integrations General

# WooCommerce FAQ

# Server Settings FAQ

Common problems and questions server admins have.

# Maintenance FAQ

# Theme / Customization FAQ

# Policies FAQ

# Services FAQ

# Files FAQ

# Stores FAQ

Store settings explained.

# Wallet FAQ

Here are some of the questions and problems about wallets in BTCPay.

# Apps FAQ

Frequent questions about the applications in BTCPay.

# Lightning Network FAQ

Lightning Network troubleshooting and common problems.

# Lightning Network General FAQ

# Lightning Network LND FAQ

# Lightning Network Core Lightning (CLN) FAQ

# Altcoins FAQ

- + diff --git a/Forms/index.html b/Forms/index.html index 324bb94e38..558b1df1dc 100644 --- a/Forms/index.html +++ b/Forms/index.html @@ -9,7 +9,7 @@ - + @@ -89,6 +89,6 @@ IVPN

If you'd like to support the project, please visit the donation page.

- + diff --git a/Guide/index.html b/Guide/index.html index 095011f8b9..dd93227210 100644 --- a/Guide/index.html +++ b/Guide/index.html @@ -9,7 +9,7 @@ - + @@ -85,6 +85,6 @@ →

- + diff --git a/HardwareWalletIntegration/index.html b/HardwareWalletIntegration/index.html index 991a1611f7..3960a49f7d 100644 --- a/HardwareWalletIntegration/index.html +++ b/HardwareWalletIntegration/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

- + diff --git a/Invoices/index.html b/Invoices/index.html index 832aba4ccf..f3baedf6af 100644 --- a/Invoices/index.html +++ b/Invoices/index.html @@ -9,7 +9,7 @@ - + @@ -68,6 +68,6 @@ →

- + diff --git a/LNDhubAPI/index.html b/LNDhubAPI/index.html index f5128c9daa..8a78893e9c 100644 --- a/LNDhubAPI/index.html +++ b/LNDhubAPI/index.html @@ -9,7 +9,7 @@ - + @@ -73,6 +73,6 @@ →

- + diff --git a/LNbank/LNDhub/index.html b/LNbank/LNDhub/index.html index b3ab9ba757..cf9e71c1e2 100644 --- a/LNbank/LNDhub/index.html +++ b/LNbank/LNDhub/index.html @@ -9,7 +9,7 @@ - + @@ -73,6 +73,6 @@ →

- + diff --git a/LNbank/Troubleshooting/index.html b/LNbank/Troubleshooting/index.html index 8a27bf155b..c0f9655659 100644 --- a/LNbank/Troubleshooting/index.html +++ b/LNbank/Troubleshooting/index.html @@ -9,7 +9,7 @@ - + @@ -80,6 +80,6 @@ →

- + diff --git a/LNbank/index.html b/LNbank/index.html index ad1c3a9fc9..0cbe15412a 100644 --- a/LNbank/index.html +++ b/LNbank/index.html @@ -9,7 +9,7 @@ - + @@ -63,6 +63,6 @@ LNbank wallets can be seen as layer 3 sub-accounts.
  • All LNbank accounts use the internal Lightning node and share the Node ID of that node.
  • Channels and liquidity are managed by the server admin.
  • # Caveats

    Users rely on the server admin as the custodian, be aware of that trust relationship. When using LNbank on a third-party instance whose owner you don't know, mitigate the risks by following this advise:

    # Features and Compatibility

    # How to activate and use LNbank

    # Server admin

    # User

    # Support this plugin

    Support this plugin (opens new window)
    - + diff --git a/LedgerWallet/index.html b/LedgerWallet/index.html index b79af9d793..1e7d6d739e 100644 --- a/LedgerWallet/index.html +++ b/LedgerWallet/index.html @@ -9,7 +9,7 @@ - + @@ -59,6 +59,6 @@ GitHub (opens new window)

    # Connecting Ledger Wallet to BTCPay Server

    This document shows how to connect Ledger Nano S Wallet to BTCPay Server.

    WARNING

    Direct Ledger Nano S integration is no longer supported. For Bitcoin wallets, you can use your Ledger hardware wallet regularly via the new hardware wallet integration.

    For altcoin wallets, you can spend funds from your external wallet, sign a transaction within the internal wallet with HD Private Key or mnemonic seed or a hot wallet.

    To set up a new altcoin wallet, add the extended public key manually or create a new wallet.

    # Ledger Nano S Wallet Setup

    This guide assumes, you have a Nano S wallet set up. To configure the Nano S, please see the quick setup guide on manufacturer's website (opens new window).

    # Requirements

    1. Bitcoin App installed on the Ledger
    2. Google Chrome or Firefox
    3. For Firefox, U2F needs to be enabled in about:config
    4. No other U2F devices plugged in into your PC (Yubikey, other wallets, etc)

    # Quick Setup

    1. Plug in Ledger Nano S into your PC.
    2. Open the Bitcoin app on your Ledger.
    3. In BTCPay Server, Store > Settings > Wallet > Setup > Derivation Scheme > Import from Hardware Device > Ledger wallet
    4. Select the account which you want to use, in most cases it's the Account 0
    5. Confirm the Export public key on the wallet.
    6. The extended public key will now automatically be added from Ledger to your BTCPay Server Store.
    7. Make sure that the derivation scheme is Enabled
    8. Click Continue
    9. Confirm the address match in BTCPay.

    Your Ledger wallet is now connected to your BTCPay. Payments go directly to Ledger.

    # Manual Setup

    If you have more than 20 accounts in your Ledger you might not be able to find the correct account because the select shows a maximum of 20 entries. In this case you can manually find the extended public key for your wanted account in these steps:

    1. Open the Ledger live app (opens new window)
    2. Accounts -> choose your account
    3. Edit Account on the top right via the tool-icon
    4. In Edit Account -> ADVANCED LOGS
    5. Copy the extended public key string
    6. Paste it manually into the "DerivationScheme" textfield
    7. Continue with Step 7 of the Quick Setup above
    Ledger Account "Advanced Logs" info screenshot

    # Spending from BTCPay Server wallet with Ledger

    Once there are some funds in received to your BTCPay Wallet connected to Ledger, you can spend them by signing a transaction with your hardware wallet. This allows easy interaction of the Ledger wallet with your full node, without leaking information to third-party servers.

    1. Plug in Ledger Nano S into your PC.
    2. Open the Bitcoin app on your Ledger.
    3. In BTCPay, go to Wallets > Manage > Send
    4. Fill in destination address and the amount
    5. Click on the Sign with your Ledger Wallet device.
    6. BTCPay will establish a connection with the Ledger wallet and display transaction information on the wallet screen.
    7. Confirm the transaction on the Ledger.
    8. In Ledger, click on the Ready To Sign
    9. Review your transactions and click Broadcast to broadcast it on the network.

    The video below shows how to connect your BTCPay store to your Ledger and how to use Ledger with the internal BTCPay wallet.

    - + diff --git a/LightningNetwork/index.html b/LightningNetwork/index.html index b3e5d0605b..d4bbb7faf3 100644 --- a/LightningNetwork/index.html +++ b/LightningNetwork/index.html @@ -9,7 +9,7 @@ - + @@ -109,6 +109,6 @@

    - + diff --git a/LightningNetwork_PaymentChannels/index.html b/LightningNetwork_PaymentChannels/index.html index 0e9620d7ab..d72edb5c88 100644 --- a/LightningNetwork_PaymentChannels/index.html +++ b/LightningNetwork_PaymentChannels/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

    # Opening and operating payment channels

    Given that the Lightning Network is a relatively new technology under active development, getting your freshly deployed node ready to send and receive payments, still, requires a couple of steps.

    Overview:

    1. The lightning node is deployed, enabled and its on-chain wallet is funded
    2. A peer is identified and the first payment channel is opened
    3. Inbound and outbound liquidity is acquired. The node is now able to send and receive
    4. Liquidity management, an ongoing process to maintain the capacity to send and receive

    Key considerations:

    • Choosing the channel partner. Consider opening the first channel to a well connected peer with robust uptime. This will increase the chances for your payments to be routed and settled.
    • Inbound vs outbound capacity. Outbound capacity allows nodes to send payments whereas inbound capacity allows nodes to receive payments. As a merchant using lightning, having inbound capacity is essential for customers to be able to pay you.
    • Inbound capacity. A node adds inbound capacity by either spending sats from its local balance or having other nodes in the network open channels to it.
    • Liquidity management: maintaining the ability to send and receive is a continous process where a balance between inbound vs outbound capacity has to be maintained across payment channels. This capacity distribution must be adjusted depending upon the use case of the node operator.
    • Lightning Service Providers: LSPs offer paid third-party services that improve the ease of operating a lightning network node. Such services can be used to acquire inbound capacity or to automate the rebalancing process.

    Below a set of good resources for a deeper dive into topics such as:

    - + diff --git a/Magento/index.html b/Magento/index.html index 831d18d71a..da05e85a86 100644 --- a/Magento/index.html +++ b/Magento/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/NBXplorer/API/index.html b/NBXplorer/API/index.html index bf230fe70d..82937cd21d 100644 --- a/NBXplorer/API/index.html +++ b/NBXplorer/API/index.html @@ -9,7 +9,7 @@ - + @@ -655,6 +655,6 @@ →

    - + diff --git a/NBXplorer/Postgres-Migration/index.html b/NBXplorer/Postgres-Migration/index.html index cf958b5950..b7b884064b 100644 --- a/NBXplorer/Postgres-Migration/index.html +++ b/NBXplorer/Postgres-Migration/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/NBXplorer/Postgres-Schema/index.html b/NBXplorer/Postgres-Schema/index.html index 59610cce17..82b3c0b017 100644 --- a/NBXplorer/Postgres-Schema/index.html +++ b/NBXplorer/Postgres-Schema/index.html @@ -9,7 +9,7 @@ - + @@ -87,6 +87,6 @@ →

    - + diff --git a/NBXplorer/index.html b/NBXplorer/index.html index a5f232887c..ef7924d8c3 100644 --- a/NBXplorer/index.html +++ b/NBXplorer/index.html @@ -9,7 +9,7 @@ - + @@ -108,6 +108,6 @@ →

    - + diff --git a/Nostr/index.html b/Nostr/index.html index ca42b9db4e..a6f9cdce2a 100644 --- a/Nostr/index.html +++ b/Nostr/index.html @@ -9,7 +9,7 @@ - + @@ -67,6 +67,6 @@ →

    - + diff --git a/Notifications/index.html b/Notifications/index.html index 64badbdfa9..702e300514 100644 --- a/Notifications/index.html +++ b/Notifications/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ {Invoice.Status} {Invoice.OrderId}

    Find the source here for possible updates (opens new window)

    Create new Email rule
    - + diff --git a/OpenCart/index.html b/OpenCart/index.html index 7b74d19b1d..909cc1f91a 100644 --- a/OpenCart/index.html +++ b/OpenCart/index.html @@ -9,7 +9,7 @@ - + @@ -88,6 +88,6 @@ →

    - + diff --git a/Payjoin/index.html b/Payjoin/index.html index f2b77ccfd0..117c536240 100644 --- a/Payjoin/index.html +++ b/Payjoin/index.html @@ -9,7 +9,7 @@ - + @@ -59,6 +59,6 @@ GitHub (opens new window)

    # BTCPay Server Payjoin Guide

    This document explains how to use BTCPay Server's Payjoin feature. For a detailed, technical explanation of how payjoin is implemented, check BIP78 (opens new window)

    You can follow this video to better understand what payjoin is and how to use it.

    # Enabling Payjoin as a merchant

    1. Create a store
    2. Configure a hot wallet for your derivation scheme. Be sure to use either segwit or segwit wrapped as the address type.
    3. Enable Payjoin/P2EP in the "General Settings" and click "Save"

    It's important to note that you will need at least 1 UTXO for payjoin to work.

    Receive PayJoin in BTCPay Server
    Receive PayJoin in BTCPay Server
    Receive PayJoin in BTCPay Server

    # Paying to Payjoin as a user

    The BTCPay Wallet supports Payjoin.

    1. Retrieve the BIP21 payment link from a BTCPay Server invoice which has payjoin enabled by either:
      • Scan the QR code with the camera scanning feature
      • Copy the link from the "Open in wallet" button and paste it in the "Parse BIP21" prompt
    2. The send form should be populated with the payment details. You can check if the invoice supports payjoin by expanding "advanced settings" to see if there is a "Payjoin endpoint" input with a url.
    3. Sign your transaction using either BTCPay Server's hardware wallet support via BTCPay Vault or the hot wallet feature.
    4. Once your original transaction is ready, you will be given the option to either Broadcast (Payjoin) or to Broadcast (Simple). Choose Broadcast (Payjoin).
    5. The payjoin server will propose a new special transaction, if possible. If the payjoin server is unable to do the payjoin, the original transaction is broadcast instead.
    6. If you are using a hardware wallet, you will be asked to sign the payjoin transaction again (the hot wallet feature signs the transaction for you automatically).
    7. Congratulations, you've just helped improve Bitcoin's fungibility and your financial sovereignty!
    Receive PayJoin in BTCPay Server
    Receive PayJoin in BTCPay Server
    Receive PayJoin in BTCPay Server
    Receive PayJoin in BTCPay Server

    # Why did a payjoin not happen?

    There's multiple reasons for this:

    • The store did not have any utxos to contribute towards a payjoin
    • Your wallet does not use the same format as the store's (essential to not raise suspicion to analysis companies)
    • You are not using segwit or p2sh wrapped segwit.
    • The payjoin server is not available

    # Supported wallets

    Please contact and encourage your wallet developers to add support. The more widespread the usage of payjoin, the more broken the heuristics used by blockchain analysis companies become and can effectively trace your financial history. If you are a wallet developer, please contact us if you need help or have feedback.

    - + diff --git a/PaymentRequests/index.html b/PaymentRequests/index.html index 34b79fb552..32cb412091 100644 --- a/PaymentRequests/index.html +++ b/PaymentRequests/index.html @@ -9,7 +9,7 @@ - + @@ -93,6 +93,6 @@ →

    - + diff --git a/Payouts/index.html b/Payouts/index.html index 6d3ca1b5d9..a22f0a8983 100644 --- a/Payouts/index.html +++ b/Payouts/index.html @@ -9,7 +9,7 @@ - + @@ -81,6 +81,6 @@ →

    - + diff --git a/PodServer/index.html b/PodServer/index.html index f741c597c6..47cab05d15 100644 --- a/PodServer/index.html +++ b/PodServer/index.html @@ -9,7 +9,7 @@ - + @@ -68,6 +68,6 @@ →

    - + diff --git a/PrestaShop/index.html b/PrestaShop/index.html index 648ef657fc..05eb1cbb21 100644 --- a/PrestaShop/index.html +++ b/PrestaShop/index.html @@ -9,7 +9,7 @@ - + @@ -70,6 +70,6 @@ →

    - + diff --git a/PullPayments/index.html b/PullPayments/index.html index 24a0e89f53..8922ef2bc1 100644 --- a/PullPayments/index.html +++ b/PullPayments/index.html @@ -9,7 +9,7 @@ - + @@ -100,6 +100,6 @@ 6
  • Clicking on the notification brings the sender to a page listing all outstanding payouts 7
  • Check the payout to approve, pay and confirm 8
  • You are then brought to the normal wallet user interface of BTCPay Server
  • WARNING

    Clicking on Confirm selected payouts will use the current exchange rate of your wallet's store settings. The rate is then fixed, even if you don't complete the payment. Payments made at a later time will use this previously confirmed rate.

    # Additional use cases for the Pull Payments feature

    The Pull Payment feature can be used in multiple applications, the first one being Refunds.

    - + diff --git a/Refund/index.html b/Refund/index.html index 8c4378a74a..716fbcc2d5 100644 --- a/Refund/index.html +++ b/Refund/index.html @@ -9,7 +9,7 @@ - + @@ -67,6 +67,6 @@ →

    - + diff --git a/RegisterAccount/index.html b/RegisterAccount/index.html index 3e6198f63f..6201c25e1c 100644 --- a/RegisterAccount/index.html +++ b/RegisterAccount/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/Reporting/index.html b/Reporting/index.html index 378772337d..25ca222d9b 100644 --- a/Reporting/index.html +++ b/Reporting/index.html @@ -9,7 +9,7 @@ - + @@ -68,6 +68,6 @@ (opens new window)

    - + diff --git a/Shopify/index.html b/Shopify/index.html index c2eb5ad78c..b33b28f339 100644 --- a/Shopify/index.html +++ b/Shopify/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/Shopware/index.html b/Shopware/index.html index ff4541930c..84c599df74 100644 --- a/Shopware/index.html +++ b/Shopware/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/Support/index.html b/Support/index.html index 7a3754eedd..dbb2575d0f 100644 --- a/Support/index.html +++ b/Support/index.html @@ -9,7 +9,7 @@ - + @@ -68,6 +68,6 @@ →

    - + diff --git a/TicketTailor/index.html b/TicketTailor/index.html index aaf01033de..2a09f802ac 100644 --- a/TicketTailor/index.html +++ b/TicketTailor/index.html @@ -9,7 +9,7 @@ - + @@ -69,6 +69,6 @@ →

    - + diff --git a/Transmuter/DCA/index.html b/Transmuter/DCA/index.html index e09f70eb9d..d6a597b188 100644 --- a/Transmuter/DCA/index.html +++ b/Transmuter/DCA/index.html @@ -9,7 +9,7 @@ - + @@ -73,6 +73,6 @@ →

    - + diff --git a/Transmuter/EmailReceiptsPreset/index.html b/Transmuter/EmailReceiptsPreset/index.html index a6848ef98c..a9df9c5a95 100644 --- a/Transmuter/EmailReceiptsPreset/index.html +++ b/Transmuter/EmailReceiptsPreset/index.html @@ -9,7 +9,7 @@ - + @@ -67,6 +67,6 @@ →

    - + diff --git a/Transmuter/index.html b/Transmuter/index.html index 03715d038d..dacade909f 100644 --- a/Transmuter/index.html +++ b/Transmuter/index.html @@ -9,7 +9,7 @@ - + @@ -67,6 +67,6 @@ There must be a class implementing BtcTransmuterExtension in this library. This file bootstraps the plugin name and adds all the services to system on startup.

    # Adding a Trigger

    # Adding an Action

    # Adding an External Service

    - + diff --git a/Trocador/index.html b/Trocador/index.html index 6957ba2899..fcde348c98 100644 --- a/Trocador/index.html +++ b/Trocador/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/Troubleshooting/index.html b/Troubleshooting/index.html index 2c025d8603..6589e8eb1f 100644 --- a/Troubleshooting/index.html +++ b/Troubleshooting/index.html @@ -9,7 +9,7 @@ - + @@ -98,6 +98,6 @@ →

    - + diff --git a/TryItOut/index.html b/TryItOut/index.html index d744d52a6e..ef7341a893 100644 --- a/TryItOut/index.html +++ b/TryItOut/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/UseCase/index.html b/UseCase/index.html index ae5a8f6245..1b34066572 100644 --- a/UseCase/index.html +++ b/UseCase/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/Vault/HowToVerify/index.html b/Vault/HowToVerify/index.html index ca25554e8c..87dfb5dbb7 100644 --- a/Vault/HowToVerify/index.html +++ b/Vault/HowToVerify/index.html @@ -9,7 +9,7 @@ - + @@ -83,6 +83,6 @@ →

    - + diff --git a/VirtueMart/index.html b/VirtueMart/index.html index a92b225dda..a5fe86d1ad 100644 --- a/VirtueMart/index.html +++ b/VirtueMart/index.html @@ -9,7 +9,7 @@ - + @@ -88,6 +88,6 @@ →

    - + diff --git a/Wabisabi/index.html b/Wabisabi/index.html index 6ac7c0fdf8..48e42a575b 100644 --- a/Wabisabi/index.html +++ b/Wabisabi/index.html @@ -9,7 +9,7 @@ - + @@ -88,6 +88,6 @@ →

    - + diff --git a/Walkthrough/index.html b/Walkthrough/index.html index b549f29412..700743cc18 100644 --- a/Walkthrough/index.html +++ b/Walkthrough/index.html @@ -9,7 +9,7 @@ - + @@ -80,6 +80,6 @@ →

    - + diff --git a/Wallet/index.html b/Wallet/index.html index 461cbf32b3..8406a6ddd9 100644 --- a/Wallet/index.html +++ b/Wallet/index.html @@ -9,7 +9,7 @@ - + @@ -61,6 +61,6 @@ PSBT is supported in BTCPay Server and can be signed with compatible hardware and software wallets.

    The construction of a fully signed Bitcoin transaction goes through the following steps:

    Check this tutorial on how to sign a PSBT transaction with ColdCard Hardware Wallet, completely offline/air-gapped.

    # Signing with a hardware wallet

    BTCPay Server has built-in hardware wallet support allowing you to use your hardware wallet with BTCPay, without leaking information to third-party apps or servers.

    Check instructions on how to set up and sign with a compatible hardware wallet (opens new window).

    # Signing with a hot wallet

    If you created a new wallet when setting up your store and enabled it as a hot wallet, since version 1.2.0, we've added an option that when a hot wallet is created, it'll automatically use the seed stored on a server to sign.

    DANGER

    Using the hot wallet feature comes with security implications; please be sure to read and understand them over at the Hot Wallet documentation

    # Advanced Settings

    Certain wallet features are available for advanced users. Toggle the Advanced Settings within the Send tab to preview them.

    # Don't create UTXO change

    This option is available in the Advanced mode of the Send page.

    It is a privacy enhancing feature which is useful when you're sending funds to another wallet of yours or to an exchange. It makes sure that no change UTXO is created by rounding up the amount sent.

    By default this feature is disabled, so if your wallet has a UTXO of 1.1 BTC and you input an amount equal to 1.0 BTC, the resulting transaction will have two outputs 0.1 BTC of change, and 1.0 BTC to your destination.

    Blockchain analysis will understand that those 0.1 BTC of change belong to the same entity which controlled 1.1 BTC before, and can track the future purchase you make under the same pattern.

    By enabling this feature, BTCPay Server wallet will round up the amount sent to 1.1 BTC such that no change output is sent back to you.

    Warning: Despite the fact, in this example, that you entered 1.0 in the amount field, the amount that will really be sent to your destination will be 1.1 BTC.

    # RBF (Replace-By-Fee)

    Replace-By-Fee (RBF) is a Bitcoin protocol feature that allows you to replace a previously broadcast transaction (while unconfirmed). This allows randomizing your wallet's transaction fingerprint, or simply for replacing it with a higher fee rate to move the transaction higher in the queue of confirmation (mining) priority. This will effectively replace the original transaction as the higher fee rate will be prioritized and once confirmed, invalidating the original one (double spend).

    Press the Advanced Settings button to view the RBF options:

    RBF Options
    # Coin Selection

    Coin selection is an advanced privacy-enhancing feature that allows you to specifically select coins that you would like to spend when crafting a transaction. For example, paying with coins that are fresh from a coinjoin mix.

    To make the selection easier, coin-selection works natively with the wallet labels feature. This allows you to label any incoming funds for smoother UTXO management and spending.

    Coin Selection
    # Other features
    # Camera QR scan

    Scan option in wallet (camera icon in send screen) lets you use your device’s camera to scan a QR code containing an address or BIP21 payment link. It auto-populates the sending information so that you don’t have to manually copy-paste an address and amount.

    QR Scan
    # Paste BIP21 address

    This option decodes a BIP21 payment link. It's useful when you're trying to pay a Payjoin invoice.

    # Receive

    The Receive tab generates an unused address which can be used to receive payments. The same can be achieved by generating an invoice (Invoices > Create new invoice).

    Wallet Receive

    # Pull Payments

    This feature gives you the ability to create a Pull Payment, so that an outside individual may request to pull funds from your wallet.

    For more information, see Pull Payments.

    # Payouts

    This section lets you manage Pull Payments and gives you the ability to accept or decline payouts requested by outside individuals.

    For more information, see Payouts.

    # Re-scan

    The Rescan relies on Bitcoin Core 0.17.0's scantxoutset to scan the current state of the blockchain (called UTXO Set) for coins belonging to the configured derivation scheme.

    Wallet Rescan

    Wallet re-scan solves two critical problems for BTCPay users:

    1. Gap limit
    2. Importing a previously used wallet

    Gap limit: Most wallets typically have the address gap limit set to 20. This means that if a merchant receives 21 or more consecutive unpaid invoices, those wallets show the incorrect balance and some transactions may not be visible.

    Wallet import: When users add a derivation scheme of a wallet that had transactions in the past (previously used wallet), BTCPay won't be able to show the balance and transactions from the past.

    Wallet rescan progress

    Re-scan is a feature that solves both of these problems. Once the scan is complete, BTCPay Server will show the correct balance, along with the past transactions of the wallet.

    Wallet re-scan requires access to the full node which means that this function is only available for server owners.

    Users who use a third-party host should use a newly generated xpub key and also use an external wallet like Electrum which allows them to increase the gap limit.

    # Settings

    In the top right corner of your wallet you will find the wallet settings. In the wallet settings tab you can adjust certain settings. If you've configured your wallet by creating a new wallet or using an existing wallet via the hardware wallet integration these settings will be pre-configured.

    If you manually added the extended public key from an external wallet, you'd need to adjust AccountKeyPath that you can find in your external wallet, for example m/84'/0'/0' to be able to spend from the BTCPay Wallet.

    In wallet settings you will also find the speed policy for the specific store. There are 2 main settings under Payment, Payment invalid if transaction fails to confirm in ... after invoice creation and Consider the invoice confirmed when the payment transaction.... The latter lets you set the number of confirmations required to be recognized as settled.

    Wallet settings
    - + diff --git a/WalletSetup/index.html b/WalletSetup/index.html index 1bc1669a6b..57e59571c3 100644 --- a/WalletSetup/index.html +++ b/WalletSetup/index.html @@ -9,7 +9,7 @@ - + @@ -58,6 +58,6 @@ GitHub (opens new window)

    # (3) Wallet Setup

    After account registration and store creation, it's time to configure a wallet in your BTCPay Server, so that you can start receiving payments into it.

    There are two ways to set up a wallet in BTCPay Server:

    There are many options on how set up a wallet with your BTCPay Server. It's up to you to decide what works best for your use-case. Once you configure a wallet, you're all set. The next step, is to start exploring the features.

    Proceed to the next step - What's Next?.

    - + diff --git a/WasabiWallet/index.html b/WasabiWallet/index.html index 1aa753d784..1b67ba1066 100644 --- a/WasabiWallet/index.html +++ b/WasabiWallet/index.html @@ -9,7 +9,7 @@ - + @@ -67,6 +67,6 @@ After the loading is done and the wallet is opened, click on the 3 dots at the top right corner to go to Wallet Info .

    Wasabi Find Wallet Info

    Select and copy the Extended Account Public Key. This is the public key from which BTCPay will derive addresses. This cannot be used to derive private keys and spend the bitcoin.

    Wasabi Extended Account Public Key

    # Setup store wallet

    1. Assuming you created a store and are now in the Dashboard. Click on Set up a wallet
    Connect Wasabi Wallet to BTCPay Server
    1. As you did the above steps in wasabi, Click Connect an existing wallet
    Connect Wasabi Wallet to BTCPay Server
    1. Choose Enter extended public key
    Connect Wasabi Wallet to BTCPay Server
    1. Paste the Extended Account Public Key into derivation scheme field as it is, without adding anything else and click Continue
    Connect Wasabi Wallet to BTCPay Server
    1. Return to the Wasabi Wallet. Click the Receive button and generate a new address.
    Wasabi Receive
    1. Compare the address you see in Wasabi Wallet to addresses shown in BTCPay Server. Find a match, continue.
    Connect Wasabi Wallet to BTCPay Server
    1. When you found a match, your wallet is now connected to the store.
    Connect Wasabi Wallet to BTCPay Server

    # Connecting Wasabi to BTCPay Server Full Node (If you're self-hosting BTCPay)

    After the wallets are connected, it is highly recommended to connect Wasabi Wallet to your full node in BTCPay. The process is easy but can only be done if you self-host BTCPay and are logged in as Admin. Tor has to be enabled in BTCPay (it is enabled by default). This process enhances privacy even further.

    In BTCPay, go Server Settings > Services > Full node P2P > See Information. On the BTCP-P2P page, click on the Show Confidential QR Code. Bellow the QR Code, there's a link See QR Code information by clicking here, so click on the link to reveal your string. Copy the string but remove bitcoin-p2p:// part.

    In Wasabi, go to the Bitcoin tab at Settings and paste the endpoint in Bitcoin P2P Endpoint.

    Restart Wasabi to apply the changes.

    # Configuring the Gap Limit in Wasabi

    At the search bar on top, click on Wallet Folder. Shortly the json file will be shown in a sub-folder. Open that file with a text editor like notepad. Find the line "MinGapLimit": 21, and change it to "MinGapLimit": 100, and save the file.

    There's no good answer to how much you should set the gap limit to. Most merchants set 100-200. If you're a big merchant with high transaction volume, you can try with even a higher gap limit.

    For more details about the Gap Limit, check the FAQ.

    Wasabi Wallet and BTCPay Server are now connected. Any payments received to your BTCPay will be visible in Wasabi, where you can further spend or mix them.

    - + diff --git a/WhatsNext/index.html b/WhatsNext/index.html index 58c8aff850..92f72dd222 100644 --- a/WhatsNext/index.html +++ b/WhatsNext/index.html @@ -9,7 +9,7 @@ - + @@ -66,6 +66,6 @@ →

    - + diff --git a/WooCommerce/index.html b/WooCommerce/index.html index 2e21ad8487..36a93ddfd7 100644 --- a/WooCommerce/index.html +++ b/WooCommerce/index.html @@ -9,7 +9,7 @@ - + @@ -116,6 +116,6 @@ →

    - + diff --git a/Zapier/index.html b/Zapier/index.html index 244dd6c2a4..4a7a0582d8 100644 --- a/Zapier/index.html +++ b/Zapier/index.html @@ -9,7 +9,7 @@ - + @@ -77,6 +77,6 @@ →

    - + diff --git a/assets/js/10.4e4dfa8b.js b/assets/js/10.46d80c52.js similarity index 99% rename from assets/js/10.4e4dfa8b.js rename to assets/js/10.46d80c52.js index 220de1158f..d3ec2ad1e4 100644 --- a/assets/js/10.4e4dfa8b.js +++ b/assets/js/10.46d80c52.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{541:function(A,e,t){A.exports=t.p+"assets/img/FrontPage.616c97f1.png"},542:function(A,e,t){A.exports=t.p+"assets/img/TicketApp.3fcd4bd4.png"},543:function(A,e){A.exports="data:image/png;base64,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"},544:function(A,e,t){A.exports=t.p+"assets/img/ExternalService_Setup.9c2a74c4.png"},545:function(A,e){A.exports="data:image/png;base64,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"},546:function(A,e,t){A.exports=t.p+"assets/img/SIN_PairingCode.cd005782.jpg"},547:function(A,e,t){A.exports=t.p+"assets/img/ExternalService_Add.f82f2998.png"},548:function(A,e){A.exports="data:image/png;base64,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"},549:function(A,e){A.exports="data:image/png;base64,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"},550:function(A,e){A.exports="data:image/png;base64,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"},551:function(A,e,t){A.exports=t.p+"assets/img/CustomerEmailBody.d9e6d6a4.png"},552:function(A,e,t){A.exports=t.p+"assets/img/EmployeeEmail.f299755f.png"},553:function(A,e,t){A.exports=t.p+"assets/img/FinalRecipeView.863abe31.png"},554:function(A,e,t){A.exports=t.p+"assets/img/ReceivedCustomerEmailBody.7466a15a.png"},555:function(A,e,t){A.exports=t.p+"assets/img/EmployeeEmailBody.ea00b163.jpg"},787:function(A,e,t){"use strict";t.r(e);var i=t(9),a=Object(i.a)({},(function(){var A=this,e=A._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":A.$parent.slotKey}},[e("h1",{attrs:{id:"btcpay-email-receipts-ticket-sale-guide"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-email-receipts-ticket-sale-guide"}},[A._v("#")]),A._v(" BTCPay Email Receipts - Ticket Sale Guide")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(541),alt:"FrontPage",title:"FrontPage"}})]),A._v(" "),e("p",[A._v("This guide shows how to setup a simple event ticket sale system, using the "),e("strong",[A._v("BTCPay Email Receipts")]),A._v(" preset in Transmuter.")]),A._v(" "),e("p",[A._v("Transmuter is currently in "),e("em",[A._v("alpha state")]),A._v(", but this preset relies mainly on sending emails, so it's fairly easy to use with your BTCPay, even if you are not a developer. What you will need in addition to Transmuter is, a BTCPayServer instance with at least one store and a few email accounts for testing your ticketing setup. This guide is using Gmail for simplicity, although other email clients can be used.")]),A._v(" "),e("h2",{attrs:{id:"how-the-ticket-sale-system-works"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#how-the-ticket-sale-system-works"}},[A._v("#")]),A._v(" How the Ticket Sale System Works")]),A._v(" "),e("p",[A._v("Create a simple BTCPay Point Of Sale App that sells tickets for a future event with limited quantity.\nWhen someone purchases a ticket in the connected BTCPayServer POS App, send the customer an email receipt containing their QR code event ticket and send an email receipt to the event organizer, alerting of the ticket sale and the payment details.")]),A._v(" "),e("h2",{attrs:{id:"btcpay-pos-app-setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-pos-app-setup"}},[A._v("#")]),A._v(" BTCPay POS App Setup")]),A._v(" "),e("p",[A._v('First create a Point of Sale App in BTCPayServer called "Ticket App" with one product (our event ticket), which has an inventory limit of quantity 30.')]),A._v(" "),e("figure",[e("img",{attrs:{src:t(542),alt:"TicketApp",title:"TicketApp"}})]),A._v(" "),e("h2",{attrs:{id:"transmuter-email-receipts-setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#transmuter-email-receipts-setup"}},[A._v("#")]),A._v(" Transmuter Email Receipts Setup")]),A._v(" "),e("p",[A._v("In our Transmuter create a Preset > BTCPay Email Receipts.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(543),alt:"Presets",title:"Presets"}})]),A._v(" "),e("figure",[e("img",{attrs:{src:t(544),alt:"ExternalService_Setup",title:"ExternalService_Setup"}})]),A._v(" "),e("p",[A._v("Next, connect our BTCPay as an external service to Transmuter.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(545),alt:"CreateBTCPayService",title:"CreateBTCPayService"}})]),A._v(" "),e("p",[A._v("Next obtain a pairing code from our BTCPay. So Transmuter can send emails when BTCPay POS invoices are paid.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(546),alt:"SIN_PairingCode",title:"SIN_PairingCode"}})]),A._v(" "),e("p",[A._v("Once pairing is successful shows in your BTCPay, go back to Transmuter press Save to authorize your BTCPay client connection.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(547),alt:"ExternalService_Add",title:"ExternalService_Add"}})]),A._v(" "),e("p",[A._v("Next create an email sending SMTP service.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(548),alt:"CreateExternalService_SMTP",title:"CreateExternalService_SMTP"}})]),A._v(" "),e("p",[A._v("See this "),e("RouterLink",{attrs:{to:"/FAQ/FAQ-ServerSettings/#how-to-configure-smtp-settings-in-btcpay"}},[A._v("SMTP settings example")]),A._v(" for setup. Save after data is updated, and return to preset of Email Forwarder.")],1),A._v(" "),e("figure",[e("img",{attrs:{src:t(549),alt:"InvoiceStatusTrigger",title:"InvoiceStatusTrigger"}})]),A._v(" "),e("p",[A._v("Choose the invoice status to send ticket email receipts on. During testing, use the "),e("strong",[A._v("New")]),A._v(" invoice status, so that payment is not required to send emails. Once everything is setup correctly and working properly, choose a status like "),e("RouterLink",{attrs:{to:"/Invoices/"}},[A._v("Paid or Confirmed")]),A._v(".")],1),A._v(" "),e("figure",[e("img",{attrs:{src:t(550),alt:"SendEmailToCustomerEmail",title:"SendEmailToCustomerEmail"}})]),A._v(" "),e("p",[A._v("Select send email to the address registered on the BTCPay Invoice. Be sure that the refund email setting has not been "),e("RouterLink",{attrs:{to:"/FAQ/FAQ-Stores/#how-to-disable-email-on-invoices"}},[A._v("disabled")]),A._v(" in your BTCPay store, in order to prompt customers to provide their email before paying the invoice.")],1),A._v(" "),e("p",[A._v("Next supply the sending email address, email subject and email body. Note the highlighted line in the picture below, it uses http://goqr.me/api to create a QR code of the invoice payment which will be used as the event ticket inside the customer's receipt email.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(551),alt:"CustomerEmailBody",title:"CustomerEmailBody"}})]),A._v(" "),e("p",[A._v("After saving, there will be a recipe which has been generated by the preset. In the action group, there will be one email for the customer. Next, add a second email to notify the owner of the ticket sale. This is also important in case the customer provides an incorrect email, the event organizer will still receive their payment information.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(552),alt:"EmployeeEmail",title:"EmployeeEmail"}})]),A._v(" "),e("p",[A._v("Add your second email account details, email subject and HTML email body. Note some of the purchase data you can insert into the event organizer email receipt. Press save.")]),A._v(" "),e("p",[A._v("Be sure to enable your recipe (checkbox).")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(553),alt:"FinalRecipeView",title:"FinalRecipeView"}})]),A._v(" "),e("p",[A._v("Once the recipe is "),e("strong",[A._v("enabled")]),A._v(", start creating invoices in the BTCPay POS Ticket App and see the emails sent. Providing a valid email in the POS invoice creation process will send an event ticket email receipt to the customer and a payment email to the event organizer.")]),A._v(" "),e("p",[A._v("When the QR code contained in the customer email is scanned (with phone camera for example), it will lead to the BTCPay invoice page to verify the ticket at your event.")]),A._v(" "),e("p",[A._v("Below is a basic HTML email template that the customer would receive and a basic HTML email template that the event organizer would receive, with some invoice data from the time of purchase. Feel free to improve these demo "),e("a",{attrs:{href:"https://github.com/btcpayserver/btcTransmuter/tree/master/docs/templates",target:"_blank",rel:"noopener noreferrer"}},[A._v("templates"),e("OutboundLink")],1),A._v(".")]),A._v(" "),e("p",[e("img",{attrs:{src:t(554),alt:"ReceivedCustomerEmailBody",title:"ReceivedCustomerEmailBody"}}),A._v(" "),e("img",{attrs:{src:t(555),alt:"EmployeeEmailBody",title:"EmployeeEmailBody"}})])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{541:function(A,e,t){A.exports=t.p+"assets/img/FrontPage.616c97f1.png"},542:function(A,e,t){A.exports=t.p+"assets/img/TicketApp.3fcd4bd4.png"},543:function(A,e){A.exports="data:image/png;base64,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"},544:function(A,e,t){A.exports=t.p+"assets/img/ExternalService_Setup.9c2a74c4.png"},545:function(A,e){A.exports="data:image/png;base64,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"},546:function(A,e,t){A.exports=t.p+"assets/img/SIN_PairingCode.cd005782.jpg"},547:function(A,e,t){A.exports=t.p+"assets/img/ExternalService_Add.f82f2998.png"},548:function(A,e){A.exports="data:image/png;base64,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"},549:function(A,e){A.exports="data:image/png;base64,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"},550:function(A,e){A.exports="data:image/png;base64,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"},551:function(A,e,t){A.exports=t.p+"assets/img/CustomerEmailBody.d9e6d6a4.png"},552:function(A,e,t){A.exports=t.p+"assets/img/EmployeeEmail.f299755f.png"},553:function(A,e,t){A.exports=t.p+"assets/img/FinalRecipeView.863abe31.png"},554:function(A,e,t){A.exports=t.p+"assets/img/ReceivedCustomerEmailBody.7466a15a.png"},555:function(A,e,t){A.exports=t.p+"assets/img/EmployeeEmailBody.ea00b163.jpg"},786:function(A,e,t){"use strict";t.r(e);var i=t(9),a=Object(i.a)({},(function(){var A=this,e=A._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":A.$parent.slotKey}},[e("h1",{attrs:{id:"btcpay-email-receipts-ticket-sale-guide"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-email-receipts-ticket-sale-guide"}},[A._v("#")]),A._v(" BTCPay Email Receipts - Ticket Sale Guide")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(541),alt:"FrontPage",title:"FrontPage"}})]),A._v(" "),e("p",[A._v("This guide shows how to setup a simple event ticket sale system, using the "),e("strong",[A._v("BTCPay Email Receipts")]),A._v(" preset in Transmuter.")]),A._v(" "),e("p",[A._v("Transmuter is currently in "),e("em",[A._v("alpha state")]),A._v(", but this preset relies mainly on sending emails, so it's fairly easy to use with your BTCPay, even if you are not a developer. What you will need in addition to Transmuter is, a BTCPayServer instance with at least one store and a few email accounts for testing your ticketing setup. This guide is using Gmail for simplicity, although other email clients can be used.")]),A._v(" "),e("h2",{attrs:{id:"how-the-ticket-sale-system-works"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#how-the-ticket-sale-system-works"}},[A._v("#")]),A._v(" How the Ticket Sale System Works")]),A._v(" "),e("p",[A._v("Create a simple BTCPay Point Of Sale App that sells tickets for a future event with limited quantity.\nWhen someone purchases a ticket in the connected BTCPayServer POS App, send the customer an email receipt containing their QR code event ticket and send an email receipt to the event organizer, alerting of the ticket sale and the payment details.")]),A._v(" "),e("h2",{attrs:{id:"btcpay-pos-app-setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-pos-app-setup"}},[A._v("#")]),A._v(" BTCPay POS App Setup")]),A._v(" "),e("p",[A._v('First create a Point of Sale App in BTCPayServer called "Ticket App" with one product (our event ticket), which has an inventory limit of quantity 30.')]),A._v(" "),e("figure",[e("img",{attrs:{src:t(542),alt:"TicketApp",title:"TicketApp"}})]),A._v(" "),e("h2",{attrs:{id:"transmuter-email-receipts-setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#transmuter-email-receipts-setup"}},[A._v("#")]),A._v(" Transmuter Email Receipts Setup")]),A._v(" "),e("p",[A._v("In our Transmuter create a Preset > BTCPay Email Receipts.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(543),alt:"Presets",title:"Presets"}})]),A._v(" "),e("figure",[e("img",{attrs:{src:t(544),alt:"ExternalService_Setup",title:"ExternalService_Setup"}})]),A._v(" "),e("p",[A._v("Next, connect our BTCPay as an external service to Transmuter.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(545),alt:"CreateBTCPayService",title:"CreateBTCPayService"}})]),A._v(" "),e("p",[A._v("Next obtain a pairing code from our BTCPay. So Transmuter can send emails when BTCPay POS invoices are paid.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(546),alt:"SIN_PairingCode",title:"SIN_PairingCode"}})]),A._v(" "),e("p",[A._v("Once pairing is successful shows in your BTCPay, go back to Transmuter press Save to authorize your BTCPay client connection.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(547),alt:"ExternalService_Add",title:"ExternalService_Add"}})]),A._v(" "),e("p",[A._v("Next create an email sending SMTP service.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(548),alt:"CreateExternalService_SMTP",title:"CreateExternalService_SMTP"}})]),A._v(" "),e("p",[A._v("See this "),e("RouterLink",{attrs:{to:"/FAQ/FAQ-ServerSettings/#how-to-configure-smtp-settings-in-btcpay"}},[A._v("SMTP settings example")]),A._v(" for setup. Save after data is updated, and return to preset of Email Forwarder.")],1),A._v(" "),e("figure",[e("img",{attrs:{src:t(549),alt:"InvoiceStatusTrigger",title:"InvoiceStatusTrigger"}})]),A._v(" "),e("p",[A._v("Choose the invoice status to send ticket email receipts on. During testing, use the "),e("strong",[A._v("New")]),A._v(" invoice status, so that payment is not required to send emails. Once everything is setup correctly and working properly, choose a status like "),e("RouterLink",{attrs:{to:"/Invoices/"}},[A._v("Paid or Confirmed")]),A._v(".")],1),A._v(" "),e("figure",[e("img",{attrs:{src:t(550),alt:"SendEmailToCustomerEmail",title:"SendEmailToCustomerEmail"}})]),A._v(" "),e("p",[A._v("Select send email to the address registered on the BTCPay Invoice. Be sure that the refund email setting has not been "),e("RouterLink",{attrs:{to:"/FAQ/FAQ-Stores/#how-to-disable-email-on-invoices"}},[A._v("disabled")]),A._v(" in your BTCPay store, in order to prompt customers to provide their email before paying the invoice.")],1),A._v(" "),e("p",[A._v("Next supply the sending email address, email subject and email body. Note the highlighted line in the picture below, it uses http://goqr.me/api to create a QR code of the invoice payment which will be used as the event ticket inside the customer's receipt email.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(551),alt:"CustomerEmailBody",title:"CustomerEmailBody"}})]),A._v(" "),e("p",[A._v("After saving, there will be a recipe which has been generated by the preset. In the action group, there will be one email for the customer. Next, add a second email to notify the owner of the ticket sale. This is also important in case the customer provides an incorrect email, the event organizer will still receive their payment information.")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(552),alt:"EmployeeEmail",title:"EmployeeEmail"}})]),A._v(" "),e("p",[A._v("Add your second email account details, email subject and HTML email body. Note some of the purchase data you can insert into the event organizer email receipt. Press save.")]),A._v(" "),e("p",[A._v("Be sure to enable your recipe (checkbox).")]),A._v(" "),e("figure",[e("img",{attrs:{src:t(553),alt:"FinalRecipeView",title:"FinalRecipeView"}})]),A._v(" "),e("p",[A._v("Once the recipe is "),e("strong",[A._v("enabled")]),A._v(", start creating invoices in the BTCPay POS Ticket App and see the emails sent. Providing a valid email in the POS invoice creation process will send an event ticket email receipt to the customer and a payment email to the event organizer.")]),A._v(" "),e("p",[A._v("When the QR code contained in the customer email is scanned (with phone camera for example), it will lead to the BTCPay invoice page to verify the ticket at your event.")]),A._v(" "),e("p",[A._v("Below is a basic HTML email template that the customer would receive and a basic HTML email template that the event organizer would receive, with some invoice data from the time of purchase. Feel free to improve these demo "),e("a",{attrs:{href:"https://github.com/btcpayserver/btcTransmuter/tree/master/docs/templates",target:"_blank",rel:"noopener noreferrer"}},[A._v("templates"),e("OutboundLink")],1),A._v(".")]),A._v(" "),e("p",[e("img",{attrs:{src:t(554),alt:"ReceivedCustomerEmailBody",title:"ReceivedCustomerEmailBody"}}),A._v(" "),e("img",{attrs:{src:t(555),alt:"EmployeeEmailBody",title:"EmployeeEmailBody"}})])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/133.74b5909f.js b/assets/js/133.55d129fe.js similarity index 99% rename from assets/js/133.74b5909f.js rename to assets/js/133.55d129fe.js index 23765c2fe4..12bd8e88e3 100644 --- a/assets/js/133.74b5909f.js +++ b/assets/js/133.55d129fe.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{781:function(t,r,a){"use strict";a.r(r);var e=a(9),l=Object(e.a)({},(function(){var t=this,r=t._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("div",{staticClass:"topics"},[r("h3",[t._v("Explore by topic")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/Guide/"}},[t._v("What is BTCPay Server")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/UseCase/"}},[t._v("Why BTCPay Server")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/TryItOut/"}},[t._v("How to deploy BTCPay Server")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/WalletSetup/"}},[t._v("Wallet Setup")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/LightningNetwork/"}},[t._v("Lightning Network")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[t._v("How to setup POS")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/Development/GreenFieldExample/"}},[t._v("Greenfield API")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/FAQ/"}},[t._v("Frequently Asked Questions"),r("br"),t._v("and Common Issues")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/Contribute/"}},[t._v("How to contribute to BTCPay Server")])],1)])]),t._v(" "),r("svg",{attrs:{width:"0",height:"0",xmlns:"http://www.w3.org/2000/svg"}},[r("defs",[r("linearGradient",{attrs:{id:"spiral-gradient",x1:"81.36",y1:"311.35",x2:"541.35",y2:"311.35",gradientUnits:"userSpaceOnUse"}},[r("stop",{attrs:{offset:".18","stop-color":"#00f"}}),r("stop",{attrs:{offset:"1","stop-color":"#f0f"}})],1),t._v(" "),r("radialGradient",{attrs:{id:"acinq-a",cx:"47.833",cy:"51.834",r:"56.832"}},[r("stop",{attrs:{offset:"0","stop-color":"#fff"}}),r("stop",{attrs:{offset:"1","stop-color":"#fff","stop-opacity":"0"}})],1)],1),t._v(" "),r("symbol",{attrs:{id:"supporter-spiral",viewBox:"0 0 629 629"}},[r("path",{attrs:{d:"M326.4 572.09C201.2 572.09 141 503 112.48 445c-28.22-57.53-30.59-114.56-30.79-122.69-4.85-77 41-231.78 249.58-271.2a28.05 28.05 0 0 1 10.41 55.13c-213.12 40.28-204.44 206-204 213 0 .53.06 1.06.07 1.6.15 7.9 5.1 195.16 188.65 195.16 68.34 0 116.6-29.4 143.6-87.37 24.48-52.74 19.29-112.45-13.52-155.83-22.89-30.27-52.46-45-90.38-45-34.46 0-63.47 9.88-86.21 29.37A91.5 91.5 0 0 0 248 322.3c-1.41 25.4 7.14 49.36 24.07 67.49C287.27 406 305 413.9 326.4 413.9c27.46 0 45.52-9 53.66-26.81 8.38-18.3 3.61-38.93-.19-43.33-9.11-10-18.69-13.68-22.48-13-2.53.43-5.78 4.61-8.48 10.92a28 28 0 0 1-51.58-22c14.28-33.44 37.94-42 50.76-44.2 24.78-4.18 52.17 7.3 73.34 30.65s25.51 68.55 10.15 103.22C421.54 432 394.52 470 326.4 470c-36.72 0-69.67-14.49-95.29-41.92-27.47-29.4-41.34-68.08-39.11-108.89a149.1 149.1 0 0 1 51.31-104.6c33.19-28.45 74.48-42.87 122.71-42.87 55.12 0 101.85 23.25 135.12 67.23 45.36 60 52.9 141.71 19.66 213.3-25.35 54.67-79.68 119.84-194.4 119.84Z",fill:"url(#spiral-gradient)"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-bailliegifford",viewBox:"0 0 252.875 70.249"}},[r("path",{staticStyle:{fill:"var(--btcpay-body-text)","fill-opacity":"1",stroke:"var(--btcpay-body-text)","stroke-opacity":"1"},attrs:{d:"M366.764 291.907h4.554l-5.046 12.789h-4.553zM377.541 302.546h4.675l-.849 2.15h-9.229l5.046-12.789h4.554zM389.988 302.546h4.676l-.849 2.15h-9.229l5.045-12.789h4.554zM403.079 291.907h4.554l-5.046 12.789h-4.553zM418.795 302.487l-.871 2.209h-9.471l5.046-12.789h9.397l-.871 2.209h-4.844l-1.139 2.887h4.457l-.826 2.093h-4.457l-1.338 3.391zM445.115 294.349a6.207 6.207 0 0 0-2.213-.407c-3.344 0-4.898 3.391-5.35 4.535-.682 1.725-1.15 3.469.277 4.147.49.232 1.135.252 1.402.252l1.186-3.004h-1.648l.795-2.015h5.766l-2.4 6.084c-1.66.523-3.16.95-5.268.95-4.748 0-6.602-2.732-5.109-6.511 1.566-3.973 5.77-6.647 10.566-6.647 1.842 0 2.971.33 3.777.62l-1.781 1.996zM453.309 291.907h4.554l-5.045 12.789h-4.554zM458.684 304.696l5.045-12.789h9.398l-.871 2.209h-4.844l-1.269 3.217h4.457l-.871 2.209h-4.458l-2.033 5.154zM472.639 304.696l5.047-12.789h9.398l-.871 2.209h-4.846l-1.269 3.217h4.459l-.873 2.209h-4.457l-2.034 5.154z",transform:"translate(-293.5 -262.775)"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)","fill-opacity":"1","fill-rule":"evenodd",stroke:"var(--btcpay-body-text)","stroke-opacity":"1"},attrs:{d:"M335.139 302.643c.557 0 1.187 0 1.747-.252.576-.232 1.106-.717 1.489-1.686.336-.854.189-1.279-.211-1.492-.376-.213-1.006-.213-1.612-.213h-.63l-1.438 3.643h.655zm2.154-5.523c.46 0 .993 0 1.521-.232.496-.213.986-.659 1.33-1.531.283-.717.162-1.085-.181-1.259-.319-.175-.852-.175-1.409-.175h-.63l-1.262 3.198h.631v-.001zm2.832-5.213c1.187 0 2.578.097 3.531.504.954.407 1.47 1.124.966 2.403-.727 1.841-2.749 2.732-4.501 3.12.502.077 1.378.252 2.05.698.647.445 1.06 1.182.578 2.403-.443 1.124-1.742 2.636-4.352 3.294-.995.252-2.107.368-4.481.368h-4.651l5.045-12.79h5.815zM350.689 300.201h2.833l.017-3.605-2.85 3.605zm6.664-8.294.792 12.79h-4.651l-.017-2.597h-4.288l-2.066 2.597h-3.149l10.714-12.79h2.665zM492.998 302.875c.922 0 2.209-.504 3.793-4.515 1.451-3.682 1.238-4.612-.047-4.612-1.283 0-2.363.775-3.955 4.806-1.07 2.713-1.316 4.321.209 4.321zm4.59-11.143c3.561 0 6.08 1.841 4.299 6.356-1.482 3.759-4.936 6.802-9.707 6.802-4.555 0-5.779-2.791-4.295-6.55 1.65-4.185 5.635-6.608 9.703-6.608zM512.328 293.922l-1.469 3.721h.484c1.502 0 2.234-.445 2.793-1.86.582-1.473.25-1.86-1.324-1.86h-.484v-.001zm1.254-2.015c2.398 0 3.312.078 4.168.426.814.33 1.785 1.124 1.166 2.694-.58 1.473-2.047 2.732-4.277 3.353l1.916 6.317h-4.893l-.965-5.29h-.533l-2.088 5.29h-4.408l5.047-12.79h4.867zM528.418 293.961l-3.424 8.682h.387c1.115 0 2.955.368 4.906-4.573 1.619-4.108.264-4.108-1.385-4.108h-.484v-.001zm.811-2.054c2.254 0 4.336 0 5.549 1.163 1.461 1.396.748 3.818.334 4.864-.727 1.841-2.406 4.748-6.227 6.143-1.24.446-2.498.62-5.09.62h-4.166l5.047-12.79h4.553z","clip-rule":"evenodd",transform:"translate(-293.5 -262.775)"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)","fill-opacity":"1",stroke:"var(--btcpay-body-text)","stroke-opacity":"1"},attrs:{d:"M294 297.4c0-19.399 57.138-35.125 127.624-35.125 62.064 0 113.781 12.192 125.251 28.35-13.078-12.792-58.92-22.238-113.465-22.238-64.731 0-117.206 13.303-117.206 29.714 0 16.411 52.474 29.715 117.206 29.715 47.799 0 88.914-7.254 107.154-17.656-18.555 13.09-64.812 22.364-118.941 22.364C351.138 332.524 294 316.799 294 297.4z",transform:"translate(-293.5 -262.775)"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-coincards",viewBox:"0 0 64 32"}},[r("g",{attrs:{fill:"none"}},[r("path",{attrs:{d:"M32.7 5.9c-.2-1-1.3-1.7-2.3-1.4L7.7 9.9c-1 .2-1.7 1.3-1.4 2.3l3.1 12.9c.2 1 1.3 1.7 2.3 1.4l22.7-5.4c1-.2 1.7-1.3 1.4-2.3L32.7 5.9Z",fill:"#EF8022"}}),r("path",{attrs:{d:"M12.6 30.3c-.2.2-.5.3-.7.3l.8.5c.9.6 2.1.4 2.7-.5l3.1-4.4-5.9 4.1ZM2.3 19.5l-1 1.4c-.6.9-.4 2.1.5 2.7L8.1 28l-5.8-8.5ZM12.9 8.1l7.2-5-2.7-1.9c-.9-.6-2.1-.4-2.7.5l-5 7.2 3.2-.8Z",fill:"#F9F185"}}),r("path",{attrs:{d:"M9.7 29.4c.6.9 1.8 1.1 2.7.5l6.7-4.6-7.4 1.8c-1.3.3-2.6-.5-2.9-1.8L6 13.5l-3.3 2.3c-.9.6-1.1 1.8-.5 2.7l7.5 10.9Zm4.5-21.6L25.9 5l-1.3-2c-.6-.9-1.8-1.1-2.7-.5l-7.7 5.3Z",fill:"#FFC214"}}),r("path",{attrs:{d:"M11.9 24.8c-.7 0-1.4-.5-1.7-1.1l-1.5-3.2 1.1 4.6c.2.6.7 1.1 1.4 1.1h.3l17-4.1-16.2 2.7h-.4Z",fill:"#FFC214"}}),r("path",{attrs:{d:"M16 17.5s-1.1 1.2-2.5 1.2c-1.7 0-2.6-1.4-2.6-2.8 0-1.3.9-2.7 2.6-2.7 1.3 0 2.3 1 2.3 1l1.1-1.7s-.6-.7-1.9-1.1v-1.2h-1.1v1h-.6v-1h-1.1v1.1c-2.2.5-3.7 2.4-3.7 4.7 0 2.4 1.5 4.2 3.7 4.7v1.2h1.1v-1h.6V22H15v-1.3c1.4-.4 2.1-1.3 2.1-1.3L16 17.5ZM21 13.7c2.1 0 3.8 1.4 3.8 3.6 0 2.1-1.7 3.5-3.8 3.5-2.1 0-3.8-1.4-3.8-3.5s1.7-3.6 3.8-3.6Zm0 5.2c.8 0 1.5-.6 1.5-1.6s-.7-1.7-1.5-1.7-1.5.6-1.5 1.7c0 1 .7 1.6 1.5 1.6Zm4.3-5h2.3v6.7h-2.3v-6.7Zm0-2.6h2.2v1.8h-2.2v-1.8Zm3.2 2.6h2.2v1c.3-.5 1-1.2 2.1-1.2 1.4 0 2.4.6 2.4 2.5v4.4h-2.3v-4c0-.6-.2-.9-.7-.9-.7 0-1.1.4-1.3 1-.1.3-.1.6-.1.9v3h-2.3v-6.7Z",fill:"#FFF"}}),r("path",{attrs:{d:"M39.3 13.9c1.7 0 2.5 1 2.5 1l-.6.9s-.7-.8-1.8-.8c-1.3 0-2.3 1-2.3 2.4 0 1.3 1 2.4 2.3 2.4 1.2 0 2-.9 2-.9l.5.9s-.9 1.1-2.6 1.1c-2.1 0-3.5-1.5-3.5-3.5-.1-2 1.4-3.5 3.5-3.5Zm6.8 2.6h.3v-.1c0-1.1-.6-1.5-1.5-1.5-1 0-1.8.6-1.8.6l-.5-.9s1-.8 2.5-.8c1.7 0 2.6.9 2.6 2.6v4.2h-1.2v-1.1s-.5 1.3-2.1 1.3c-1.1 0-2.3-.7-2.3-2 0-2.2 2.9-2.3 4-2.3Zm-1.4 3.3c1.1 0 1.8-1.1 1.8-2.1v-.2h-.3c-1 0-2.7.1-2.7 1.3-.1.5.3 1 1.2 1Zm3.8-5.8h1.2v1.7c.3-1 1.1-1.7 2.1-1.7h.3v1.3h-.4c-.8 0-1.6.6-1.9 1.6-.1.4-.2.8-.2 1.2v2.7h-1.3V14h.2Zm6.8-.1c1.5 0 2 1 2 1v-3.5h1.3v9.2h-1.2v-1s-.5 1.2-2.2 1.2c-1.8 0-2.9-1.4-2.9-3.5s1.3-3.4 3-3.4Zm.2 5.8c1 0 1.9-.7 1.9-2.4 0-1.2-.6-2.4-1.9-2.4-1 0-1.9.9-1.9 2.4s.8 2.4 1.9 2.4Zm4.2-.8s.7.8 1.9.8c.5 0 1.1-.3 1.1-.8 0-1.2-3.4-1-3.4-3.1 0-1.2 1.1-1.9 2.4-1.9 1.5 0 2.1.7 2.1.7l-.5 1s-.6-.6-1.6-.6c-.5 0-1.1.2-1.1.8 0 1.2 3.4.9 3.4 3.1 0 1.1-.9 1.9-2.4 1.9-1.6 0-2.5-1-2.5-1l.6-.9Z",fill:"#EF8022"}})])]),t._v(" "),r("symbol",{attrs:{id:"supporter-acinq",viewBox:"0 0 103 107"}},[r("circle",{attrs:{fill:"url(#acinq-a)",cx:"47.833",cy:"51.833",r:"56.832"}}),r("g",[r("g",{attrs:{fill:"none","stroke-width":"6","stroke-linejoin":"round"}},[r("path",{attrs:{stroke:"#47BF94",d:"M4.493 79.67c-6.778-11.574 21.882-35.135 41.646-39.636 16.598-3.78 55.176 4.066 53.752 17.433"}}),r("path",{attrs:{stroke:"#359F7E",d:"M10.125 18.133c8.624-9.988 41.797 13.701 51.001 30.018 9.723 17.237 12.87 55.271-1.103 55.351"}}),r("path",{attrs:{stroke:"#49DAAA",d:"M69.826 4.107c12.025 5.964 3.838 38.632-11.184 57.28C47.846 74.79 11.659 91.904 4.493 79.67"}}),r("path",{attrs:{stroke:"#49DAAA",d:"M99.891 57.467C98.471 70.799 62.529 72.9 43.83 64.781c-17.92-7.783-42.47-36.5-33.706-46.648"}}),r("path",{attrs:{stroke:"#AAF0D3",d:"M60.023 103.502c-14.291.08-24.609-29.721-23.918-51.916.758-24.377 20.678-53.948 33.721-47.479"}})])])]),t._v(" "),r("symbol",{attrs:{id:"supporter-lunanode",viewBox:"0 0 194.219 193.977"}},[r("path",{staticStyle:{fill:"#004581","fill-opacity":"1","fill-rule":"evenodd",stroke:"none"},attrs:{d:"M3185.89 2995.8c-1.77 21.49-2.76 43.2-2.76 65.16 0 411.03 319.09 747.36 723.13 774.95l-618.54-641.7c-54.62-56.68-88.55-126.08-101.83-198.41M3960 2284.09c-270.37 0-508.4 138.15-647.57 347.65l23.25-22.42c76.82-74.06 176.93-109.95 276.2-108.13 99 1.77 197.53 41.2 271.5 117.59l-177.95 171.52c-26.66-27.31-62.22-41.38-98.02-42.14-36.12-.65-72.43 12.41-100.16 39.15l-37.98 36.6c-27.69 26.66-42.04 62.45-42.7 98.57-.65 36.07 12.36 72.48 39.11 100.21l745.68 773.56c305.71-104.45 525.52-394.17 525.52-735.29 0-29.89-1.73-59.34-5.04-88.32-19.44 54.57-51.41 105.56-95.79 148.35l-37.93 36.58c-76.86 74.07-176.93 110.05-276.16 108.18-99.32-1.77-198.13-41.38-272.19-118.25l-290.74-301.59 177.95-171.53 290.74 301.61c26.71 27.73 62.64 42.04 98.72 42.74 36.12.69 72.38-12.35 100.16-39.1l37.89-36.59c27.69-26.66 42.09-62.45 42.74-98.58.61-36.03-12.4-72.48-39.1-100.21l-440.73-457.23c-22.23-1.9-44.69-2.93-67.4-2.93",transform:"matrix(.125 0 0 -.125 -397.891 479.489)"}}),r("path",{staticStyle:{fill:"#3384b9","fill-opacity":"1","fill-rule":"evenodd",stroke:"none"},attrs:{d:"M4376.22 2292.8h360.66v433.41c-17.35-55.88-47.59-108.64-90.81-153.48l-269.85-279.93",transform:"matrix(.125 0 0 -.125 -397.891 479.489)"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-walletofsatoshi",viewBox:"0 0 313.1 76.32"}},[r("path",{attrs:{d:"M110.47 44.8H121c.84 0 1.22-.64.9-1.48l-17.6-42A2 2 0 0 0 102.22 0H87.63a2 2 0 0 0-2 1.34L66 48.11c-.32.84.06 1.48.83 1.48h13.7a1.42 1.42 0 0 1 1.32 1.93l-9.7 24.8 30.55-32.63A1 1 0 0 0 102 42H84.73a1.42 1.42 0 0 1-1.32-2l5.06-12.91 6.86-17.47 6.78 17.51h-7.54a1.42 1.42 0 0 0-1.32.9l-2.83 7.22a1.42 1.42 0 0 0 1.32 1.93H105a1.42 1.42 0 0 1 1.33.91l2.08 5.36a1.92 1.92 0 0 0 2.06 1.35Zm62.65 0h37.42a1.3 1.3 0 0 0 1.46-1.41V35.9a1.3 1.3 0 0 0-1.47-1.41h-26V1.41A1.35 1.35 0 0 0 183 0h-9.92a1.3 1.3 0 0 0-1.47 1.41v42a1.3 1.3 0 0 0 1.51 1.39Zm45.36 0h42a1.3 1.3 0 0 0 1.52-1.41V35.9a1.31 1.31 0 0 0-1.47-1.41h-30.59v-7.36h25.59a1.33 1.33 0 0 0 1.48-1.4v-7a1.33 1.33 0 0 0-1.48-1.41h-25.59v-7h30.59A1.3 1.3 0 0 0 262 8.89V1.41A1.3 1.3 0 0 0 260.53 0h-42A1.3 1.3 0 0 0 217 1.41v42a1.3 1.3 0 0 0 1.48 1.39ZM71.79 0H61.61a1.71 1.71 0 0 0-1.85 1.41L52.08 34.3 44.91 1.41A1.65 1.65 0 0 0 43.12 0H30.38a1.71 1.71 0 0 0-1.85 1.41L21.36 34.3 13.68 1.41A1.65 1.65 0 0 0 11.89 0H1.14C.24 0-.14.51.05 1.41l10.88 42a1.68 1.68 0 0 0 1.79 1.41H28.4a1.65 1.65 0 0 0 1.79-1.41l6.27-28.31 6.34 28.29a1.65 1.65 0 0 0 1.79 1.41H60.2a1.66 1.66 0 0 0 1.8-1.41l10.87-42C73.07.51 72.68 0 71.79 0Zm239.84 0h-43.52a1.3 1.3 0 0 0-1.47 1.41v7.48a1.3 1.3 0 0 0 1.47 1.41h15.29v33.09a1.3 1.3 0 0 0 1.48 1.41h10a1.33 1.33 0 0 0 1.47-1.41V10.3h15.3a1.3 1.3 0 0 0 1.47-1.41V1.41A1.3 1.3 0 0 0 311.63 0ZM127.76 44.8h37.42a1.3 1.3 0 0 0 1.47-1.41V35.9a1.3 1.3 0 0 0-1.47-1.41h-26V1.41a1.35 1.35 0 0 0-1.5-1.41h-9.92a1.3 1.3 0 0 0-1.47 1.41v42a1.3 1.3 0 0 0 1.47 1.39Zm-3.84 9.6h-11.53c-3.13 0-4.53 1.31-4.53 4.36v10.37c0 3.05 1.4 4.36 4.53 4.36h11.53c3.16 0 4.51-1.31 4.51-4.36V58.76c0-3.05-1.35-4.36-4.51-4.36Zm-1 12.95c0 1.48-.29 1.75-2.07 1.75h-5.51c-1.76 0-2.08-.27-2.08-1.75v-6.81c0-1.47.32-1.75 2.08-1.75h5.51c1.78 0 2.07.28 2.07 1.75Zm51.87-5.59h-8.75c-.89 0-1.16-.27-1.16-.95v-1.06c0-.68.27-1 1.16-1h6.7c.65 0 .89.28.89.85v.16a.55.55 0 0 0 .62.6h4a.55.55 0 0 0 .62-.6v-1.08c0-3.21-1.11-4.28-4.4-4.28H164c-3.19 0-4.51 1.31-4.51 4.36v2.84c0 3.06 1.32 4.36 4.51 4.36h8.74c.9 0 1.17.28 1.17 1v1.23c0 .68-.27.95-1.17.95h-7.34c-.62 0-.86-.27-.86-.85v-.16a.56.56 0 0 0-.62-.6h-4a.55.55 0 0 0-.62.6v1.12c0 3.22 1.08 4.28 4.4 4.28h11.2c3.19 0 4.51-1.31 4.51-4.36v-3c-.06-3.1-1.41-4.41-4.57-4.41Zm85.43 0h-8.75c-.89 0-1.16-.27-1.16-.95v-1.06c0-.68.27-1 1.16-1h6.7c.64 0 .89.28.89.85v.16a.55.55 0 0 0 .62.6h4a.55.55 0 0 0 .62-.6v-1.08c0-3.21-1.11-4.28-4.4-4.28h-10.48c-3.19 0-4.51 1.31-4.51 4.36v2.84c0 3.06 1.32 4.36 4.51 4.36h8.74c.89 0 1.16.28 1.16 1v1.23c0 .68-.27.95-1.16.95h-7.34c-.62 0-.86-.27-.86-.85v-.16a.57.57 0 0 0-.62-.6h-4.05a.55.55 0 0 0-.62.6v1.12c0 3.22 1.08 4.28 4.4 4.28h11.2c3.18 0 4.51-1.31 4.51-4.36v-3c0-3.1-1.33-4.41-4.51-4.41Zm26.65-7.36h-4.21a.56.56 0 0 0-.63.6v6.66h-9.2V55a.57.57 0 0 0-.65-.6H268a.55.55 0 0 0-.62.6v17.89a.55.55 0 0 0 .62.6h4.18a.57.57 0 0 0 .65-.6v-6.84h9.2v6.84a.56.56 0 0 0 .63.6h4.21a.55.55 0 0 0 .62-.6V55a.55.55 0 0 0-.57-.6Zm-137.62 0h-17.07a.55.55 0 0 0-.62.6v17.89a.55.55 0 0 0 .62.6h4.19a.58.58 0 0 0 .65-.6v-6.52h10.15a.57.57 0 0 0 .64-.6v-3.19a.57.57 0 0 0-.64-.6H137v-3.19h12.3a.55.55 0 0 0 .62-.6V55a.55.55 0 0 0-.62-.6Zm146.47 0h-4.18a.55.55 0 0 0-.62.6v17.89a.55.55 0 0 0 .62.6h4.18a.57.57 0 0 0 .65-.6V55a.57.57 0 0 0-.6-.6Zm-100.28.6a.83.83 0 0 0-.86-.57h-6.16a.83.83 0 0 0-.89.57l-7.42 17.89c-.14.36 0 .63.38.63h4.45a.8.8 0 0 0 .86-.57l1-2.68h9.1l1 2.68a.8.8 0 0 0 .87.57h4.69c.33 0 .49-.27.35-.63Zm-7 11 2.89-7.52 2.92 7.52Zm30.9-11.6H201a.55.55 0 0 0-.62.6v3.19a.55.55 0 0 0 .62.6h6.45v14.1a.55.55 0 0 0 .62.6h4.21a.56.56 0 0 0 .62-.6v-14.1h6.46a.55.55 0 0 0 .62-.6V55a.55.55 0 0 0-.64-.6Zm18.46 0h-11.52c-3.13 0-4.54 1.31-4.54 4.36v10.37c0 3.05 1.41 4.36 4.54 4.36h11.52c3.16 0 4.51-1.31 4.51-4.36V58.76c0-3.05-1.31-4.36-4.51-4.36Zm-.94 12.95c0 1.48-.3 1.75-2.08 1.75h-5.51c-1.75 0-2.07-.27-2.07-1.75v-6.81c0-1.47.32-1.75 2.07-1.75h5.51c1.78 0 2.08.28 2.08 1.75Z",fill:"#fad228",stroke:"#1e2127","stroke-width":"2"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-nomics",viewBox:"0 0 600 600"}},[r("path",{attrs:{d:"M273.56 133A136.81 136.81 0 0 0 0 136.86v326.28a136.8 136.8 0 0 0 233.57 96.75L326.44 467A136.81 136.81 0 0 0 600 463.14V136.86a136.8 136.8 0 0 0-233.57-96.75L273.56 133",fill:"#a0f"}}),r("ellipse",{attrs:{cx:"302.18",cy:"300.04",rx:"136.81",ry:"136.86",fill:"#fff"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-ivpn",viewBox:"0 0 84 29"}},[r("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M6.75 0h6.03c.07 0 .15.03.2.1.04.05.06.13.05.2L8.6 27.43a.26.26 0 0 1-.24.22l-6.63.38H1.7a.25.25 0 0 1-.19-.08.26.26 0 0 1-.06-.22L5.2 5.05C5.12 1.67 1 .85.49.73-.06.59 0 0 0 0h6.75Zm32.32.12a.25.25 0 0 0-.22-.12h-6.5c-.1 0-.18.05-.23.14l-8.98 17.4L20.08.2a.25.25 0 0 0-.24-.21h-6.55a.25.25 0 0 0-.2.1.26.26 0 0 0-.05.2l4.85 26.05a.25.25 0 0 0 .26.2l7.57-.43c.08 0 .16-.06.2-.14L39.08.38a.26.26 0 0 0-.01-.26Zm20.27 5.5a6.8 6.8 0 0 0-.53-2.08c-.27-.6-.61-1.1-1.01-1.5-.4-.41-.8-.75-1.23-1A8.23 8.23 0 0 0 52.9 0H40.47a.25.25 0 0 0-.25.2l-4.01 24.6c-.01.07.01.14.06.2.05.05.11.08.18.08h.02l6.25-.36c.11 0 .2-.1.22-.21l.75-4.63h6.08c1.39-.09 2.7-.43 3.89-1.03a9.75 9.75 0 0 0 2.99-2.46 9.9 9.9 0 0 0 2-4.76l.56-3.3c.17-1.02.21-1.93.13-2.71Zm-7.21 5.87a2.53 2.53 0 0 1-1.1 1.66c-.27.18-.64.27-1.1.27H44.7l1.1-7h5.3c.45 0 .78.09.97.27.22.2.38.41.47.65.1.27.13.6.1.95l-.52 3.2ZM83.75 0h-6.32c-.12 0-.23.1-.25.22l-2.25 14.34L70.04.17a.25.25 0 0 0-.23-.17H63.5c-.12 0-.23.1-.25.22l-3.86 24.56c-.01.07.01.16.06.22.05.05.12.08.19.08l6.43-.39c.12 0 .21-.1.23-.22l1.62-10.36 3.4 10.08c.04.1.14.17.25.17l8.58-.52c.11 0 .2-.1.23-.22L84 .3a.27.27 0 0 0-.06-.22.24.24 0 0 0-.19-.09Z",fill:"#F34"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-strike",viewBox:"0 0 155 120"}},[r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M7.06565 43.2477C1.90963 41.2685 -0.665684 35.4843 1.31353 30.3283C3.29274 25.1722 9.07699 22.5969 14.233 24.5761L51.4526 38.8634C51.4937 38.8798 51.535 38.896 51.5765 38.9119L70.2481 46.0792C75.4041 48.0584 81.1883 45.4831 83.1675 40.3271C85.1468 35.1711 82.5714 29.3868 77.4154 27.4076L77.4132 27.4068C77.4139 27.4064 77.4145 27.406 77.4151 27.4056L58.7436 20.2383C53.5876 18.2591 51.0123 12.4749 52.9915 7.31885C54.9707 2.16283 60.755 -0.412485 65.911 1.56673L120.828 22.6473C120.959 22.6977 121.089 22.7506 121.217 22.8059C121.453 22.8928 121.69 22.9815 121.926 23.0721C147.706 32.9681 160.583 61.8894 150.686 87.6695C140.79 113.45 111.869 126.326 86.089 116.43C85.5927 116.24 85.1011 116.042 84.6144 115.838C84.3783 115.766 84.1431 115.686 83.9091 115.596L30.0742 94.9308C24.9182 92.9516 22.3428 87.1673 24.3221 82.0113C26.3013 76.8553 32.0855 74.2799 37.2415 76.2592L55.9106 83.4256C55.9103 83.4242 55.9099 83.4229 55.9095 83.4215L55.9133 83.423C61.0694 85.4022 66.8536 82.8269 68.8328 77.6709C70.812 72.5148 68.2367 66.7306 63.0807 64.7514L54.6786 61.5261C54.6787 61.5257 54.6788 61.5252 54.6789 61.5247L7.06565 43.2477Z"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-hrf",viewBox:"0 0 3000 987.6"}},[r("path",{attrs:{d:"M1137.09 103.9v773.45h-51.44V515.96h-953.6v361.38H80.62V103.9h51.44v361.2h953.6V103.9h51.43zm-102.77 0h-51.44v258.19H234.94V103.9H183.5v309.05h850.82V103.9zm-696.29 0h-50.87v205.84h50.87V103.9zm593.05 0h-51.44v205.84h51.44V103.9zM183.5 877.34h51.44V619.16h747.94v258.19h51.44V567.72H183.5v309.62zm695.72 0h51.44V670.93h-51.44v206.41zm-592.47 0h51.44V670.93h-51.44v206.41z",fill:"#e12991"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M1422.94 103.88V331.3h-44.51v-94.22h-92.2v94.22h-44.83V103.88h44.83v90.32h92.2v-90.32h44.51zM1605.81 168.85V331.3h-41.91v-18.19c-9.75 14.62-26.64 22.74-48.41 22.74-34.44 0-61.4-24.04-61.4-67.25v-99.74H1496v94.54c0 22.1 13.32 33.47 32.16 33.47 20.47 0 35.74-12.02 35.74-40.29v-87.72h41.91zM1885.19 231.23V331.3h-41.91v-97.14c0-19.17-9.75-30.86-27.29-30.86-18.52 0-30.22 12.35-30.22 36.71v91.29h-41.91v-97.14c0-19.17-9.75-30.86-27.29-30.86-17.87 0-30.54 12.35-30.54 36.71v91.29h-41.91V168.85h41.91v17.22c9.1-13.64 24.37-21.77 45.16-21.77 20.14 0 35.09 8.45 44.18 23.39 10.07-14.62 26.32-23.39 48.41-23.39 37.04.01 61.41 26.32 61.41 66.93zM2086.24 168.85V331.3h-41.91v-19.17c-11.7 14.62-29.24 23.72-52.96 23.72-43.21 0-78.95-37.36-78.95-85.77s35.74-85.77 78.95-85.77c23.72 0 41.26 9.1 52.96 23.72v-19.17h41.91zm-41.91 81.23c0-27.29-19.17-45.81-45.16-45.81-25.66 0-44.83 18.52-44.83 45.81 0 27.29 19.17 45.81 44.83 45.81 25.99 0 45.16-18.52 45.16-45.81zM2275.93 231.56v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V168.85h41.91v18.19c9.75-14.62 26.64-22.74 48.41-22.74 34.44.01 61.4 24.05 61.4 67.26zM1316.47 525.36h-30.25v78.95h-44.83V376.89h94.84c41.91 0 75.7 33.79 75.7 75.37 0 28.59-17.87 54.26-43.86 66.28l50.36 85.77h-48.41l-53.55-78.95zm-30.25-39.31h50c16.89 0 30.86-14.95 30.86-33.79s-13.97-33.46-30.86-33.46h-50v67.25zM1437.88 396.71c0-13.97 15.57-25.99 29.54-25.99 14.29 0 22.12 12.02 22.12 25.99s-11.7 25.67-25.99 25.67c-13.97 0-25.67-11.7-25.67-25.67zm4.88 45.16h41.91v162.45h-41.91V441.87zM1681.86 441.87v154.65c0 53.28-41.91 77.33-84.8 77.33-34.77 0-62.7-13.32-77-39.64l35.74-20.47c6.82 12.67 17.54 22.74 42.56 22.74 26.31 0 42.56-14.29 42.56-39.96v-17.54c-11.37 15.27-28.92 24.69-51.98 24.69-46.14 0-80.9-37.36-80.9-83.17 0-45.48 34.76-83.17 80.9-83.17 23.07 0 40.61 9.42 51.98 24.69v-20.14h40.94zm-40.94 78.62c0-25.67-19.17-44.18-45.49-44.18-26.31 0-45.48 18.52-45.48 44.18 0 25.99 19.17 44.51 45.48 44.51 26.32 0 45.49-18.52 45.49-44.51zM1871.55 504.57v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V376.89h41.91v83.17c9.75-14.62 26.64-22.74 48.41-22.74 34.44 0 61.4 24.04 61.4 67.25zM1963.46 482.15v67.58c0 17.54 12.67 17.87 36.71 16.57v38.01c-58.81 6.5-78.62-10.72-78.62-54.58v-67.58h-28.27v-40.29h28.27v-32.81l41.91-12.67v45.48h36.71v40.29h-36.71zM2148.63 556.88c0 35.09-30.54 51.98-65.31 51.98-32.49 0-56.53-13.64-68.22-38.66l36.39-20.47c4.55 13.32 15.6 21.12 31.84 21.12 13.32 0 22.42-4.55 22.42-13.97 0-23.72-83.82-10.72-83.82-67.9 0-33.14 28.27-51.66 61.73-51.66 26.32 0 49.06 12.02 61.73 34.44l-35.74 19.49c-4.88-10.4-13.97-16.57-25.99-16.57-10.4 0-18.84 4.55-18.84 13.32-.01 24.04 83.81 9.1 83.81 68.88zM1286.22 692.79v53.93h96.11v42.89h-96.11v87.72h-44.83V649.9h143.54v42.88h-98.71zM1400.82 796.1c0-48.41 38.01-85.77 85.77-85.77s86.1 37.36 86.1 85.77-38.34 85.77-86.1 85.77c-47.76 0-85.77-37.36-85.77-85.77zm129.96 0c0-26.31-19.17-44.83-44.19-44.83-24.69 0-43.86 18.52-43.86 44.83 0 26.32 19.17 44.83 43.86 44.83 25.02.01 44.19-18.51 44.19-44.83zM1744.84 714.88v162.45h-41.91v-18.19c-9.75 14.62-26.64 22.74-48.41 22.74-34.44 0-61.4-24.04-61.4-67.25v-99.74h41.91v94.54c0 22.1 13.32 33.47 32.16 33.47 20.47 0 35.74-12.02 35.74-40.29v-87.72h41.91zM1934.86 777.58v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V714.88h41.91v18.19c9.75-14.62 26.64-22.74 48.41-22.74 34.44 0 61.4 24.04 61.4 67.25zM2135.61 649.9v227.42h-41.91v-19.17c-11.7 14.95-28.92 23.72-52.63 23.72-43.54 0-79.27-37.36-79.27-85.77s35.74-85.77 79.27-85.77c23.72 0 40.94 8.77 52.63 23.72V649.9h41.91zm-41.91 146.2c0-27.29-19.17-45.81-44.84-45.81-25.99 0-45.16 18.52-45.16 45.81 0 27.29 19.17 45.81 45.16 45.81 25.67.01 44.84-18.51 44.84-45.81zM2337.35 714.88v162.45h-41.91v-19.17c-11.7 14.62-29.24 23.72-52.96 23.72-43.21 0-78.95-37.36-78.95-85.77s35.74-85.77 78.95-85.77c23.72 0 41.26 9.1 52.96 23.72v-19.17h41.91zm-41.91 81.22c0-27.29-19.17-45.81-45.16-45.81-25.66 0-44.83 18.52-44.83 45.81 0 27.29 19.17 45.81 44.83 45.81 25.99.01 45.16-18.51 45.16-45.81zM2433.46 755.17v67.58c0 17.54 12.67 17.87 36.71 16.57v38.01c-58.81 6.5-78.62-10.72-78.62-54.58v-67.58h-28.26v-40.29h28.26v-32.81l41.91-12.67v45.48h36.71v40.29h-36.71zM2494.84 669.72c0-13.97 11.7-25.99 25.67-25.99 14.29 0 25.99 12.02 25.99 25.99s-11.7 25.66-25.99 25.66c-13.97.01-25.67-11.69-25.67-25.66zm4.87 45.16h41.91v162.45h-41.91V714.88zM2565 796.1c0-48.41 38.01-85.77 85.77-85.77s86.1 37.36 86.1 85.77-38.34 85.77-86.1 85.77c-47.76 0-85.77-37.36-85.77-85.77zm129.96 0c0-26.31-19.17-44.83-44.19-44.83-24.69 0-43.86 18.52-43.86 44.83 0 26.32 19.17 44.83 43.86 44.83 25.02.01 44.19-18.51 44.19-44.83zM2911.62 777.58v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V714.88h41.91v18.19c9.75-14.62 26.64-22.74 48.41-22.74 34.44 0 61.4 24.04 61.4 67.25z"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-esc",viewBox:"0 0 74.222 74.044"}},[r("g",{staticStyle:{fill:"var(--btcpay-body-text)"}},[r("path",{staticStyle:{"stroke-width":"1.91694"},attrs:{d:"M625.227 7403.82c-287.542-92.014-494.572-337.383-538.662-640.26-21.087-157.19-21.087-5869.689 0-6026.878 46.007-308.628 260.704-557.832 555.914-646.01C736.41 63.833 1046.955 60 3769.018 60s3032.608 3.834 3126.539 30.671c295.21 88.18 509.907 337.383 555.914 646.01 21.086 157.19 21.086 5869.69 0 6026.879-46.007 308.628-260.705 557.83-555.914 646.01-93.93 26.838-404.476 30.672-3134.207 28.755-2842.83 0-3036.442-1.917-3136.123-34.505zm6208.987-299.044c120.768-42.173 187.861-97.764 251.12-207.03l57.509-99.681V702.177l-57.509-99.681c-63.259-109.266-130.352-164.858-251.12-207.03-120.767-44.09-6009.625-44.09-6130.393 0-120.767 42.172-187.86 97.764-251.12 207.03l-57.508 99.68v6095.889l57.509 99.68c61.342 105.433 130.352 164.858 243.452 207.031 113.1 40.256 6021.127 42.173 6138.06 0z",transform:"matrix(.0098 0 0 .0098 .182 .285)"}}),r("path",{staticStyle:{"stroke-width":"1.91694"},attrs:{d:"M1934.5 4967.381c-272.206-55.591-492.654-249.203-582.75-511.824-32.59-97.764-36.423-162.94-36.423-705.436 0-542.496 3.834-607.672 36.422-705.436 74.761-216.615 241.535-391.057 456.233-475.403 103.515-42.173 139.937-44.09 529.077-46.007h419.811l46.007 53.675c59.425 69.01 59.425 136.103-1.917 195.528-46.007 47.924-49.84 47.924-398.725 47.924-433.23 0-513.741 19.17-646.01 151.439-113.1 113.1-134.186 180.193-134.186 425.562v185.944l59.425 11.501c32.588 5.751 291.376 11.502 575.084 11.502h513.741l38.339 49.84c51.758 65.177 51.758 122.685 0 187.861l-38.339 49.84h-513.741c-283.708 0-542.496 5.752-577.001 11.502l-61.342 13.419 5.75 224.283c7.668 207.03 11.502 230.033 61.343 302.877 69.01 107.35 185.943 187.86 302.877 212.781 51.758 11.502 247.286 21.087 431.313 21.087 329.715 0 335.465 0 381.472 47.923 61.342 59.425 61.342 126.519 1.917 195.529l-46.007 53.674-371.887 3.834c-203.196 1.917-406.393-5.75-450.482-13.419zM3677.004 2553.947c-208.947 55.59-368.053 189.777-461.984 389.14-42.172 92.013-49.84 134.186-49.84 279.874 0 157.19 5.75 185.943 63.259 300.96 70.927 143.771 184.027 254.954 325.88 323.964 67.094 32.588 145.689 46.007 312.463 57.508 251.12 17.253 289.459 28.755 379.555 105.432 228.117 191.695 147.605 565.5-139.937 649.845-70.927 21.086-197.445 28.754-481.153 28.754-379.555 0-387.223 0-427.48 44.09-57.507 61.342-55.59 147.605 7.669 207.03 49.84 46.007 49.84 46.007 492.655 46.007 412.143-1.917 452.4-3.834 550.163-44.09 153.356-61.342 293.293-191.694 368.054-345.05 57.508-115.017 63.26-143.771 63.26-300.96 0-157.19-5.752-185.944-63.26-300.961-69.01-143.771-184.027-254.954-325.88-323.964-69.011-32.588-141.855-46.007-312.463-57.508-164.857-11.502-243.452-24.92-300.96-53.675-237.702-120.767-283.709-415.977-93.931-611.506 97.764-101.598 195.529-118.85 638.343-118.85h389.14l38.339-49.84c59.425-74.762 51.758-147.606-19.17-207.031l-59.425-49.84-394.89 1.916c-279.875 0-427.48 9.585-498.407 28.755zM5630.372 4965.465c-299.043-57.509-546.33-297.127-613.423-594.254-26.837-109.266-26.837-1132.915 0-1242.18 69.01-302.878 314.38-538.663 621.091-594.254 174.442-32.588 745.692-26.837 812.785 7.668 84.346 42.173 107.35 153.356 47.924 230.033-26.837 36.422-57.509 38.34-435.147 47.924-392.974 9.585-410.226 13.419-504.157 61.342-113.1 59.426-193.611 157.19-230.033 279.874-38.34 124.602-38.34 1054.32 0 1178.922 36.422 120.768 122.684 226.2 235.784 281.791 88.18 46.007 111.183 47.924 484.987 53.675 368.054 5.75 394.891 9.584 437.064 47.923 23.003 21.087 42.173 61.343 42.173 92.014 0 153.355-49.84 170.608-473.486 168.691-187.86-1.917-379.555-9.585-425.562-19.17z",transform:"matrix(.0098 0 0 .0098 .182 .285)"}})])]),t._v(" "),r("symbol",{attrs:{id:"supporter-opensats",viewBox:"0 0 5220 720"}},[r("path",{attrs:{d:"M0 435.197L229.609 291.597V288.121L0 144.259V29.0508L334.901 245.894V333.824L0 550.798V435.197Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M486.969 623.844H902.627V719.643H486.969V623.844Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M993.879 291.2C993.879 106.422 1084.61 0 1214.37 0C1344.13 0 1434.86 106.422 1434.86 291.2C1434.86 479.061 1344.13 587.581 1214.37 587.581C1084.61 587.581 993.879 479.061 993.879 291.2ZM1345.12 291.2C1345.12 155.01 1293.16 75.9967 1214.37 75.9967C1135.58 75.9967 1083.62 155.01 1083.62 291.2C1083.62 430.473 1135.58 511.584 1214.37 511.584C1293.16 511.584 1344.85 430.473 1344.85 291.2H1345.12Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M1593.29 154.29H1663.81L1670.37 205.37H1673.13C1711.31 169.634 1764.71 144.258 1814.44 144.258C1925.96 144.258 1988.02 228.713 1988.02 359.855C1988.02 504.111 1897.95 587.911 1797.77 587.911C1759.13 587.911 1713.54 568.829 1677.39 535.454H1675.29L1679.43 612.237V749.936H1593.29V154.29ZM1899.65 359.855C1899.65 271.269 1867.44 215.599 1791.21 215.599C1756.57 215.599 1717.93 232.713 1679.69 272.121V472.112C1714.79 503.914 1754.61 515.455 1781.57 515.455C1848.75 515.717 1899.65 459.851 1899.65 359.855Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M2118.96 365.035C2118.96 227.336 2222.75 143.93 2335.98 143.93C2460.16 143.93 2530.82 225.434 2530.82 343.527C2530.67 359.209 2529.35 374.858 2526.88 390.345H2178.73V327.2H2473.22L2454.52 348.249C2454.52 256.449 2410.17 210.55 2338.47 210.55C2264.41 210.55 2203.66 265.17 2203.66 364.904C2203.66 468.833 2268.8 520.044 2359.79 520.044C2407.09 520.044 2445.08 505.75 2483.39 482.8L2513.56 537.29C2464.7 569.886 2407.32 587.378 2348.57 587.582C2220.39 587.582 2118.96 505.947 2118.96 365.035Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M2658.41 154.29H2729.07L2735.63 221.697H2739.04C2781.55 178.289 2829.83 144.258 2895.17 144.258C2994.1 144.258 3039.17 205.042 3039.17 315.201V577.026H2952.9V326.152C2952.9 252.319 2928.11 218.222 2865.39 218.222C2819.47 218.222 2788.31 240.844 2744.68 285.563V577.026H2658.41V154.29Z",fill:"#FF3300"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M3208.36 504.308L3259.46 444.376C3303 486.486 3360.93 510.468 3421.5 511.455C3493.27 511.455 3533.03 478.669 3533.03 432.77C3533.03 377.362 3491.63 361.953 3435.41 338.217L3355.57 303.333C3297.64 280.514 3234.21 238.614 3234.21 155.143C3234.21 66.8186 3313.65 0.001814 3425.64 0.001814C3492.01 -0.442962 3555.93 25.0654 3603.75 71.0807L3558.87 126.554C3521.22 93.051 3472.3 74.9951 3421.9 75.9985C3362.2 75.9985 3322.11 103.604 3322.11 150.028C3322.11 199.206 3371.05 217.173 3420.98 236.516L3497.93 270.416C3569.04 298.087 3622.18 339.528 3622.18 422.344C3622.18 513.356 3545.36 587.583 3416.78 587.583C3339.11 587.998 3264.34 558.123 3208.36 504.308V504.308Z"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M3762.96 465.557C3762.96 370.741 3849.04 324.055 4062.7 308.186C4059.62 255.73 4031.54 213.896 3956.3 213.896C3905.13 213.896 3854.68 237.304 3813.28 261.5L3780.48 203.994C3827.98 174.684 3898.57 144.062 3971.78 144.062C4088.42 144.062 4148.91 210.945 4148.91 322.678V577.027H4077.73L4070.84 522.144H4068.08C4022.82 557.553 3963.97 587.715 3906.04 587.715C3825.16 587.584 3762.96 540.045 3762.96 465.557ZM4062.7 462.278V363.266C3896.79 375.134 3847.26 408.576 3847.26 459C3847.26 501.489 3885.38 519.063 3930.65 519.063C3975.91 519.063 4018.88 497.883 4062.7 462.278Z"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M4388.81 409.884V222.941H4272.17V158.813L4392.16 154.289L4403.44 20.2617H4475.02V154.289H4674.64V222.941H4475.02V410.146C4475.02 482.864 4500.73 518.076 4577.29 518.076C4610.27 517.981 4642.96 511.847 4673.73 499.979L4691.24 562.992C4648.39 578.951 4603.07 587.274 4557.35 587.581C4430.86 587.581 4388.81 516.043 4388.81 409.884Z"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M4818.71 521.815L4857.09 466.014C4909.9 502.948 4972.98 522.353 5037.43 521.487C5102.31 521.487 5133.34 495.259 5133.34 463.85C5133.34 433.95 5115.76 415 5009.22 393.034C4897.7 369.887 4845.21 331.2 4845.21 267.203C4845.21 196.518 4908.85 143.93 5025.95 143.93C5093.26 143.93 5157.55 170.158 5199.93 198.878L5159.45 252.646C5117.79 224.668 5068.79 209.592 5018.6 209.304C4955.62 209.304 4931.28 234.155 4931.28 263.138C4931.28 295.923 4965.07 309.037 5048.12 326.938C5185.89 357.101 5220.33 392.509 5220.33 458.736C5220.33 529.487 5151.71 587.582 5026.8 587.582C4952.47 586.641 4880.07 563.76 4818.71 521.815V521.815Z"}})])]),t._v(" "),r("div",{staticClass:"supporters"},[r("h3",[t._v("Our Supporters")]),t._v(" "),r("p",[t._v("\n The BTCPay Server Project is proudly supported by these entities through the\n "),r("a",{attrs:{href:"https://foundation.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("BTCPay Server Foundation")]),t._v(".\n ")]),t._v(" "),r("div",{staticClass:"logos"},[r("a",{attrs:{href:"https://spiral.xyz",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{staticStyle:{padding:"5px"},attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-spiral"}})]),t._v("\n Spiral\n ")]),t._v(" "),r("a",{attrs:{href:"https://opensats.org",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"120",height:"100"}},[r("use",{attrs:{href:"#supporter-opensats"}})]),t._v("\n OpenSats\n ")]),t._v(" "),r("a",{attrs:{href:"https://www.bailliegifford.com",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"110",height:"100"}},[r("use",{attrs:{href:"#supporter-bailliegifford"}})]),t._v("\n Baillie Gifford\n ")]),t._v(" "),r("a",{attrs:{href:"https://strike.me",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"55",height:"50"}},[r("use",{attrs:{href:"#supporter-strike"}})]),t._v("\n Strike\n ")]),t._v(" "),r("a",{attrs:{href:"https://hrf.org",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"110",height:"50"}},[r("use",{attrs:{href:"#supporter-hrf"}})]),t._v("\n HRF\n ")]),t._v(" "),r("a",{attrs:{href:"https://escapetoelsalvador.org/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"90"}},[r("use",{attrs:{href:"#supporter-esc"}})]),t._v("\n ESC\n ")]),t._v(" "),r("a",{attrs:{href:"https://www.lunanode.com/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-lunanode"}})]),t._v("\n LunaNode\n ")]),t._v(" "),r("a",{attrs:{href:"https://walletofsatoshi.com/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-walletofsatoshi"}})]),t._v("\n Wallet of Satoshi\n ")]),t._v(" "),r("a",{attrs:{href:"https://coincards.com/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"130",height:"100"}},[r("use",{attrs:{href:"#supporter-coincards"}})]),t._v("\n Coincards\n ")]),t._v(" "),r("a",{attrs:{href:"https://www.ivpn.net/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-ivpn"}})]),t._v("\n IVPN\n ")])]),t._v(" "),r("p",[t._v("If you'd like to support the project, please visit the "),r("a",{attrs:{href:"https://btcpayserver.org/donate/"}},[t._v("donation page")]),t._v(".")])])])}),[],!1,null,null,null);r.default=l.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{805:function(t,r,a){"use strict";a.r(r);var e=a(9),l=Object(e.a)({},(function(){var t=this,r=t._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("div",{staticClass:"topics"},[r("h3",[t._v("Explore by topic")]),t._v(" "),r("ul",[r("li",[r("RouterLink",{attrs:{to:"/Guide/"}},[t._v("What is BTCPay Server")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/UseCase/"}},[t._v("Why BTCPay Server")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/TryItOut/"}},[t._v("How to deploy BTCPay Server")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/WalletSetup/"}},[t._v("Wallet Setup")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/LightningNetwork/"}},[t._v("Lightning Network")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[t._v("How to setup POS")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/Development/GreenFieldExample/"}},[t._v("Greenfield API")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/FAQ/"}},[t._v("Frequently Asked Questions"),r("br"),t._v("and Common Issues")])],1),t._v(" "),r("li",[r("RouterLink",{attrs:{to:"/Contribute/"}},[t._v("How to contribute to BTCPay Server")])],1)])]),t._v(" "),r("svg",{attrs:{width:"0",height:"0",xmlns:"http://www.w3.org/2000/svg"}},[r("defs",[r("linearGradient",{attrs:{id:"spiral-gradient",x1:"81.36",y1:"311.35",x2:"541.35",y2:"311.35",gradientUnits:"userSpaceOnUse"}},[r("stop",{attrs:{offset:".18","stop-color":"#00f"}}),r("stop",{attrs:{offset:"1","stop-color":"#f0f"}})],1),t._v(" "),r("radialGradient",{attrs:{id:"acinq-a",cx:"47.833",cy:"51.834",r:"56.832"}},[r("stop",{attrs:{offset:"0","stop-color":"#fff"}}),r("stop",{attrs:{offset:"1","stop-color":"#fff","stop-opacity":"0"}})],1)],1),t._v(" "),r("symbol",{attrs:{id:"supporter-spiral",viewBox:"0 0 629 629"}},[r("path",{attrs:{d:"M326.4 572.09C201.2 572.09 141 503 112.48 445c-28.22-57.53-30.59-114.56-30.79-122.69-4.85-77 41-231.78 249.58-271.2a28.05 28.05 0 0 1 10.41 55.13c-213.12 40.28-204.44 206-204 213 0 .53.06 1.06.07 1.6.15 7.9 5.1 195.16 188.65 195.16 68.34 0 116.6-29.4 143.6-87.37 24.48-52.74 19.29-112.45-13.52-155.83-22.89-30.27-52.46-45-90.38-45-34.46 0-63.47 9.88-86.21 29.37A91.5 91.5 0 0 0 248 322.3c-1.41 25.4 7.14 49.36 24.07 67.49C287.27 406 305 413.9 326.4 413.9c27.46 0 45.52-9 53.66-26.81 8.38-18.3 3.61-38.93-.19-43.33-9.11-10-18.69-13.68-22.48-13-2.53.43-5.78 4.61-8.48 10.92a28 28 0 0 1-51.58-22c14.28-33.44 37.94-42 50.76-44.2 24.78-4.18 52.17 7.3 73.34 30.65s25.51 68.55 10.15 103.22C421.54 432 394.52 470 326.4 470c-36.72 0-69.67-14.49-95.29-41.92-27.47-29.4-41.34-68.08-39.11-108.89a149.1 149.1 0 0 1 51.31-104.6c33.19-28.45 74.48-42.87 122.71-42.87 55.12 0 101.85 23.25 135.12 67.23 45.36 60 52.9 141.71 19.66 213.3-25.35 54.67-79.68 119.84-194.4 119.84Z",fill:"url(#spiral-gradient)"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-bailliegifford",viewBox:"0 0 252.875 70.249"}},[r("path",{staticStyle:{fill:"var(--btcpay-body-text)","fill-opacity":"1",stroke:"var(--btcpay-body-text)","stroke-opacity":"1"},attrs:{d:"M366.764 291.907h4.554l-5.046 12.789h-4.553zM377.541 302.546h4.675l-.849 2.15h-9.229l5.046-12.789h4.554zM389.988 302.546h4.676l-.849 2.15h-9.229l5.045-12.789h4.554zM403.079 291.907h4.554l-5.046 12.789h-4.553zM418.795 302.487l-.871 2.209h-9.471l5.046-12.789h9.397l-.871 2.209h-4.844l-1.139 2.887h4.457l-.826 2.093h-4.457l-1.338 3.391zM445.115 294.349a6.207 6.207 0 0 0-2.213-.407c-3.344 0-4.898 3.391-5.35 4.535-.682 1.725-1.15 3.469.277 4.147.49.232 1.135.252 1.402.252l1.186-3.004h-1.648l.795-2.015h5.766l-2.4 6.084c-1.66.523-3.16.95-5.268.95-4.748 0-6.602-2.732-5.109-6.511 1.566-3.973 5.77-6.647 10.566-6.647 1.842 0 2.971.33 3.777.62l-1.781 1.996zM453.309 291.907h4.554l-5.045 12.789h-4.554zM458.684 304.696l5.045-12.789h9.398l-.871 2.209h-4.844l-1.269 3.217h4.457l-.871 2.209h-4.458l-2.033 5.154zM472.639 304.696l5.047-12.789h9.398l-.871 2.209h-4.846l-1.269 3.217h4.459l-.873 2.209h-4.457l-2.034 5.154z",transform:"translate(-293.5 -262.775)"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)","fill-opacity":"1","fill-rule":"evenodd",stroke:"var(--btcpay-body-text)","stroke-opacity":"1"},attrs:{d:"M335.139 302.643c.557 0 1.187 0 1.747-.252.576-.232 1.106-.717 1.489-1.686.336-.854.189-1.279-.211-1.492-.376-.213-1.006-.213-1.612-.213h-.63l-1.438 3.643h.655zm2.154-5.523c.46 0 .993 0 1.521-.232.496-.213.986-.659 1.33-1.531.283-.717.162-1.085-.181-1.259-.319-.175-.852-.175-1.409-.175h-.63l-1.262 3.198h.631v-.001zm2.832-5.213c1.187 0 2.578.097 3.531.504.954.407 1.47 1.124.966 2.403-.727 1.841-2.749 2.732-4.501 3.12.502.077 1.378.252 2.05.698.647.445 1.06 1.182.578 2.403-.443 1.124-1.742 2.636-4.352 3.294-.995.252-2.107.368-4.481.368h-4.651l5.045-12.79h5.815zM350.689 300.201h2.833l.017-3.605-2.85 3.605zm6.664-8.294.792 12.79h-4.651l-.017-2.597h-4.288l-2.066 2.597h-3.149l10.714-12.79h2.665zM492.998 302.875c.922 0 2.209-.504 3.793-4.515 1.451-3.682 1.238-4.612-.047-4.612-1.283 0-2.363.775-3.955 4.806-1.07 2.713-1.316 4.321.209 4.321zm4.59-11.143c3.561 0 6.08 1.841 4.299 6.356-1.482 3.759-4.936 6.802-9.707 6.802-4.555 0-5.779-2.791-4.295-6.55 1.65-4.185 5.635-6.608 9.703-6.608zM512.328 293.922l-1.469 3.721h.484c1.502 0 2.234-.445 2.793-1.86.582-1.473.25-1.86-1.324-1.86h-.484v-.001zm1.254-2.015c2.398 0 3.312.078 4.168.426.814.33 1.785 1.124 1.166 2.694-.58 1.473-2.047 2.732-4.277 3.353l1.916 6.317h-4.893l-.965-5.29h-.533l-2.088 5.29h-4.408l5.047-12.79h4.867zM528.418 293.961l-3.424 8.682h.387c1.115 0 2.955.368 4.906-4.573 1.619-4.108.264-4.108-1.385-4.108h-.484v-.001zm.811-2.054c2.254 0 4.336 0 5.549 1.163 1.461 1.396.748 3.818.334 4.864-.727 1.841-2.406 4.748-6.227 6.143-1.24.446-2.498.62-5.09.62h-4.166l5.047-12.79h4.553z","clip-rule":"evenodd",transform:"translate(-293.5 -262.775)"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)","fill-opacity":"1",stroke:"var(--btcpay-body-text)","stroke-opacity":"1"},attrs:{d:"M294 297.4c0-19.399 57.138-35.125 127.624-35.125 62.064 0 113.781 12.192 125.251 28.35-13.078-12.792-58.92-22.238-113.465-22.238-64.731 0-117.206 13.303-117.206 29.714 0 16.411 52.474 29.715 117.206 29.715 47.799 0 88.914-7.254 107.154-17.656-18.555 13.09-64.812 22.364-118.941 22.364C351.138 332.524 294 316.799 294 297.4z",transform:"translate(-293.5 -262.775)"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-coincards",viewBox:"0 0 64 32"}},[r("g",{attrs:{fill:"none"}},[r("path",{attrs:{d:"M32.7 5.9c-.2-1-1.3-1.7-2.3-1.4L7.7 9.9c-1 .2-1.7 1.3-1.4 2.3l3.1 12.9c.2 1 1.3 1.7 2.3 1.4l22.7-5.4c1-.2 1.7-1.3 1.4-2.3L32.7 5.9Z",fill:"#EF8022"}}),r("path",{attrs:{d:"M12.6 30.3c-.2.2-.5.3-.7.3l.8.5c.9.6 2.1.4 2.7-.5l3.1-4.4-5.9 4.1ZM2.3 19.5l-1 1.4c-.6.9-.4 2.1.5 2.7L8.1 28l-5.8-8.5ZM12.9 8.1l7.2-5-2.7-1.9c-.9-.6-2.1-.4-2.7.5l-5 7.2 3.2-.8Z",fill:"#F9F185"}}),r("path",{attrs:{d:"M9.7 29.4c.6.9 1.8 1.1 2.7.5l6.7-4.6-7.4 1.8c-1.3.3-2.6-.5-2.9-1.8L6 13.5l-3.3 2.3c-.9.6-1.1 1.8-.5 2.7l7.5 10.9Zm4.5-21.6L25.9 5l-1.3-2c-.6-.9-1.8-1.1-2.7-.5l-7.7 5.3Z",fill:"#FFC214"}}),r("path",{attrs:{d:"M11.9 24.8c-.7 0-1.4-.5-1.7-1.1l-1.5-3.2 1.1 4.6c.2.6.7 1.1 1.4 1.1h.3l17-4.1-16.2 2.7h-.4Z",fill:"#FFC214"}}),r("path",{attrs:{d:"M16 17.5s-1.1 1.2-2.5 1.2c-1.7 0-2.6-1.4-2.6-2.8 0-1.3.9-2.7 2.6-2.7 1.3 0 2.3 1 2.3 1l1.1-1.7s-.6-.7-1.9-1.1v-1.2h-1.1v1h-.6v-1h-1.1v1.1c-2.2.5-3.7 2.4-3.7 4.7 0 2.4 1.5 4.2 3.7 4.7v1.2h1.1v-1h.6V22H15v-1.3c1.4-.4 2.1-1.3 2.1-1.3L16 17.5ZM21 13.7c2.1 0 3.8 1.4 3.8 3.6 0 2.1-1.7 3.5-3.8 3.5-2.1 0-3.8-1.4-3.8-3.5s1.7-3.6 3.8-3.6Zm0 5.2c.8 0 1.5-.6 1.5-1.6s-.7-1.7-1.5-1.7-1.5.6-1.5 1.7c0 1 .7 1.6 1.5 1.6Zm4.3-5h2.3v6.7h-2.3v-6.7Zm0-2.6h2.2v1.8h-2.2v-1.8Zm3.2 2.6h2.2v1c.3-.5 1-1.2 2.1-1.2 1.4 0 2.4.6 2.4 2.5v4.4h-2.3v-4c0-.6-.2-.9-.7-.9-.7 0-1.1.4-1.3 1-.1.3-.1.6-.1.9v3h-2.3v-6.7Z",fill:"#FFF"}}),r("path",{attrs:{d:"M39.3 13.9c1.7 0 2.5 1 2.5 1l-.6.9s-.7-.8-1.8-.8c-1.3 0-2.3 1-2.3 2.4 0 1.3 1 2.4 2.3 2.4 1.2 0 2-.9 2-.9l.5.9s-.9 1.1-2.6 1.1c-2.1 0-3.5-1.5-3.5-3.5-.1-2 1.4-3.5 3.5-3.5Zm6.8 2.6h.3v-.1c0-1.1-.6-1.5-1.5-1.5-1 0-1.8.6-1.8.6l-.5-.9s1-.8 2.5-.8c1.7 0 2.6.9 2.6 2.6v4.2h-1.2v-1.1s-.5 1.3-2.1 1.3c-1.1 0-2.3-.7-2.3-2 0-2.2 2.9-2.3 4-2.3Zm-1.4 3.3c1.1 0 1.8-1.1 1.8-2.1v-.2h-.3c-1 0-2.7.1-2.7 1.3-.1.5.3 1 1.2 1Zm3.8-5.8h1.2v1.7c.3-1 1.1-1.7 2.1-1.7h.3v1.3h-.4c-.8 0-1.6.6-1.9 1.6-.1.4-.2.8-.2 1.2v2.7h-1.3V14h.2Zm6.8-.1c1.5 0 2 1 2 1v-3.5h1.3v9.2h-1.2v-1s-.5 1.2-2.2 1.2c-1.8 0-2.9-1.4-2.9-3.5s1.3-3.4 3-3.4Zm.2 5.8c1 0 1.9-.7 1.9-2.4 0-1.2-.6-2.4-1.9-2.4-1 0-1.9.9-1.9 2.4s.8 2.4 1.9 2.4Zm4.2-.8s.7.8 1.9.8c.5 0 1.1-.3 1.1-.8 0-1.2-3.4-1-3.4-3.1 0-1.2 1.1-1.9 2.4-1.9 1.5 0 2.1.7 2.1.7l-.5 1s-.6-.6-1.6-.6c-.5 0-1.1.2-1.1.8 0 1.2 3.4.9 3.4 3.1 0 1.1-.9 1.9-2.4 1.9-1.6 0-2.5-1-2.5-1l.6-.9Z",fill:"#EF8022"}})])]),t._v(" "),r("symbol",{attrs:{id:"supporter-acinq",viewBox:"0 0 103 107"}},[r("circle",{attrs:{fill:"url(#acinq-a)",cx:"47.833",cy:"51.833",r:"56.832"}}),r("g",[r("g",{attrs:{fill:"none","stroke-width":"6","stroke-linejoin":"round"}},[r("path",{attrs:{stroke:"#47BF94",d:"M4.493 79.67c-6.778-11.574 21.882-35.135 41.646-39.636 16.598-3.78 55.176 4.066 53.752 17.433"}}),r("path",{attrs:{stroke:"#359F7E",d:"M10.125 18.133c8.624-9.988 41.797 13.701 51.001 30.018 9.723 17.237 12.87 55.271-1.103 55.351"}}),r("path",{attrs:{stroke:"#49DAAA",d:"M69.826 4.107c12.025 5.964 3.838 38.632-11.184 57.28C47.846 74.79 11.659 91.904 4.493 79.67"}}),r("path",{attrs:{stroke:"#49DAAA",d:"M99.891 57.467C98.471 70.799 62.529 72.9 43.83 64.781c-17.92-7.783-42.47-36.5-33.706-46.648"}}),r("path",{attrs:{stroke:"#AAF0D3",d:"M60.023 103.502c-14.291.08-24.609-29.721-23.918-51.916.758-24.377 20.678-53.948 33.721-47.479"}})])])]),t._v(" "),r("symbol",{attrs:{id:"supporter-lunanode",viewBox:"0 0 194.219 193.977"}},[r("path",{staticStyle:{fill:"#004581","fill-opacity":"1","fill-rule":"evenodd",stroke:"none"},attrs:{d:"M3185.89 2995.8c-1.77 21.49-2.76 43.2-2.76 65.16 0 411.03 319.09 747.36 723.13 774.95l-618.54-641.7c-54.62-56.68-88.55-126.08-101.83-198.41M3960 2284.09c-270.37 0-508.4 138.15-647.57 347.65l23.25-22.42c76.82-74.06 176.93-109.95 276.2-108.13 99 1.77 197.53 41.2 271.5 117.59l-177.95 171.52c-26.66-27.31-62.22-41.38-98.02-42.14-36.12-.65-72.43 12.41-100.16 39.15l-37.98 36.6c-27.69 26.66-42.04 62.45-42.7 98.57-.65 36.07 12.36 72.48 39.11 100.21l745.68 773.56c305.71-104.45 525.52-394.17 525.52-735.29 0-29.89-1.73-59.34-5.04-88.32-19.44 54.57-51.41 105.56-95.79 148.35l-37.93 36.58c-76.86 74.07-176.93 110.05-276.16 108.18-99.32-1.77-198.13-41.38-272.19-118.25l-290.74-301.59 177.95-171.53 290.74 301.61c26.71 27.73 62.64 42.04 98.72 42.74 36.12.69 72.38-12.35 100.16-39.1l37.89-36.59c27.69-26.66 42.09-62.45 42.74-98.58.61-36.03-12.4-72.48-39.1-100.21l-440.73-457.23c-22.23-1.9-44.69-2.93-67.4-2.93",transform:"matrix(.125 0 0 -.125 -397.891 479.489)"}}),r("path",{staticStyle:{fill:"#3384b9","fill-opacity":"1","fill-rule":"evenodd",stroke:"none"},attrs:{d:"M4376.22 2292.8h360.66v433.41c-17.35-55.88-47.59-108.64-90.81-153.48l-269.85-279.93",transform:"matrix(.125 0 0 -.125 -397.891 479.489)"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-walletofsatoshi",viewBox:"0 0 313.1 76.32"}},[r("path",{attrs:{d:"M110.47 44.8H121c.84 0 1.22-.64.9-1.48l-17.6-42A2 2 0 0 0 102.22 0H87.63a2 2 0 0 0-2 1.34L66 48.11c-.32.84.06 1.48.83 1.48h13.7a1.42 1.42 0 0 1 1.32 1.93l-9.7 24.8 30.55-32.63A1 1 0 0 0 102 42H84.73a1.42 1.42 0 0 1-1.32-2l5.06-12.91 6.86-17.47 6.78 17.51h-7.54a1.42 1.42 0 0 0-1.32.9l-2.83 7.22a1.42 1.42 0 0 0 1.32 1.93H105a1.42 1.42 0 0 1 1.33.91l2.08 5.36a1.92 1.92 0 0 0 2.06 1.35Zm62.65 0h37.42a1.3 1.3 0 0 0 1.46-1.41V35.9a1.3 1.3 0 0 0-1.47-1.41h-26V1.41A1.35 1.35 0 0 0 183 0h-9.92a1.3 1.3 0 0 0-1.47 1.41v42a1.3 1.3 0 0 0 1.51 1.39Zm45.36 0h42a1.3 1.3 0 0 0 1.52-1.41V35.9a1.31 1.31 0 0 0-1.47-1.41h-30.59v-7.36h25.59a1.33 1.33 0 0 0 1.48-1.4v-7a1.33 1.33 0 0 0-1.48-1.41h-25.59v-7h30.59A1.3 1.3 0 0 0 262 8.89V1.41A1.3 1.3 0 0 0 260.53 0h-42A1.3 1.3 0 0 0 217 1.41v42a1.3 1.3 0 0 0 1.48 1.39ZM71.79 0H61.61a1.71 1.71 0 0 0-1.85 1.41L52.08 34.3 44.91 1.41A1.65 1.65 0 0 0 43.12 0H30.38a1.71 1.71 0 0 0-1.85 1.41L21.36 34.3 13.68 1.41A1.65 1.65 0 0 0 11.89 0H1.14C.24 0-.14.51.05 1.41l10.88 42a1.68 1.68 0 0 0 1.79 1.41H28.4a1.65 1.65 0 0 0 1.79-1.41l6.27-28.31 6.34 28.29a1.65 1.65 0 0 0 1.79 1.41H60.2a1.66 1.66 0 0 0 1.8-1.41l10.87-42C73.07.51 72.68 0 71.79 0Zm239.84 0h-43.52a1.3 1.3 0 0 0-1.47 1.41v7.48a1.3 1.3 0 0 0 1.47 1.41h15.29v33.09a1.3 1.3 0 0 0 1.48 1.41h10a1.33 1.33 0 0 0 1.47-1.41V10.3h15.3a1.3 1.3 0 0 0 1.47-1.41V1.41A1.3 1.3 0 0 0 311.63 0ZM127.76 44.8h37.42a1.3 1.3 0 0 0 1.47-1.41V35.9a1.3 1.3 0 0 0-1.47-1.41h-26V1.41a1.35 1.35 0 0 0-1.5-1.41h-9.92a1.3 1.3 0 0 0-1.47 1.41v42a1.3 1.3 0 0 0 1.47 1.39Zm-3.84 9.6h-11.53c-3.13 0-4.53 1.31-4.53 4.36v10.37c0 3.05 1.4 4.36 4.53 4.36h11.53c3.16 0 4.51-1.31 4.51-4.36V58.76c0-3.05-1.35-4.36-4.51-4.36Zm-1 12.95c0 1.48-.29 1.75-2.07 1.75h-5.51c-1.76 0-2.08-.27-2.08-1.75v-6.81c0-1.47.32-1.75 2.08-1.75h5.51c1.78 0 2.07.28 2.07 1.75Zm51.87-5.59h-8.75c-.89 0-1.16-.27-1.16-.95v-1.06c0-.68.27-1 1.16-1h6.7c.65 0 .89.28.89.85v.16a.55.55 0 0 0 .62.6h4a.55.55 0 0 0 .62-.6v-1.08c0-3.21-1.11-4.28-4.4-4.28H164c-3.19 0-4.51 1.31-4.51 4.36v2.84c0 3.06 1.32 4.36 4.51 4.36h8.74c.9 0 1.17.28 1.17 1v1.23c0 .68-.27.95-1.17.95h-7.34c-.62 0-.86-.27-.86-.85v-.16a.56.56 0 0 0-.62-.6h-4a.55.55 0 0 0-.62.6v1.12c0 3.22 1.08 4.28 4.4 4.28h11.2c3.19 0 4.51-1.31 4.51-4.36v-3c-.06-3.1-1.41-4.41-4.57-4.41Zm85.43 0h-8.75c-.89 0-1.16-.27-1.16-.95v-1.06c0-.68.27-1 1.16-1h6.7c.64 0 .89.28.89.85v.16a.55.55 0 0 0 .62.6h4a.55.55 0 0 0 .62-.6v-1.08c0-3.21-1.11-4.28-4.4-4.28h-10.48c-3.19 0-4.51 1.31-4.51 4.36v2.84c0 3.06 1.32 4.36 4.51 4.36h8.74c.89 0 1.16.28 1.16 1v1.23c0 .68-.27.95-1.16.95h-7.34c-.62 0-.86-.27-.86-.85v-.16a.57.57 0 0 0-.62-.6h-4.05a.55.55 0 0 0-.62.6v1.12c0 3.22 1.08 4.28 4.4 4.28h11.2c3.18 0 4.51-1.31 4.51-4.36v-3c0-3.1-1.33-4.41-4.51-4.41Zm26.65-7.36h-4.21a.56.56 0 0 0-.63.6v6.66h-9.2V55a.57.57 0 0 0-.65-.6H268a.55.55 0 0 0-.62.6v17.89a.55.55 0 0 0 .62.6h4.18a.57.57 0 0 0 .65-.6v-6.84h9.2v6.84a.56.56 0 0 0 .63.6h4.21a.55.55 0 0 0 .62-.6V55a.55.55 0 0 0-.57-.6Zm-137.62 0h-17.07a.55.55 0 0 0-.62.6v17.89a.55.55 0 0 0 .62.6h4.19a.58.58 0 0 0 .65-.6v-6.52h10.15a.57.57 0 0 0 .64-.6v-3.19a.57.57 0 0 0-.64-.6H137v-3.19h12.3a.55.55 0 0 0 .62-.6V55a.55.55 0 0 0-.62-.6Zm146.47 0h-4.18a.55.55 0 0 0-.62.6v17.89a.55.55 0 0 0 .62.6h4.18a.57.57 0 0 0 .65-.6V55a.57.57 0 0 0-.6-.6Zm-100.28.6a.83.83 0 0 0-.86-.57h-6.16a.83.83 0 0 0-.89.57l-7.42 17.89c-.14.36 0 .63.38.63h4.45a.8.8 0 0 0 .86-.57l1-2.68h9.1l1 2.68a.8.8 0 0 0 .87.57h4.69c.33 0 .49-.27.35-.63Zm-7 11 2.89-7.52 2.92 7.52Zm30.9-11.6H201a.55.55 0 0 0-.62.6v3.19a.55.55 0 0 0 .62.6h6.45v14.1a.55.55 0 0 0 .62.6h4.21a.56.56 0 0 0 .62-.6v-14.1h6.46a.55.55 0 0 0 .62-.6V55a.55.55 0 0 0-.64-.6Zm18.46 0h-11.52c-3.13 0-4.54 1.31-4.54 4.36v10.37c0 3.05 1.41 4.36 4.54 4.36h11.52c3.16 0 4.51-1.31 4.51-4.36V58.76c0-3.05-1.31-4.36-4.51-4.36Zm-.94 12.95c0 1.48-.3 1.75-2.08 1.75h-5.51c-1.75 0-2.07-.27-2.07-1.75v-6.81c0-1.47.32-1.75 2.07-1.75h5.51c1.78 0 2.08.28 2.08 1.75Z",fill:"#fad228",stroke:"#1e2127","stroke-width":"2"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-nomics",viewBox:"0 0 600 600"}},[r("path",{attrs:{d:"M273.56 133A136.81 136.81 0 0 0 0 136.86v326.28a136.8 136.8 0 0 0 233.57 96.75L326.44 467A136.81 136.81 0 0 0 600 463.14V136.86a136.8 136.8 0 0 0-233.57-96.75L273.56 133",fill:"#a0f"}}),r("ellipse",{attrs:{cx:"302.18",cy:"300.04",rx:"136.81",ry:"136.86",fill:"#fff"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-ivpn",viewBox:"0 0 84 29"}},[r("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M6.75 0h6.03c.07 0 .15.03.2.1.04.05.06.13.05.2L8.6 27.43a.26.26 0 0 1-.24.22l-6.63.38H1.7a.25.25 0 0 1-.19-.08.26.26 0 0 1-.06-.22L5.2 5.05C5.12 1.67 1 .85.49.73-.06.59 0 0 0 0h6.75Zm32.32.12a.25.25 0 0 0-.22-.12h-6.5c-.1 0-.18.05-.23.14l-8.98 17.4L20.08.2a.25.25 0 0 0-.24-.21h-6.55a.25.25 0 0 0-.2.1.26.26 0 0 0-.05.2l4.85 26.05a.25.25 0 0 0 .26.2l7.57-.43c.08 0 .16-.06.2-.14L39.08.38a.26.26 0 0 0-.01-.26Zm20.27 5.5a6.8 6.8 0 0 0-.53-2.08c-.27-.6-.61-1.1-1.01-1.5-.4-.41-.8-.75-1.23-1A8.23 8.23 0 0 0 52.9 0H40.47a.25.25 0 0 0-.25.2l-4.01 24.6c-.01.07.01.14.06.2.05.05.11.08.18.08h.02l6.25-.36c.11 0 .2-.1.22-.21l.75-4.63h6.08c1.39-.09 2.7-.43 3.89-1.03a9.75 9.75 0 0 0 2.99-2.46 9.9 9.9 0 0 0 2-4.76l.56-3.3c.17-1.02.21-1.93.13-2.71Zm-7.21 5.87a2.53 2.53 0 0 1-1.1 1.66c-.27.18-.64.27-1.1.27H44.7l1.1-7h5.3c.45 0 .78.09.97.27.22.2.38.41.47.65.1.27.13.6.1.95l-.52 3.2ZM83.75 0h-6.32c-.12 0-.23.1-.25.22l-2.25 14.34L70.04.17a.25.25 0 0 0-.23-.17H63.5c-.12 0-.23.1-.25.22l-3.86 24.56c-.01.07.01.16.06.22.05.05.12.08.19.08l6.43-.39c.12 0 .21-.1.23-.22l1.62-10.36 3.4 10.08c.04.1.14.17.25.17l8.58-.52c.11 0 .2-.1.23-.22L84 .3a.27.27 0 0 0-.06-.22.24.24 0 0 0-.19-.09Z",fill:"#F34"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-strike",viewBox:"0 0 155 120"}},[r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M7.06565 43.2477C1.90963 41.2685 -0.665684 35.4843 1.31353 30.3283C3.29274 25.1722 9.07699 22.5969 14.233 24.5761L51.4526 38.8634C51.4937 38.8798 51.535 38.896 51.5765 38.9119L70.2481 46.0792C75.4041 48.0584 81.1883 45.4831 83.1675 40.3271C85.1468 35.1711 82.5714 29.3868 77.4154 27.4076L77.4132 27.4068C77.4139 27.4064 77.4145 27.406 77.4151 27.4056L58.7436 20.2383C53.5876 18.2591 51.0123 12.4749 52.9915 7.31885C54.9707 2.16283 60.755 -0.412485 65.911 1.56673L120.828 22.6473C120.959 22.6977 121.089 22.7506 121.217 22.8059C121.453 22.8928 121.69 22.9815 121.926 23.0721C147.706 32.9681 160.583 61.8894 150.686 87.6695C140.79 113.45 111.869 126.326 86.089 116.43C85.5927 116.24 85.1011 116.042 84.6144 115.838C84.3783 115.766 84.1431 115.686 83.9091 115.596L30.0742 94.9308C24.9182 92.9516 22.3428 87.1673 24.3221 82.0113C26.3013 76.8553 32.0855 74.2799 37.2415 76.2592L55.9106 83.4256C55.9103 83.4242 55.9099 83.4229 55.9095 83.4215L55.9133 83.423C61.0694 85.4022 66.8536 82.8269 68.8328 77.6709C70.812 72.5148 68.2367 66.7306 63.0807 64.7514L54.6786 61.5261C54.6787 61.5257 54.6788 61.5252 54.6789 61.5247L7.06565 43.2477Z"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-hrf",viewBox:"0 0 3000 987.6"}},[r("path",{attrs:{d:"M1137.09 103.9v773.45h-51.44V515.96h-953.6v361.38H80.62V103.9h51.44v361.2h953.6V103.9h51.43zm-102.77 0h-51.44v258.19H234.94V103.9H183.5v309.05h850.82V103.9zm-696.29 0h-50.87v205.84h50.87V103.9zm593.05 0h-51.44v205.84h51.44V103.9zM183.5 877.34h51.44V619.16h747.94v258.19h51.44V567.72H183.5v309.62zm695.72 0h51.44V670.93h-51.44v206.41zm-592.47 0h51.44V670.93h-51.44v206.41z",fill:"#e12991"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M1422.94 103.88V331.3h-44.51v-94.22h-92.2v94.22h-44.83V103.88h44.83v90.32h92.2v-90.32h44.51zM1605.81 168.85V331.3h-41.91v-18.19c-9.75 14.62-26.64 22.74-48.41 22.74-34.44 0-61.4-24.04-61.4-67.25v-99.74H1496v94.54c0 22.1 13.32 33.47 32.16 33.47 20.47 0 35.74-12.02 35.74-40.29v-87.72h41.91zM1885.19 231.23V331.3h-41.91v-97.14c0-19.17-9.75-30.86-27.29-30.86-18.52 0-30.22 12.35-30.22 36.71v91.29h-41.91v-97.14c0-19.17-9.75-30.86-27.29-30.86-17.87 0-30.54 12.35-30.54 36.71v91.29h-41.91V168.85h41.91v17.22c9.1-13.64 24.37-21.77 45.16-21.77 20.14 0 35.09 8.45 44.18 23.39 10.07-14.62 26.32-23.39 48.41-23.39 37.04.01 61.41 26.32 61.41 66.93zM2086.24 168.85V331.3h-41.91v-19.17c-11.7 14.62-29.24 23.72-52.96 23.72-43.21 0-78.95-37.36-78.95-85.77s35.74-85.77 78.95-85.77c23.72 0 41.26 9.1 52.96 23.72v-19.17h41.91zm-41.91 81.23c0-27.29-19.17-45.81-45.16-45.81-25.66 0-44.83 18.52-44.83 45.81 0 27.29 19.17 45.81 44.83 45.81 25.99 0 45.16-18.52 45.16-45.81zM2275.93 231.56v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V168.85h41.91v18.19c9.75-14.62 26.64-22.74 48.41-22.74 34.44.01 61.4 24.05 61.4 67.26zM1316.47 525.36h-30.25v78.95h-44.83V376.89h94.84c41.91 0 75.7 33.79 75.7 75.37 0 28.59-17.87 54.26-43.86 66.28l50.36 85.77h-48.41l-53.55-78.95zm-30.25-39.31h50c16.89 0 30.86-14.95 30.86-33.79s-13.97-33.46-30.86-33.46h-50v67.25zM1437.88 396.71c0-13.97 15.57-25.99 29.54-25.99 14.29 0 22.12 12.02 22.12 25.99s-11.7 25.67-25.99 25.67c-13.97 0-25.67-11.7-25.67-25.67zm4.88 45.16h41.91v162.45h-41.91V441.87zM1681.86 441.87v154.65c0 53.28-41.91 77.33-84.8 77.33-34.77 0-62.7-13.32-77-39.64l35.74-20.47c6.82 12.67 17.54 22.74 42.56 22.74 26.31 0 42.56-14.29 42.56-39.96v-17.54c-11.37 15.27-28.92 24.69-51.98 24.69-46.14 0-80.9-37.36-80.9-83.17 0-45.48 34.76-83.17 80.9-83.17 23.07 0 40.61 9.42 51.98 24.69v-20.14h40.94zm-40.94 78.62c0-25.67-19.17-44.18-45.49-44.18-26.31 0-45.48 18.52-45.48 44.18 0 25.99 19.17 44.51 45.48 44.51 26.32 0 45.49-18.52 45.49-44.51zM1871.55 504.57v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V376.89h41.91v83.17c9.75-14.62 26.64-22.74 48.41-22.74 34.44 0 61.4 24.04 61.4 67.25zM1963.46 482.15v67.58c0 17.54 12.67 17.87 36.71 16.57v38.01c-58.81 6.5-78.62-10.72-78.62-54.58v-67.58h-28.27v-40.29h28.27v-32.81l41.91-12.67v45.48h36.71v40.29h-36.71zM2148.63 556.88c0 35.09-30.54 51.98-65.31 51.98-32.49 0-56.53-13.64-68.22-38.66l36.39-20.47c4.55 13.32 15.6 21.12 31.84 21.12 13.32 0 22.42-4.55 22.42-13.97 0-23.72-83.82-10.72-83.82-67.9 0-33.14 28.27-51.66 61.73-51.66 26.32 0 49.06 12.02 61.73 34.44l-35.74 19.49c-4.88-10.4-13.97-16.57-25.99-16.57-10.4 0-18.84 4.55-18.84 13.32-.01 24.04 83.81 9.1 83.81 68.88zM1286.22 692.79v53.93h96.11v42.89h-96.11v87.72h-44.83V649.9h143.54v42.88h-98.71zM1400.82 796.1c0-48.41 38.01-85.77 85.77-85.77s86.1 37.36 86.1 85.77-38.34 85.77-86.1 85.77c-47.76 0-85.77-37.36-85.77-85.77zm129.96 0c0-26.31-19.17-44.83-44.19-44.83-24.69 0-43.86 18.52-43.86 44.83 0 26.32 19.17 44.83 43.86 44.83 25.02.01 44.19-18.51 44.19-44.83zM1744.84 714.88v162.45h-41.91v-18.19c-9.75 14.62-26.64 22.74-48.41 22.74-34.44 0-61.4-24.04-61.4-67.25v-99.74h41.91v94.54c0 22.1 13.32 33.47 32.16 33.47 20.47 0 35.74-12.02 35.74-40.29v-87.72h41.91zM1934.86 777.58v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V714.88h41.91v18.19c9.75-14.62 26.64-22.74 48.41-22.74 34.44 0 61.4 24.04 61.4 67.25zM2135.61 649.9v227.42h-41.91v-19.17c-11.7 14.95-28.92 23.72-52.63 23.72-43.54 0-79.27-37.36-79.27-85.77s35.74-85.77 79.27-85.77c23.72 0 40.94 8.77 52.63 23.72V649.9h41.91zm-41.91 146.2c0-27.29-19.17-45.81-44.84-45.81-25.99 0-45.16 18.52-45.16 45.81 0 27.29 19.17 45.81 45.16 45.81 25.67.01 44.84-18.51 44.84-45.81zM2337.35 714.88v162.45h-41.91v-19.17c-11.7 14.62-29.24 23.72-52.96 23.72-43.21 0-78.95-37.36-78.95-85.77s35.74-85.77 78.95-85.77c23.72 0 41.26 9.1 52.96 23.72v-19.17h41.91zm-41.91 81.22c0-27.29-19.17-45.81-45.16-45.81-25.66 0-44.83 18.52-44.83 45.81 0 27.29 19.17 45.81 44.83 45.81 25.99.01 45.16-18.51 45.16-45.81zM2433.46 755.17v67.58c0 17.54 12.67 17.87 36.71 16.57v38.01c-58.81 6.5-78.62-10.72-78.62-54.58v-67.58h-28.26v-40.29h28.26v-32.81l41.91-12.67v45.48h36.71v40.29h-36.71zM2494.84 669.72c0-13.97 11.7-25.99 25.67-25.99 14.29 0 25.99 12.02 25.99 25.99s-11.7 25.66-25.99 25.66c-13.97.01-25.67-11.69-25.67-25.66zm4.87 45.16h41.91v162.45h-41.91V714.88zM2565 796.1c0-48.41 38.01-85.77 85.77-85.77s86.1 37.36 86.1 85.77-38.34 85.77-86.1 85.77c-47.76 0-85.77-37.36-85.77-85.77zm129.96 0c0-26.31-19.17-44.83-44.19-44.83-24.69 0-43.86 18.52-43.86 44.83 0 26.32 19.17 44.83 43.86 44.83 25.02.01 44.19-18.51 44.19-44.83zM2911.62 777.58v99.74h-41.91v-94.54c0-22.09-13.32-33.46-32.16-33.46-20.47 0-35.74 12.02-35.74 40.29v87.72h-41.91V714.88h41.91v18.19c9.75-14.62 26.64-22.74 48.41-22.74 34.44 0 61.4 24.04 61.4 67.25z"}})]),t._v(" "),r("symbol",{attrs:{id:"supporter-esc",viewBox:"0 0 74.222 74.044"}},[r("g",{staticStyle:{fill:"var(--btcpay-body-text)"}},[r("path",{staticStyle:{"stroke-width":"1.91694"},attrs:{d:"M625.227 7403.82c-287.542-92.014-494.572-337.383-538.662-640.26-21.087-157.19-21.087-5869.689 0-6026.878 46.007-308.628 260.704-557.832 555.914-646.01C736.41 63.833 1046.955 60 3769.018 60s3032.608 3.834 3126.539 30.671c295.21 88.18 509.907 337.383 555.914 646.01 21.086 157.19 21.086 5869.69 0 6026.879-46.007 308.628-260.705 557.83-555.914 646.01-93.93 26.838-404.476 30.672-3134.207 28.755-2842.83 0-3036.442-1.917-3136.123-34.505zm6208.987-299.044c120.768-42.173 187.861-97.764 251.12-207.03l57.509-99.681V702.177l-57.509-99.681c-63.259-109.266-130.352-164.858-251.12-207.03-120.767-44.09-6009.625-44.09-6130.393 0-120.767 42.172-187.86 97.764-251.12 207.03l-57.508 99.68v6095.889l57.509 99.68c61.342 105.433 130.352 164.858 243.452 207.031 113.1 40.256 6021.127 42.173 6138.06 0z",transform:"matrix(.0098 0 0 .0098 .182 .285)"}}),r("path",{staticStyle:{"stroke-width":"1.91694"},attrs:{d:"M1934.5 4967.381c-272.206-55.591-492.654-249.203-582.75-511.824-32.59-97.764-36.423-162.94-36.423-705.436 0-542.496 3.834-607.672 36.422-705.436 74.761-216.615 241.535-391.057 456.233-475.403 103.515-42.173 139.937-44.09 529.077-46.007h419.811l46.007 53.675c59.425 69.01 59.425 136.103-1.917 195.528-46.007 47.924-49.84 47.924-398.725 47.924-433.23 0-513.741 19.17-646.01 151.439-113.1 113.1-134.186 180.193-134.186 425.562v185.944l59.425 11.501c32.588 5.751 291.376 11.502 575.084 11.502h513.741l38.339 49.84c51.758 65.177 51.758 122.685 0 187.861l-38.339 49.84h-513.741c-283.708 0-542.496 5.752-577.001 11.502l-61.342 13.419 5.75 224.283c7.668 207.03 11.502 230.033 61.343 302.877 69.01 107.35 185.943 187.86 302.877 212.781 51.758 11.502 247.286 21.087 431.313 21.087 329.715 0 335.465 0 381.472 47.923 61.342 59.425 61.342 126.519 1.917 195.529l-46.007 53.674-371.887 3.834c-203.196 1.917-406.393-5.75-450.482-13.419zM3677.004 2553.947c-208.947 55.59-368.053 189.777-461.984 389.14-42.172 92.013-49.84 134.186-49.84 279.874 0 157.19 5.75 185.943 63.259 300.96 70.927 143.771 184.027 254.954 325.88 323.964 67.094 32.588 145.689 46.007 312.463 57.508 251.12 17.253 289.459 28.755 379.555 105.432 228.117 191.695 147.605 565.5-139.937 649.845-70.927 21.086-197.445 28.754-481.153 28.754-379.555 0-387.223 0-427.48 44.09-57.507 61.342-55.59 147.605 7.669 207.03 49.84 46.007 49.84 46.007 492.655 46.007 412.143-1.917 452.4-3.834 550.163-44.09 153.356-61.342 293.293-191.694 368.054-345.05 57.508-115.017 63.26-143.771 63.26-300.96 0-157.19-5.752-185.944-63.26-300.961-69.01-143.771-184.027-254.954-325.88-323.964-69.011-32.588-141.855-46.007-312.463-57.508-164.857-11.502-243.452-24.92-300.96-53.675-237.702-120.767-283.709-415.977-93.931-611.506 97.764-101.598 195.529-118.85 638.343-118.85h389.14l38.339-49.84c59.425-74.762 51.758-147.606-19.17-207.031l-59.425-49.84-394.89 1.916c-279.875 0-427.48 9.585-498.407 28.755zM5630.372 4965.465c-299.043-57.509-546.33-297.127-613.423-594.254-26.837-109.266-26.837-1132.915 0-1242.18 69.01-302.878 314.38-538.663 621.091-594.254 174.442-32.588 745.692-26.837 812.785 7.668 84.346 42.173 107.35 153.356 47.924 230.033-26.837 36.422-57.509 38.34-435.147 47.924-392.974 9.585-410.226 13.419-504.157 61.342-113.1 59.426-193.611 157.19-230.033 279.874-38.34 124.602-38.34 1054.32 0 1178.922 36.422 120.768 122.684 226.2 235.784 281.791 88.18 46.007 111.183 47.924 484.987 53.675 368.054 5.75 394.891 9.584 437.064 47.923 23.003 21.087 42.173 61.343 42.173 92.014 0 153.355-49.84 170.608-473.486 168.691-187.86-1.917-379.555-9.585-425.562-19.17z",transform:"matrix(.0098 0 0 .0098 .182 .285)"}})])]),t._v(" "),r("symbol",{attrs:{id:"supporter-opensats",viewBox:"0 0 5220 720"}},[r("path",{attrs:{d:"M0 435.197L229.609 291.597V288.121L0 144.259V29.0508L334.901 245.894V333.824L0 550.798V435.197Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M486.969 623.844H902.627V719.643H486.969V623.844Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M993.879 291.2C993.879 106.422 1084.61 0 1214.37 0C1344.13 0 1434.86 106.422 1434.86 291.2C1434.86 479.061 1344.13 587.581 1214.37 587.581C1084.61 587.581 993.879 479.061 993.879 291.2ZM1345.12 291.2C1345.12 155.01 1293.16 75.9967 1214.37 75.9967C1135.58 75.9967 1083.62 155.01 1083.62 291.2C1083.62 430.473 1135.58 511.584 1214.37 511.584C1293.16 511.584 1344.85 430.473 1344.85 291.2H1345.12Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M1593.29 154.29H1663.81L1670.37 205.37H1673.13C1711.31 169.634 1764.71 144.258 1814.44 144.258C1925.96 144.258 1988.02 228.713 1988.02 359.855C1988.02 504.111 1897.95 587.911 1797.77 587.911C1759.13 587.911 1713.54 568.829 1677.39 535.454H1675.29L1679.43 612.237V749.936H1593.29V154.29ZM1899.65 359.855C1899.65 271.269 1867.44 215.599 1791.21 215.599C1756.57 215.599 1717.93 232.713 1679.69 272.121V472.112C1714.79 503.914 1754.61 515.455 1781.57 515.455C1848.75 515.717 1899.65 459.851 1899.65 359.855Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M2118.96 365.035C2118.96 227.336 2222.75 143.93 2335.98 143.93C2460.16 143.93 2530.82 225.434 2530.82 343.527C2530.67 359.209 2529.35 374.858 2526.88 390.345H2178.73V327.2H2473.22L2454.52 348.249C2454.52 256.449 2410.17 210.55 2338.47 210.55C2264.41 210.55 2203.66 265.17 2203.66 364.904C2203.66 468.833 2268.8 520.044 2359.79 520.044C2407.09 520.044 2445.08 505.75 2483.39 482.8L2513.56 537.29C2464.7 569.886 2407.32 587.378 2348.57 587.582C2220.39 587.582 2118.96 505.947 2118.96 365.035Z",fill:"#FF3300"}}),r("path",{attrs:{d:"M2658.41 154.29H2729.07L2735.63 221.697H2739.04C2781.55 178.289 2829.83 144.258 2895.17 144.258C2994.1 144.258 3039.17 205.042 3039.17 315.201V577.026H2952.9V326.152C2952.9 252.319 2928.11 218.222 2865.39 218.222C2819.47 218.222 2788.31 240.844 2744.68 285.563V577.026H2658.41V154.29Z",fill:"#FF3300"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M3208.36 504.308L3259.46 444.376C3303 486.486 3360.93 510.468 3421.5 511.455C3493.27 511.455 3533.03 478.669 3533.03 432.77C3533.03 377.362 3491.63 361.953 3435.41 338.217L3355.57 303.333C3297.64 280.514 3234.21 238.614 3234.21 155.143C3234.21 66.8186 3313.65 0.001814 3425.64 0.001814C3492.01 -0.442962 3555.93 25.0654 3603.75 71.0807L3558.87 126.554C3521.22 93.051 3472.3 74.9951 3421.9 75.9985C3362.2 75.9985 3322.11 103.604 3322.11 150.028C3322.11 199.206 3371.05 217.173 3420.98 236.516L3497.93 270.416C3569.04 298.087 3622.18 339.528 3622.18 422.344C3622.18 513.356 3545.36 587.583 3416.78 587.583C3339.11 587.998 3264.34 558.123 3208.36 504.308V504.308Z"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M3762.96 465.557C3762.96 370.741 3849.04 324.055 4062.7 308.186C4059.62 255.73 4031.54 213.896 3956.3 213.896C3905.13 213.896 3854.68 237.304 3813.28 261.5L3780.48 203.994C3827.98 174.684 3898.57 144.062 3971.78 144.062C4088.42 144.062 4148.91 210.945 4148.91 322.678V577.027H4077.73L4070.84 522.144H4068.08C4022.82 557.553 3963.97 587.715 3906.04 587.715C3825.16 587.584 3762.96 540.045 3762.96 465.557ZM4062.7 462.278V363.266C3896.79 375.134 3847.26 408.576 3847.26 459C3847.26 501.489 3885.38 519.063 3930.65 519.063C3975.91 519.063 4018.88 497.883 4062.7 462.278Z"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M4388.81 409.884V222.941H4272.17V158.813L4392.16 154.289L4403.44 20.2617H4475.02V154.289H4674.64V222.941H4475.02V410.146C4475.02 482.864 4500.73 518.076 4577.29 518.076C4610.27 517.981 4642.96 511.847 4673.73 499.979L4691.24 562.992C4648.39 578.951 4603.07 587.274 4557.35 587.581C4430.86 587.581 4388.81 516.043 4388.81 409.884Z"}}),r("path",{staticStyle:{fill:"var(--btcpay-body-text)"},attrs:{d:"M4818.71 521.815L4857.09 466.014C4909.9 502.948 4972.98 522.353 5037.43 521.487C5102.31 521.487 5133.34 495.259 5133.34 463.85C5133.34 433.95 5115.76 415 5009.22 393.034C4897.7 369.887 4845.21 331.2 4845.21 267.203C4845.21 196.518 4908.85 143.93 5025.95 143.93C5093.26 143.93 5157.55 170.158 5199.93 198.878L5159.45 252.646C5117.79 224.668 5068.79 209.592 5018.6 209.304C4955.62 209.304 4931.28 234.155 4931.28 263.138C4931.28 295.923 4965.07 309.037 5048.12 326.938C5185.89 357.101 5220.33 392.509 5220.33 458.736C5220.33 529.487 5151.71 587.582 5026.8 587.582C4952.47 586.641 4880.07 563.76 4818.71 521.815V521.815Z"}})])]),t._v(" "),r("div",{staticClass:"supporters"},[r("h3",[t._v("Our Supporters")]),t._v(" "),r("p",[t._v("\n The BTCPay Server Project is proudly supported by these entities through the\n "),r("a",{attrs:{href:"https://foundation.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("BTCPay Server Foundation")]),t._v(".\n ")]),t._v(" "),r("div",{staticClass:"logos"},[r("a",{attrs:{href:"https://spiral.xyz",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{staticStyle:{padding:"5px"},attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-spiral"}})]),t._v("\n Spiral\n ")]),t._v(" "),r("a",{attrs:{href:"https://opensats.org",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"120",height:"100"}},[r("use",{attrs:{href:"#supporter-opensats"}})]),t._v("\n OpenSats\n ")]),t._v(" "),r("a",{attrs:{href:"https://www.bailliegifford.com",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"110",height:"100"}},[r("use",{attrs:{href:"#supporter-bailliegifford"}})]),t._v("\n Baillie Gifford\n ")]),t._v(" "),r("a",{attrs:{href:"https://strike.me",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"55",height:"50"}},[r("use",{attrs:{href:"#supporter-strike"}})]),t._v("\n Strike\n ")]),t._v(" "),r("a",{attrs:{href:"https://hrf.org",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"110",height:"50"}},[r("use",{attrs:{href:"#supporter-hrf"}})]),t._v("\n HRF\n ")]),t._v(" "),r("a",{attrs:{href:"https://escapetoelsalvador.org/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"90"}},[r("use",{attrs:{href:"#supporter-esc"}})]),t._v("\n ESC\n ")]),t._v(" "),r("a",{attrs:{href:"https://www.lunanode.com/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-lunanode"}})]),t._v("\n LunaNode\n ")]),t._v(" "),r("a",{attrs:{href:"https://walletofsatoshi.com/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-walletofsatoshi"}})]),t._v("\n Wallet of Satoshi\n ")]),t._v(" "),r("a",{attrs:{href:"https://coincards.com/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"130",height:"100"}},[r("use",{attrs:{href:"#supporter-coincards"}})]),t._v("\n Coincards\n ")]),t._v(" "),r("a",{attrs:{href:"https://www.ivpn.net/",target:"_blank",rel:"noopener noreferrer"}},[r("svg",{attrs:{role:"img",width:"100",height:"100"}},[r("use",{attrs:{href:"#supporter-ivpn"}})]),t._v("\n IVPN\n ")])]),t._v(" "),r("p",[t._v("If you'd like to support the project, please visit the "),r("a",{attrs:{href:"https://btcpayserver.org/donate/"}},[t._v("donation page")]),t._v(".")])])])}),[],!1,null,null,null);r.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/135.91e2346c.js b/assets/js/135.f6f0ddb9.js similarity index 96% rename from assets/js/135.91e2346c.js rename to assets/js/135.f6f0ddb9.js index 8e85cd320f..16aea00a33 100644 --- a/assets/js/135.91e2346c.js +++ b/assets/js/135.f6f0ddb9.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{784:function(t,e,a){"use strict";a.r(e);var r=a(9),o=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"shopware-integration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#shopware-integration"}},[t._v("#")]),t._v(" Shopware integration")]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),e("p",[t._v("Please be aware that those two integrations are not maintained by the BTCPay Server team. If you have any questions, please go to their GitHub issues and contact them directly.")])]),t._v(" "),e("h2",{attrs:{id:"plugin-for-shopware-6"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#plugin-for-shopware-6"}},[t._v("#")]),t._v(" Plugin for Shopware 6")]),t._v(" "),e("p",[t._v("Find it on the "),e("a",{attrs:{href:"https://store.shopware.com/en/coinc71249255720f/accept-bitcoin-and-lightning-payments-via-btcpay-server.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Shopware store"),e("OutboundLink")],1),t._v(" or download it on "),e("a",{attrs:{href:"https://github.com/coincharge-io/CoinchargeBTCPayShopware",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"plugin-for-shopware-5"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#plugin-for-shopware-5"}},[t._v("#")]),t._v(" Plugin for Shopware 5")]),t._v(" "),e("p",[t._v("Download it on "),e("a",{attrs:{href:"https://github.com/lampsolutions/LampSBtcPayShopware",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub"),e("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{782:function(t,e,a){"use strict";a.r(e);var r=a(9),o=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"shopware-integration"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#shopware-integration"}},[t._v("#")]),t._v(" Shopware integration")]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),e("p",[t._v("Please be aware that those two integrations are not maintained by the BTCPay Server team. If you have any questions, please go to their GitHub issues and contact them directly.")])]),t._v(" "),e("h2",{attrs:{id:"plugin-for-shopware-6"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#plugin-for-shopware-6"}},[t._v("#")]),t._v(" Plugin for Shopware 6")]),t._v(" "),e("p",[t._v("Find it on the "),e("a",{attrs:{href:"https://store.shopware.com/en/coinc71249255720f/accept-bitcoin-and-lightning-payments-via-btcpay-server.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Shopware store"),e("OutboundLink")],1),t._v(" or download it on "),e("a",{attrs:{href:"https://github.com/coincharge-io/CoinchargeBTCPayShopware",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"plugin-for-shopware-5"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#plugin-for-shopware-5"}},[t._v("#")]),t._v(" Plugin for Shopware 5")]),t._v(" "),e("p",[t._v("Download it on "),e("a",{attrs:{href:"https://github.com/lampsolutions/LampSBtcPayShopware",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub"),e("OutboundLink")],1)])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/137.1e806ca4.js b/assets/js/137.e8e3b557.js similarity index 98% rename from assets/js/137.1e806ca4.js rename to assets/js/137.e8e3b557.js index 151516a78e..3490b3ea43 100644 --- a/assets/js/137.1e806ca4.js +++ b/assets/js/137.e8e3b557.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{785:function(e,t,a){"use strict";a.r(t);var r=a(9),i=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"tickettailor-plugin-for-btcpayserver"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tickettailor-plugin-for-btcpayserver"}},[e._v("#")]),e._v(" TicketTailor plugin for BTCPayServer")]),e._v(" "),t("p",[e._v("This plugin allows you to integrate "),t("a",{attrs:{href:"https://www.tickettailor.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("TicketTailor"),t("OutboundLink")],1),e._v(" with BTCPay Server.\nIt allows you to sell tickets for your events and accept payments in Bitcoin.")]),e._v(" "),t("h2",{attrs:{id:"installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[e._v("#")]),e._v(" Installation")]),e._v(" "),t("ol",[t("li",[e._v("Install the plugin from Plugins=>Add New=> TicketTailor")]),e._v(" "),t("li",[e._v("Restart BTCPay Server")]),e._v(" "),t("li",[e._v("Go to your Ticket Tailor account and add a "),t("a",{attrs:{href:"https://app.tickettailor.com/box-office/api#dpop=/box-office/api-key/add",target:"_blank",rel:"noopener noreferrer"}},[e._v("new API key"),t("OutboundLink")],1),e._v(" with "),t("code",[e._v("Admin")]),e._v(' role and "hide personal data from responses" unchecked.')]),e._v(" "),t("li",[e._v("Go back to your BTCPay Server, choose the store to integrate with and click on Ticket Tailor in the navigation.")]),e._v(" "),t("li",[e._v("Enter the API Key and save.")]),e._v(" "),t("li",[e._v("Now you should be able to select your Ticket tailor events in the dropdown. One selected, click save.")]),e._v(" "),t("li",[e._v('You should now have a "ticket purchase" button on your store\'s page. Clicking it will take you to the btcpayserver event purchase page.')])]),e._v(" "),t("h2",{attrs:{id:"flow"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#flow"}},[e._v("#")]),e._v(" Flow")]),e._v(" "),t("p",[e._v("When a customer goes to the ticket purchase page, they can enter a name and must enter an email. Ticket Tailor requires a full name, so we generate one if not specified.\nAfter the tickets are selected, the customer is redirected to the BTCPay Server checkout page, and a hold for the selected tickets is created to reserve the tickets for this customer. After the payment is sent, the customer is redirected to a custom receipt page where they can see their tickets. Tickets are only issued AFTER an invoice is settled. If an invoice is set to invalid or expired, the hold is deleted and the tickets are released for sale again.")]),e._v(" "),t("h2",{attrs:{id:"additional-configuration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-configuration"}},[e._v("#")]),e._v(" Additional Configuration")]),e._v(" "),t("p",[e._v("You should configure the "),t("RouterLink",{attrs:{to:"/Notifications/#store-emails"}},[e._v("SMTP email settings in the store")]),e._v(" so that users receive the ticket link by email after an invoice is settled.\nYou're also able to override ticket names, prices and description on the BTCPay Server side.")],1),e._v(" "),t("h2",{attrs:{id:"secret-tickets"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#secret-tickets"}},[e._v("#")]),e._v(" Secret Tickets")]),e._v(" "),t("p",[e._v("You can configure a ticket on ticket tailor to require an access code. BTCPay Server allows you to add "),t("code",[e._v("?accessCode=XXXX")]),e._v(" to the ticket purchase page url to allow customers to view and purchase these secret tickets.")])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{784:function(e,t,a){"use strict";a.r(t);var r=a(9),i=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"tickettailor-plugin-for-btcpayserver"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tickettailor-plugin-for-btcpayserver"}},[e._v("#")]),e._v(" TicketTailor plugin for BTCPayServer")]),e._v(" "),t("p",[e._v("This plugin allows you to integrate "),t("a",{attrs:{href:"https://www.tickettailor.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("TicketTailor"),t("OutboundLink")],1),e._v(" with BTCPay Server.\nIt allows you to sell tickets for your events and accept payments in Bitcoin.")]),e._v(" "),t("h2",{attrs:{id:"installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[e._v("#")]),e._v(" Installation")]),e._v(" "),t("ol",[t("li",[e._v("Install the plugin from Plugins=>Add New=> TicketTailor")]),e._v(" "),t("li",[e._v("Restart BTCPay Server")]),e._v(" "),t("li",[e._v("Go to your Ticket Tailor account and add a "),t("a",{attrs:{href:"https://app.tickettailor.com/box-office/api#dpop=/box-office/api-key/add",target:"_blank",rel:"noopener noreferrer"}},[e._v("new API key"),t("OutboundLink")],1),e._v(" with "),t("code",[e._v("Admin")]),e._v(' role and "hide personal data from responses" unchecked.')]),e._v(" "),t("li",[e._v("Go back to your BTCPay Server, choose the store to integrate with and click on Ticket Tailor in the navigation.")]),e._v(" "),t("li",[e._v("Enter the API Key and save.")]),e._v(" "),t("li",[e._v("Now you should be able to select your Ticket tailor events in the dropdown. One selected, click save.")]),e._v(" "),t("li",[e._v('You should now have a "ticket purchase" button on your store\'s page. Clicking it will take you to the btcpayserver event purchase page.')])]),e._v(" "),t("h2",{attrs:{id:"flow"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#flow"}},[e._v("#")]),e._v(" Flow")]),e._v(" "),t("p",[e._v("When a customer goes to the ticket purchase page, they can enter a name and must enter an email. Ticket Tailor requires a full name, so we generate one if not specified.\nAfter the tickets are selected, the customer is redirected to the BTCPay Server checkout page, and a hold for the selected tickets is created to reserve the tickets for this customer. After the payment is sent, the customer is redirected to a custom receipt page where they can see their tickets. Tickets are only issued AFTER an invoice is settled. If an invoice is set to invalid or expired, the hold is deleted and the tickets are released for sale again.")]),e._v(" "),t("h2",{attrs:{id:"additional-configuration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-configuration"}},[e._v("#")]),e._v(" Additional Configuration")]),e._v(" "),t("p",[e._v("You should configure the "),t("RouterLink",{attrs:{to:"/Notifications/#store-emails"}},[e._v("SMTP email settings in the store")]),e._v(" so that users receive the ticket link by email after an invoice is settled.\nYou're also able to override ticket names, prices and description on the BTCPay Server side.")],1),e._v(" "),t("h2",{attrs:{id:"secret-tickets"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#secret-tickets"}},[e._v("#")]),e._v(" Secret Tickets")]),e._v(" "),t("p",[e._v("You can configure a ticket on ticket tailor to require an access code. BTCPay Server allows you to add "),t("code",[e._v("?accessCode=XXXX")]),e._v(" to the ticket purchase page url to allow customers to view and purchase these secret tickets.")])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/138.bfd2351c.js b/assets/js/138.27123c36.js similarity index 99% rename from assets/js/138.bfd2351c.js rename to assets/js/138.27123c36.js index 53bdbc74b9..acee2e5f18 100644 --- a/assets/js/138.bfd2351c.js +++ b/assets/js/138.27123c36.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{788:function(e,t,a){"use strict";a.r(t);var r=a(9),i=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"btctransmuter-docs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#btctransmuter-docs"}},[e._v("#")]),e._v(" BtcTransmuter Docs")]),e._v(" "),t("h2",{attrs:{id:"introduction-what-is-btctransmuter"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#introduction-what-is-btctransmuter"}},[e._v("#")]),e._v(" Introduction - What is BtcTransmuter?")]),e._v(" "),t("p",[e._v("BtcTransmuter is a free, open-source & self-hosted tool that allows you to configure actions that execute automatically upon specified conditions. Its primary focus is the integration of cryptocurrency services to help users manage their funds and business workflow.")]),e._v(" "),t("h2",{attrs:{id:"how-does-it-work"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work"}},[e._v("#")]),e._v(" How does it work?")]),e._v(" "),t("p",[e._v("There are 3 main components in BtcTransmuter - External Services, Recipes and Extensions.")]),e._v(" "),t("ul",[t("li",[e._v("External services integrated with third parties, such as a BTCPayServer instance or a Cryptocurrency Exchange.")]),e._v(" "),t("li",[e._v("Recipes is a set of instructions created by the user: What to execute and when. The execution part is called a Recipe Action while the condition is called a Recipe Trigger. An action could be "),t("code",[e._v("Send an Email using the SMTP External Service")]),e._v(" and the trigger being "),t("code",[e._v("If a new invoice was created on my BtcPay External Service")])]),e._v(" "),t("li",[e._v("Extensions provide a way to add more external service types, actions and triggers without needing to modify the original code.")])]),e._v(" "),t("h2",{attrs:{id:"can-i-use-this-in-production"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#can-i-use-this-in-production"}},[e._v("#")]),e._v(" Can I use this in production")]),e._v(" "),t("p",[e._v("This project is still in early development and most likely has some bugs and quirks that need to be ironed out. The project is considered to be in ALPHA state, meaning not all desired functionality has been implemented and there can be breaking changes.")]),e._v(" "),t("h2",{attrs:{id:"how-do-i-deploy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-deploy"}},[e._v("#")]),e._v(" How do I deploy?")]),e._v(" "),t("p",[e._v("If you set up BTCPay using any "),t("RouterLink",{attrs:{to:"/Docker/"}},[e._v("dockerized install method")]),e._v(", you can enable BTC Transmuter easily.")],1),e._v(" "),t("p",[e._v("First, "),t("a",{attrs:{href:"https://github.com/JeffVandrewJr/patron/blob/master/SSH.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSH"),t("OutboundLink")],1),e._v(" into your server.\nThen run the following commands:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" btcpayserver-docker\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("export")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),e._v(';opt-add-btctransmuter"')]),e._v("\n\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v(".")]),e._v(" ./btcpay-setup.sh -i\n")])])]),t("p",[e._v("If you have trouble starting your server after running the setup command, verify you have "),t("RouterLink",{attrs:{to:"/FAQ/FAQ-Deployment/#how-can-i-modify-or-deactivate-environment-variables"}},[e._v("added the environment variable")]),e._v(" correctly to enable Transmuter.")],1),e._v(" "),t("p",[e._v("Once completed, your Transmuter will be available at your configured BTCPay website under "),t("code",[e._v("/btctransmuter/")]),e._v(", where the first account to register becomes the Transmuter admin. Open that link in your browser and you’ll see the homepage.")]),e._v(" "),t("h2",{attrs:{id:"what-extensions-are-provided"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-extensions-are-provided"}},[e._v("#")]),e._v(" What extensions are provided?")]),e._v(" "),t("p",[e._v("You can see a list of built-in extensions once you log into your transmuter application under "),t("code",[e._v("/extensions")]),e._v(".")]),e._v(" "),t("p",[e._v("Currently there are 12 extensions that come bundled with the main application:")]),e._v(" "),t("ul",[t("li",[e._v("Tor - Provides TOR access to your Transmuter app")]),e._v(" "),t("li",[e._v("Presets - Provides one page wizards for quick setups of common scenarios")]),e._v(" "),t("li",[e._v("BtcPayServer - Provides you a way to interact with BTCPayServer stores")]),e._v(" "),t("li",[e._v("Email - Provides you with a way to check a POP3 for incoming emails and a way to send Email via SMTP")]),e._v(" "),t("li",[e._v("Exchange - Provides you a way to connect to a variety of exchanges and place orders on them")]),e._v(" "),t("li",[e._v("Lightning - Provides you interoperability with lightning nodes to be able to do basic channel and invoice management")]),e._v(" "),t("li",[e._v("NBXplorer - Provides you ways to detect incoming funds, send funds, and generate addresses.")]),e._v(" "),t("li",[e._v("Operators - Lets you create conditional workflows")]),e._v(" "),t("li",[e._v("Recipe - Lets you manage existing or create recipes with your workflows")]),e._v(" "),t("li",[e._v("Timer - Run X every Y")]),e._v(" "),t("li",[e._v("WebHook - Trigger Recipes with an http call or execute external web hooks with a recipe")])]),e._v(" "),t("h2",{attrs:{id:"what-preset-recipes-are-provided"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-preset-recipes-are-provided"}},[e._v("#")]),e._v(" What preset recipes are provided?")]),e._v(" "),t("p",[e._v("Currently there are three preset recipes that you can enable easily. In addition to the list below, you can create your own recipes for automating other tasks.")]),e._v(" "),t("ol",[t("li",[e._v("On-chain Forwarder - Forward funds from a wallet elsewhere")]),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Transmuter/EmailReceiptsPreset/"}},[e._v("BTCPay Email Receipts")]),e._v(" - Send an email when a BTCPay invoice gets paid")],1),e._v(" "),t("li",[e._v("Fiat Conversion - Convert incoming money to fiat on an exchange by market selling when BTCPay invoice statuses change.")]),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Transmuter/DCA/"}},[e._v("Dollar Cost Average")]),e._v(" - Schedule daily purchases of Bitcoin")],1)]),e._v(" "),t("h2",{attrs:{id:"how-do-i-write-an-extension"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-write-an-extension"}},[e._v("#")]),e._v(" How do I write an extension?")]),e._v(" "),t("p",[e._v("An extension must be its own .net core class library project that references "),t("code",[e._v("BtcTransmuter.Abstractions")]),e._v("\nThere must be a class implementing "),t("code",[e._v("BtcTransmuterExtension")]),e._v(" in this library. This file bootstraps the plugin name and adds all the services to system on startup.")]),e._v(" "),t("h3",{attrs:{id:"adding-a-trigger"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-a-trigger"}},[e._v("#")]),e._v(" Adding a Trigger")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Implement "),t("code",[e._v("BaseTrigger")]),e._v(" This class will be used to transport the event data")])]),e._v(" "),t("li",[t("p",[e._v("Implement "),t("code",[e._v("BaseTriggerHandler")]),e._v(" This handles:")]),e._v(" "),t("ul",[t("li",[e._v("Describing the trigger to the main system.")]),e._v(" "),t("li",[e._v("Telling the main UI how to create/edit a recipe trigger using it.")]),e._v(" "),t("li",[e._v("The logic needed to see if a trigger is...triggered.")])]),e._v(" "),t("p",[e._v("You will see that "),t("code",[e._v("BaseTriggerHandler")]),e._v(" has 2 generic arguments, a "),t("code",[e._v("Data")]),e._v(" and "),t("code",[e._v("Parameters")]),e._v(" "),t("code",[e._v("Data")]),e._v(" is the trigger that that was detected, while "),t("code",[e._v("Parameters")]),e._v(" is the data from a Recipe to see if it triggers its actions.")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Partial View (named as the same value as the property "),t("code",[e._v("ViewPartial")]),e._v(" in the "),t("code",[e._v("BaseTriggerHandler")]),e._v(" implementation)\nThis handles displaying the trigger settings in a recipe")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Controller that allows a user to create/edit the necessary data to set the trigger on a recipe.")])])]),e._v(" "),t("h3",{attrs:{id:"adding-an-action"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-an-action"}},[e._v("#")]),e._v(" Adding an Action")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Implement "),t("code",[e._v("BaseActionHandler")]),e._v(" This handles:")]),e._v(" "),t("ul",[t("li",[e._v("Describing the action to the main system.")]),e._v(" "),t("li",[e._v("Telling the main UI how to create/edit a recipe action using it.")]),e._v(" "),t("li",[e._v("The logic needed to execute the action")])]),e._v(" "),t("p",[e._v("You will see that "),t("code",[e._v("BaseActionHandler")]),e._v(" has a generic argument, "),t("code",[e._v("Data")]),e._v(" "),t("code",[e._v("Data")]),e._v(" is the type of the action that holds the payload needed to exeucte the action through the instructions of recipe action")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Partial View (named as the same value as the property "),t("code",[e._v("ViewPartial")]),e._v(" in the "),t("code",[e._v("BaseActionHandler")]),e._v(" implementation)\nThis handles displaying the action settings in a recipe")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Controller that allows a user to create/edit the necessary data to set the action on a recipe.")])])]),e._v(" "),t("h3",{attrs:{id:"adding-an-external-service"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-an-external-service"}},[e._v("#")]),e._v(" Adding an External Service")]),e._v(" "),t("ul",[t("li",[e._v("Implement "),t("code",[e._v("BaseExternalService")]),e._v(" & "),t("code",[e._v("IExternalServiceDescriptor")])]),e._v(" "),t("li",[e._v("Implement a Partial View (named as the same value as the property "),t("code",[e._v("ViewPartial")]),e._v(" in the "),t("code",[e._v("IExternalServiceDescriptor")]),e._v(" implementation)")]),e._v(" "),t("li",[e._v("Implement a Controller that allows a user to create/edit the necessary data for an external service.")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{787:function(e,t,a){"use strict";a.r(t);var r=a(9),i=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"btctransmuter-docs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#btctransmuter-docs"}},[e._v("#")]),e._v(" BtcTransmuter Docs")]),e._v(" "),t("h2",{attrs:{id:"introduction-what-is-btctransmuter"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#introduction-what-is-btctransmuter"}},[e._v("#")]),e._v(" Introduction - What is BtcTransmuter?")]),e._v(" "),t("p",[e._v("BtcTransmuter is a free, open-source & self-hosted tool that allows you to configure actions that execute automatically upon specified conditions. Its primary focus is the integration of cryptocurrency services to help users manage their funds and business workflow.")]),e._v(" "),t("h2",{attrs:{id:"how-does-it-work"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work"}},[e._v("#")]),e._v(" How does it work?")]),e._v(" "),t("p",[e._v("There are 3 main components in BtcTransmuter - External Services, Recipes and Extensions.")]),e._v(" "),t("ul",[t("li",[e._v("External services integrated with third parties, such as a BTCPayServer instance or a Cryptocurrency Exchange.")]),e._v(" "),t("li",[e._v("Recipes is a set of instructions created by the user: What to execute and when. The execution part is called a Recipe Action while the condition is called a Recipe Trigger. An action could be "),t("code",[e._v("Send an Email using the SMTP External Service")]),e._v(" and the trigger being "),t("code",[e._v("If a new invoice was created on my BtcPay External Service")])]),e._v(" "),t("li",[e._v("Extensions provide a way to add more external service types, actions and triggers without needing to modify the original code.")])]),e._v(" "),t("h2",{attrs:{id:"can-i-use-this-in-production"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#can-i-use-this-in-production"}},[e._v("#")]),e._v(" Can I use this in production")]),e._v(" "),t("p",[e._v("This project is still in early development and most likely has some bugs and quirks that need to be ironed out. The project is considered to be in ALPHA state, meaning not all desired functionality has been implemented and there can be breaking changes.")]),e._v(" "),t("h2",{attrs:{id:"how-do-i-deploy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-deploy"}},[e._v("#")]),e._v(" How do I deploy?")]),e._v(" "),t("p",[e._v("If you set up BTCPay using any "),t("RouterLink",{attrs:{to:"/Docker/"}},[e._v("dockerized install method")]),e._v(", you can enable BTC Transmuter easily.")],1),e._v(" "),t("p",[e._v("First, "),t("a",{attrs:{href:"https://github.com/JeffVandrewJr/patron/blob/master/SSH.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("SSH"),t("OutboundLink")],1),e._v(" into your server.\nThen run the following commands:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" btcpayserver-docker\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("export")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),e._v(';opt-add-btctransmuter"')]),e._v("\n\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v(".")]),e._v(" ./btcpay-setup.sh -i\n")])])]),t("p",[e._v("If you have trouble starting your server after running the setup command, verify you have "),t("RouterLink",{attrs:{to:"/FAQ/FAQ-Deployment/#how-can-i-modify-or-deactivate-environment-variables"}},[e._v("added the environment variable")]),e._v(" correctly to enable Transmuter.")],1),e._v(" "),t("p",[e._v("Once completed, your Transmuter will be available at your configured BTCPay website under "),t("code",[e._v("/btctransmuter/")]),e._v(", where the first account to register becomes the Transmuter admin. Open that link in your browser and you’ll see the homepage.")]),e._v(" "),t("h2",{attrs:{id:"what-extensions-are-provided"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-extensions-are-provided"}},[e._v("#")]),e._v(" What extensions are provided?")]),e._v(" "),t("p",[e._v("You can see a list of built-in extensions once you log into your transmuter application under "),t("code",[e._v("/extensions")]),e._v(".")]),e._v(" "),t("p",[e._v("Currently there are 12 extensions that come bundled with the main application:")]),e._v(" "),t("ul",[t("li",[e._v("Tor - Provides TOR access to your Transmuter app")]),e._v(" "),t("li",[e._v("Presets - Provides one page wizards for quick setups of common scenarios")]),e._v(" "),t("li",[e._v("BtcPayServer - Provides you a way to interact with BTCPayServer stores")]),e._v(" "),t("li",[e._v("Email - Provides you with a way to check a POP3 for incoming emails and a way to send Email via SMTP")]),e._v(" "),t("li",[e._v("Exchange - Provides you a way to connect to a variety of exchanges and place orders on them")]),e._v(" "),t("li",[e._v("Lightning - Provides you interoperability with lightning nodes to be able to do basic channel and invoice management")]),e._v(" "),t("li",[e._v("NBXplorer - Provides you ways to detect incoming funds, send funds, and generate addresses.")]),e._v(" "),t("li",[e._v("Operators - Lets you create conditional workflows")]),e._v(" "),t("li",[e._v("Recipe - Lets you manage existing or create recipes with your workflows")]),e._v(" "),t("li",[e._v("Timer - Run X every Y")]),e._v(" "),t("li",[e._v("WebHook - Trigger Recipes with an http call or execute external web hooks with a recipe")])]),e._v(" "),t("h2",{attrs:{id:"what-preset-recipes-are-provided"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-preset-recipes-are-provided"}},[e._v("#")]),e._v(" What preset recipes are provided?")]),e._v(" "),t("p",[e._v("Currently there are three preset recipes that you can enable easily. In addition to the list below, you can create your own recipes for automating other tasks.")]),e._v(" "),t("ol",[t("li",[e._v("On-chain Forwarder - Forward funds from a wallet elsewhere")]),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Transmuter/EmailReceiptsPreset/"}},[e._v("BTCPay Email Receipts")]),e._v(" - Send an email when a BTCPay invoice gets paid")],1),e._v(" "),t("li",[e._v("Fiat Conversion - Convert incoming money to fiat on an exchange by market selling when BTCPay invoice statuses change.")]),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Transmuter/DCA/"}},[e._v("Dollar Cost Average")]),e._v(" - Schedule daily purchases of Bitcoin")],1)]),e._v(" "),t("h2",{attrs:{id:"how-do-i-write-an-extension"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-write-an-extension"}},[e._v("#")]),e._v(" How do I write an extension?")]),e._v(" "),t("p",[e._v("An extension must be its own .net core class library project that references "),t("code",[e._v("BtcTransmuter.Abstractions")]),e._v("\nThere must be a class implementing "),t("code",[e._v("BtcTransmuterExtension")]),e._v(" in this library. This file bootstraps the plugin name and adds all the services to system on startup.")]),e._v(" "),t("h3",{attrs:{id:"adding-a-trigger"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-a-trigger"}},[e._v("#")]),e._v(" Adding a Trigger")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Implement "),t("code",[e._v("BaseTrigger")]),e._v(" This class will be used to transport the event data")])]),e._v(" "),t("li",[t("p",[e._v("Implement "),t("code",[e._v("BaseTriggerHandler")]),e._v(" This handles:")]),e._v(" "),t("ul",[t("li",[e._v("Describing the trigger to the main system.")]),e._v(" "),t("li",[e._v("Telling the main UI how to create/edit a recipe trigger using it.")]),e._v(" "),t("li",[e._v("The logic needed to see if a trigger is...triggered.")])]),e._v(" "),t("p",[e._v("You will see that "),t("code",[e._v("BaseTriggerHandler")]),e._v(" has 2 generic arguments, a "),t("code",[e._v("Data")]),e._v(" and "),t("code",[e._v("Parameters")]),e._v(" "),t("code",[e._v("Data")]),e._v(" is the trigger that that was detected, while "),t("code",[e._v("Parameters")]),e._v(" is the data from a Recipe to see if it triggers its actions.")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Partial View (named as the same value as the property "),t("code",[e._v("ViewPartial")]),e._v(" in the "),t("code",[e._v("BaseTriggerHandler")]),e._v(" implementation)\nThis handles displaying the trigger settings in a recipe")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Controller that allows a user to create/edit the necessary data to set the trigger on a recipe.")])])]),e._v(" "),t("h3",{attrs:{id:"adding-an-action"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-an-action"}},[e._v("#")]),e._v(" Adding an Action")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Implement "),t("code",[e._v("BaseActionHandler")]),e._v(" This handles:")]),e._v(" "),t("ul",[t("li",[e._v("Describing the action to the main system.")]),e._v(" "),t("li",[e._v("Telling the main UI how to create/edit a recipe action using it.")]),e._v(" "),t("li",[e._v("The logic needed to execute the action")])]),e._v(" "),t("p",[e._v("You will see that "),t("code",[e._v("BaseActionHandler")]),e._v(" has a generic argument, "),t("code",[e._v("Data")]),e._v(" "),t("code",[e._v("Data")]),e._v(" is the type of the action that holds the payload needed to exeucte the action through the instructions of recipe action")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Partial View (named as the same value as the property "),t("code",[e._v("ViewPartial")]),e._v(" in the "),t("code",[e._v("BaseActionHandler")]),e._v(" implementation)\nThis handles displaying the action settings in a recipe")])]),e._v(" "),t("li",[t("p",[e._v("Implement a Controller that allows a user to create/edit the necessary data to set the action on a recipe.")])])]),e._v(" "),t("h3",{attrs:{id:"adding-an-external-service"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-an-external-service"}},[e._v("#")]),e._v(" Adding an External Service")]),e._v(" "),t("ul",[t("li",[e._v("Implement "),t("code",[e._v("BaseExternalService")]),e._v(" & "),t("code",[e._v("IExternalServiceDescriptor")])]),e._v(" "),t("li",[e._v("Implement a Partial View (named as the same value as the property "),t("code",[e._v("ViewPartial")]),e._v(" in the "),t("code",[e._v("IExternalServiceDescriptor")]),e._v(" implementation)")]),e._v(" "),t("li",[e._v("Implement a Controller that allows a user to create/edit the necessary data for an external service.")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/139.b2ec29d0.js b/assets/js/139.684b3948.js similarity index 97% rename from assets/js/139.b2ec29d0.js rename to assets/js/139.684b3948.js index 73101fe07c..e01424ac81 100644 --- a/assets/js/139.b2ec29d0.js +++ b/assets/js/139.684b3948.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{789:function(e,t,a){"use strict";a.r(t);var o=a(9),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"trocador"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trocador"}},[e._v("#")]),e._v(" Trocador")]),e._v(" "),t("p",[e._v("A plugin for BTCPay Server for users to pay invoices at checkout using a different cryptocurrency. Trocador is an exchange aggregator that offers excellent rates to users while providing them strong privacy.")]),e._v(" "),t("h2",{attrs:{id:"use-cases-and-features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#use-cases-and-features"}},[e._v("#")]),e._v(" Use Cases and Features")]),e._v(" "),t("ul",[t("li",[e._v("Allow customers to pay with whichever asset they prefer.")]),e._v(" "),t("li",[e._v("Settle these purchases in your wallet of choice (Bitcoin, Monero, etc).")]),e._v(" "),t("li",[e._v('Choose a custom plugin name that is displayed to the user (default is "Altcoins Trocador").')]),e._v(" "),t("li",[e._v("Choose a default payment currency that is shown to the user (eg: Ethereum), and the user can choose a different one.")]),e._v(" "),t("li",[e._v("Optionally show Trocador to the customer first in the invoice by default.")]),e._v(" "),t("li",[e._v("Optionally provide a referral code to earn a portion of the volume.")])]),e._v(" "),t("h2",{attrs:{id:"caveats"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#caveats"}},[e._v("#")]),e._v(" Caveats")]),e._v(" "),t("p",[t("strong",[e._v("We recommend setting the invoice expiry timer to at least 120 minutes.")]),e._v(' This can be done by clicking on "Settings", and then editing the value in General for "Invoice expires if the full amount has not been paid after …" to 120 or larger. Most exchanges complete in about 10 minutes but the slowest may take up to a day, depending on network congestion and/or exchange delays.')]),e._v(" "),t("p",[e._v("We recommend not selecting lightning network as the default wallet to receive payments from Trocador, as this may worsen conversion rates and reduce the number of coins accepted.")]),e._v(" "),t("h2",{attrs:{id:"compatibility"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#compatibility"}},[e._v("#")]),e._v(" Compatibility")]),e._v(" "),t("p",[e._v("We recommend only enabling one checkout plugin (eg: only enabling Trocador, not also enabling SideShift and/or FixedFloat).")]),e._v(" "),t("h2",{attrs:{id:"how-to-activate"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-activate"}},[e._v("#")]),e._v(" How to activate")]),e._v(" "),t("p",[e._v('In the server dashboard, click on "Manage Plugins", then click the "Install" button after Trocador.')])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{788:function(e,t,a){"use strict";a.r(t);var o=a(9),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"trocador"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trocador"}},[e._v("#")]),e._v(" Trocador")]),e._v(" "),t("p",[e._v("A plugin for BTCPay Server for users to pay invoices at checkout using a different cryptocurrency. Trocador is an exchange aggregator that offers excellent rates to users while providing them strong privacy.")]),e._v(" "),t("h2",{attrs:{id:"use-cases-and-features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#use-cases-and-features"}},[e._v("#")]),e._v(" Use Cases and Features")]),e._v(" "),t("ul",[t("li",[e._v("Allow customers to pay with whichever asset they prefer.")]),e._v(" "),t("li",[e._v("Settle these purchases in your wallet of choice (Bitcoin, Monero, etc).")]),e._v(" "),t("li",[e._v('Choose a custom plugin name that is displayed to the user (default is "Altcoins Trocador").')]),e._v(" "),t("li",[e._v("Choose a default payment currency that is shown to the user (eg: Ethereum), and the user can choose a different one.")]),e._v(" "),t("li",[e._v("Optionally show Trocador to the customer first in the invoice by default.")]),e._v(" "),t("li",[e._v("Optionally provide a referral code to earn a portion of the volume.")])]),e._v(" "),t("h2",{attrs:{id:"caveats"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#caveats"}},[e._v("#")]),e._v(" Caveats")]),e._v(" "),t("p",[t("strong",[e._v("We recommend setting the invoice expiry timer to at least 120 minutes.")]),e._v(' This can be done by clicking on "Settings", and then editing the value in General for "Invoice expires if the full amount has not been paid after …" to 120 or larger. Most exchanges complete in about 10 minutes but the slowest may take up to a day, depending on network congestion and/or exchange delays.')]),e._v(" "),t("p",[e._v("We recommend not selecting lightning network as the default wallet to receive payments from Trocador, as this may worsen conversion rates and reduce the number of coins accepted.")]),e._v(" "),t("h2",{attrs:{id:"compatibility"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#compatibility"}},[e._v("#")]),e._v(" Compatibility")]),e._v(" "),t("p",[e._v("We recommend only enabling one checkout plugin (eg: only enabling Trocador, not also enabling SideShift and/or FixedFloat).")]),e._v(" "),t("h2",{attrs:{id:"how-to-activate"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-activate"}},[e._v("#")]),e._v(" How to activate")]),e._v(" "),t("p",[e._v('In the server dashboard, click on "Manage Plugins", then click the "Install" button after Trocador.')])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/14.fb469479.js b/assets/js/14.014cc1a2.js similarity index 99% rename from assets/js/14.fb469479.js rename to assets/js/14.014cc1a2.js index 0fe56bdcd3..4627ef0ccb 100644 --- a/assets/js/14.fb469479.js +++ b/assets/js/14.014cc1a2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{529:function(A,t,e){A.exports=e.p+"assets/img/1.1317fcf2.png"},530:function(A,t,e){A.exports=e.p+"assets/img/2.00f4500f.png"},531:function(A,t,e){A.exports=e.p+"assets/img/3.3c4c0b97.png"},532:function(A,t,e){A.exports=e.p+"assets/img/4.21661a93.png"},533:function(A,t,e){A.exports=e.p+"assets/img/5.9bc4d4fd.png"},534:function(A,t,e){A.exports=e.p+"assets/img/6.05eb51af.png"},535:function(A,t,e){A.exports=e.p+"assets/img/7.683a8418.png"},536:function(A,t,e){A.exports=e.p+"assets/img/8.64846216.png"},537:function(A,t){A.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABIMAAACsCAYAAADovmwHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABduSURBVHhe7d3/c131fefx/VvAYL4lNgUMQTbbTTAE6hgxbLCWzYR13eCmS0qYsqEayMLWC2zDOIEW6MSZ0dpu49pJsedCvBNBih1PusIpI+8OmBaUDSsbvIpxI0DRjCbSzHvv59xzpXuvji6+krFsncdz5jEDusdX917pF73m3HP/1aWXXhoAAAAAlIMxCAAAAKBEjEEAAAAAJWIMAgAAACgRYxAAAABAiRiDAAAAAErEGAQAAABQIsYgAAAAgBIxBgEAAACUiDEIAAAAoESMQQAAAAAlYgwCAAAAKBFjEAAAAECJGIMAAAAASmReY9CnV6yMGz53S9y8/otxS/cGAAAAAAqk7SRtKGlLKdpYFkPHY1B68OmJXHn1tbFs2bK44IILAAAAACiQtpO0oaQt5VwZhDoeg9KalZ5E0RMEAAAAYLa0paRNpWhrOds6HoPSkuWMIAAAAIDTl7aUtKkUbS1nW8djUHq/W9GTAgAAAGBuaVMp2lrONmMQAAAAwFlgDAIAAAAoEWMQAAAAQIkYgwAAAABKxBgEAAAAUCLGIAAAAIASMQYBAAAAlIgxCAAAAKBEjEEAAAAAJWIMAgAAACgRYxAAAABAiRiDAAAAAErEGAQAAABQIsYgAAAAgBIxBgEAAACUiDEIAAAAoESMQQAAAAAlYgwCAAAAKBFjEAAAAECJGIMAAAAASsQYtGAPRP/JiDjZHw8U3g4Ftr1e/aWJeH1bwW0AAADwCTIGtbH2/u9G/+BwnBqfzP5wz5ocjw9PDMXBPQ9HT3acMei89UB/pB/dnH2SP1NjEAAAAIvEGFRobXyz/73IJqCpiRgdPhqv9u+O7ZWDMXh0OEYnpmLqrZ3RnR1rDDpv5WPQR0dfjO3bt8/2zIP5z/gTYAwCAABgkRiDCjywfySmqn+oT40ciifv7io4Zm2sXVv/b2PQeSsfg072P1B8+yfJGAQAAMAiMQa16t4Zb6UlaPxwbO0quH2WmTGo9+4no//t0ZhI/77a1MRoDA/0xb2F97M27t8xEMOjE9nwVD06JkaHY2DH/bF21rEdHt91dzxZeSNOjNWPTe9u+zBOvNEfT93TfGxX9TFX3jgR9XfCtX/MdZuj8m714InX4unC4x6JA6PV20cPxCPTX+vk+W6LbCp5fVvL12tqO8rrsW36a7WfwdSR57Ln/uzAzPNpO7ac7hjUsyuGqg966tje2NxyW9fWwzFevY/RQ1uiq/HrLa9rOsNs7MT/ju335cdMj0HpdRmME9MHTsb4iTei8kTP9H3N3OejsefgUMvP9UQMznoNa6/fsb0bY+39O2JgeOZ3Mh3/RuWJ/C2Ojbri3r7qz+fUeO2MuIIaX8v5/d4AAABwLjAGtdi491j2x+27lc2Ft8+Wj0EfjcRI9S/j94cORiV7m9Hu6H/z19kf7eNHnmt5u1FPbDsyVr1tKsaOD+THV2LgeP61I9ta/ljv5Piu2Hp4vPrX+VgcH6jkb3mqPpZXh6qP783Y2d1wv5v/Ot7KDj0eA5V03PaoDByPsTR8jOxve6ZT9863qt95Il57uuDMqUcORNqCZkaWTp/v/MageH1P9bbx7PkM9u+O3f0vxbbNzf+2SQdnBvX0Ha0+26k4trfh96Jra6SXOk6+HL0NI0hX7/54L40kkx/E8GB/7E6v68GjMXzq5/Fc/bh8DDo5MhKT+ePNflaVgXgv3efUSOx/YOY+s/t9+rUYnxiJoVdr95lew8H30zeaird2djccW3v9Jo69EyOTEzHyxuzjR/Y3P+ee6uOpvnLx6yN74rGvb4pNmx6K7/7P2lslR3/27dh059qZ4xfwewMAAMDiMwa1qP2NXv1DvH4Gx8fKh4j0B3Z/b9PZIWkE2ZVOKYmh2NUwwtTPJjn5cuvxXdH7crqz8Ti8dWZk6ez45+JI9Vv+9rWnG44rkj+2liEj6dk1VH02rQNDi/wMqplrJ83Ycuij6mN6Nyr5ENPp8533GDQ1FZMj/bOez5w6eptYTzY0xdSx2Js9r/roNhL9vY2PfXPsPZatIi1fb5GPQTFefR49zbd1bTmUjWkfHdrS9PX0Pbtan1v9TLahXQ0/h/z1i4k42tdyhlHXljhUu/PYMv31+2L/SPVrTWdyJT2x55etxy7w9wYAAIBFZwxqkv9R3DQ0fJz6GNQ8+NQ9kN14MvobzvJ4Lq01cxx/QVf1D/m0Jby+bXo46ez4/C1aJw/EN6eva1Rg495I50CltxLNuq17V/W7Ve8zve2q9bZpXfH0axPVg95qPtvogi2RbUHH9sbG/GudPt95j0ExGgceaT62rXwMmqtZbzHrqT6ubA/aG1/LBq6CATB/XWcPOS3yMaj4uPbPv1n+3JuuWZX/+6YRZ8bs12/u7zfr2AX/3gAAALDYjEFNFjAGnXo5egtunz0GFf3x3qj1/jo9Pr3l50j2lp3sbUoDe+KxP1rfckZOVf3MlHZ93BiRvx2saRjYejgmql8b2lU/O6Tzxz/vMWiO8WNO+Rg016eJPd5yfaWk+7kj2Qg0lQasordE5a/r0b42ZwUlbY/rZAzKX4+iMeho3+yfe9Wcr9+7lZZrInXHrrTuNL6u+eNu22k+bgAAABaHMahF7W/debxNbI6xo/MxqPWP9U6Pr8kuNjwwHB9kF/idiomRwdhxf8N1X/I/6o//bPYIMu3xe2aOL5SfhdQwImw93Hq20Hwe/zzHoDbfo1BHbxOr+1r86P+l7//bOPJswZCTv64f+ylhbY8rfv61C0inaw99OHNh6npNz73T1++C2Lz3WPYWr5FXvxsPbUrXDPp6fKf/nWz4arpOUv64F/Z7AwAAwGIyBrW4r3ZqUMOZLR9nnmPQHGcSzb690+NbdK2Pb+wYiOPZ1X3/JQ5syQeM/I/603+exTZnHyuWP7+upyN759jrjW/5ms/jbzdm5GerLMoY1BW9/SMxFeMxll7P8SPxXOtb3z6hMairtz9G0o8wv2jztx9Kg03yrfjpqeqxCxyD0qe9fePF4fhtuikr/7S3vnubzy46Q783AAAALB5jUKvNlUjzRtEFcou1HyKKrhmUnT3TwTV0Oj2+UM+eSNcCnji8tfb/9+2PNHsVXQC6I/kFjNOgkj7taqLgE8Y6f/ztxoz8mkSLMAbVB5ns0+E27410nejx6mNs+iS0/HU93WsGne4YVLvu0i9jT8vFpi+4oDdePhNjUE/15zg5EUd33N3+9+hM/d4AAACwaIxBs+SfElVt/K09cX+7izBnOh+D6tfaGT20peUP7/qna01U/45vOPOi0+OLdPXF0XRkfQyqf+pVjFf/bcsnTnWkO3bW1qDYm0afidfi6dYRrePHnw8+o4diS+snVmUf8Z46y2NQV2/UPvjscGzNH1PtrVWtr9/myE6WmhqKPXe3uW5Qh2NQ7fCj0dfyeqx94h+y13bBY1D2xY/i1Scb3kpY6Ez93gAAALBYjEFFuu6NXW+OVf/QrzY5HieGBuNgZXts390frw6ma7aMxbH99QFhHmPQ9NuNpmLs+EBUsmutVGLgeO17zjrbpKPjt8Xg+IkYerU/dtev4VJ93G+8Pxnp4873Nz6O/NOxqk8y3h86OH2/BweH4sT4ey2PeW71M4ImJuY6I6bT51t93fan46u3vVc/fnf0Dx6PscmReC+dnnMGx6C5LiC9/ZkH87NfumJL9nnsrR+Bn3/M+sTR6Gs4Y6d+BlFMvh9DByvZfe3ufzWGTvzfeKH+mnY4BtWGp8bXY3tUBtLrMRZj6We40DGoe2sM/Dp9h5bS7/8blXii8YykM/R7AwAAwOIwBs2pK+5+shKDw6eaLtY7NTEWH54Yiv+xtX4my3zGoKQr7n3mQLx9arz6J3V2z7VrtOy4P9Y2Hdfp8ffEtoHhODU2kY0HWdU/6E8NDzRfQLpu7f2xo3r86MTMEDA5fiqGB3bFg0Vv6yqUX0g62n20e6fPtyeeqLwRJ+ov/tREjJ2oXQS79pqeuTFozvL768o+Rr7ozKaqnl2R9qCpoV1Ng1bX3U9G/9sNvzvVxz86/Pextf6adjgGZa9H/9szP6eG1yO7ztVCxqCu3tj7i7GYHDseg/27Z8awNPAcPZ59Ml36OP2mTxo7I783AAAALAZjEGdA/tao0QPxSOHtnMseSUve1FDsmnU9opra+NbJJ+wBAABwLjMGsXD5NYHerTR8BDnnifsi+wC9NmdVbdx7LB3g7V8AAABLhDGIBeqJvqMTEVNvxU5vDzoP5R/V/9E/xBNFn57X1Rv92UeoDcSft94GAADAeckYxDx0x4PPpGvK7I7+N38d6cLQI/297T+SnHNW/ZpI2cWpv/1QbNq0KTZ9/bH4q8rBGMouPD4WR3xyGAAAwJJhDGIe7osX3qtdOHhqYjTe7n9i1qeBcX7peXhPDDRdLH0qJsZOxfBgJb5zz8d93DwAAADnE2MQAAAAQIkYgwAAAABKxBgEAAAAUCLGIAAAAIASMQYBAAAAlIgxCAAAAKBEjEEAAAAAJWIMAgAAACgRYxAAAABAiRiDAAAAAErEGAQAAABQIsYgAAAAgBIxBrW46aab4wd/ty/+aeid+OWxEwAAAABnVdok0jaRNoqi7WKhjEEN0oucXvCfvHIwPvjww5AkSZIkSZpvzz///LxUKpV48Uf7s43ikxiEjEEN0uqWhiBJkiRJkqSFload4eHheUuDUNoqijaMhTAGNUiLmzOCJEmSJEnSmWihY1A6QyhtFUUbxkIYgxqk9+VJkiRJkiSdiRY6BqV/n7aKog1jIYxBDYxBkiRJkiTpTGUMas8YJEmSJEmSllTGoPaMQZIkSZIkaUllDGrPGCRJkiRJkpZUxqD2jEGSJEmSJGlJZQxqzxgkSZIkSZKWVMag9oxBkiRJkiRpSWUMas8YJEmSJEmSllTGoPaW1Bj0i76vZY+v0fq7vhL3PLonXhud+5hmj8fL2ZGTcfIfd8YDv//lWJfftv6u/xj3PvHj+EV2e7v7qt+HJEmSJEk62xmD2lt6Y9BXvhuHf3UyRnJvHvhe/PFdG2Ld15+P96rHTP7mX6ZvG/nVYDz1lQ3x5WcHG772QUxUjxv76bfi33ZvjD/+q0PxZvb14Rj88c74s794OX6Vfbfi79d4H5IkSZIk6exnDGpv6Y1Bm3dOn7lTb/KlLdXH/Y3YdTL/wnTvxLbNG2Jj3zv5/8904LG74pY/3R9j+f8XNdf3kyRJkiRJi5cxqL1SjEHxyuPVx/3N2Ddr2TEGSZIkSZK01Godg1588cWm/29UdJsxqMX5NQZNxm/e/Xk89dUvxYb/9rOCYWfuMWjslcfj9u6N8Z/2Dc/5li9jkCRJkiRJ516NY9DRo0fjzjvvjO9973tNg0+SvpZuS8c0ft0Y1OKcH4Oqj6/JnV+N3r95PfLrR7c09xgUMRFHdz0UG+7YEOs23BcP9R2Kod9M5rfVKvx+yX85mB8hSZIkSZLOdq1nBhUNQnMNQYkxqEV64EVPaCHO6BjUekHnf34ptnzlS7H+a9+Pf27ecqq1G4NqTf7m/8Tf9z0WmzbcFbfcsSn+9IX3on43hd8v+cDloyVJkiRJWqxax6CkcRBqNwQlxqAW5/wYVPS2rdEX4r7uu+LhV1rXoI8fg6abPBWHn7kv1nX/SezMH+6c30+SJEmSJC1aRWNQUh+E2g1BiTGoxXk5BsXBeLj6uGePPh2MQanJn0Rv9X4efqX2v8YgSZIkSZLOveYag5I0ArUbghJjUIvzcgw6sSf+sPq4e19awJlBqfwMo0d/WvtfY5AkSZIkSede7cag02EManHOj0Et1/B553+9EI/+/l1xy11PxcBpXzPoeDz/rWfib37883iz4X7StYfWfXXn9LWHir5fzQdzfgKZJEmSJEn6ZDMGtbf0xqDq42vyxf8Q9zy6Jw6/P2sJqjbXGPR+vPIXD8aX7/rS9P2s2/CHce93XopfNqw8hd8v83i8nB8jSZIkSZLObsag9pbUGCRJkiRJkmQMas8YJEmSJEmSllTGoPaMQZIkSZIkaUllDGrPGCRJkiRJkpZUxqD2jEGSJEmSJGlJZQxqzxgkSZIkSZKWVMag9oxBkiRJkiRpSWUMas8YJEmSJEmSllTGoPaMQZIkSZIkaUllDGrvnBiD/mnonfjgww/zH5kkSZIkSdL8W+gYVKlUsq2iaMNYCGNQgx/83b74ySsH8x+ZJEmSJEnS/FvoGPTij/ZnW0XRhrEQxqAGN910c7a4pUHIGUKSJEmSJGkhpTFoPtIZQWkIShtF2iqKNoyFMAa1SC9yWt3SC57elwcAAABwNqVNIm0Tn8QQlBiDAAAAAErEGAQAAABQIsYgAAAAgBIxBgEAAACUiDEIAAAAoESMQQAAAAAlYgwCAAAAKBFjUJHLlsc1//Uzse6Ha+L2yg1x+7418YW+a+O6WwuOPVNWfjpu3nFlXF50GwAAAMAZYgxqdfUVceOeNbH+uSvjyn+9LC6sfu3CFRfHinuuiCuWFxx/hiz78qpYbwwCAAAAPmHGoBZX/vnquP3ZT8fFBbfVXBE3VlbFVVdfHr/732tnDt24sXbbxXdcGTd9/4ba2UQ/vD4++wcXZ2NS7d9dFFf9WcPZRg23X/rVVfF7P8jPQPrb1VVXx+/k/+6yP7gmfi//N93fvzZW37Esvz8AAACAzhmDmlwen9u3Oj7774tuq0tjUFes23l9rLmtduZQ9vU1K+Pze6tfW3dh9v/LblwRN/9wdfybnvq/WxaX33lpXHJZ7f+X3XF1rNu3Kq6qn220cVXc3nJm0IU918T6Pavimutq/7/8zqvj1n3XxXVrZo4BAAAA6IQxqNFNV8atletj9U0Ft01LY9ANcfO9zWfoXN57fXzh0UubvnbVk2tmfW1Gup+G71UwBl21dU3c/EeN3+fi6Oqrfu+mrwEAAACcPmNQo9Meg2Yfc9XW/O1hrbZeUTtm+UWx8oFVccvfronbfpDeCrYmutuOQZfE6h0F91d1a+8l+TEAAAAAnTEGNam9TWzmrV1F5h6D2o00K59YHeufXRGXr6h/7ePODKqNQfXrEQEAAACcCcagJsti1V+uifVPfepjLiA9ewz61H/uyi48fVHD12YUDDufWRmfbzsG1R7L3G8zAwAAAOicMajVTSvj1r1rYt2TK2LF9EfLXxSX3Lo8LsmOKR6DsgtI71sda+9dHhdlF4W+MC7+7KVxRXax52Vx7bM3xLotl8WydOxly+Pav1wdt+9ruJ90segfroprrs7/vyq7gHT1mBv+3UW1f7d8WSy/9dK4fOXMMQAAAACdMAYVuPC6y2L1M11x2978Oj3pI9/7roxPZbfPMQZVLVu3Im7MP27+9sqauO2vPxPXf6F224W3rGz52PnL4vptjfdzUaz6dld0p9v3XjP90fLLv/w78fn6v6u6re/quOoz9X8DAAAA0BljEAAAAECJGIMAAAAASsQYBAAAAFAixiAAAACAEjEGAQAAAJSIMQgAAACgRIxBAAAAACViDAIAAAAoEWMQAAAAQIkYgwAAAABKxBgEAAAAUCLGIAAAAIASMQYBAAAAlIgxCAAAAKBEjEEAAAAAJWIMAgAAACgRYxAAAABAiRiDAAAAAErEGAQAAABQIsYgAAAAgBIxBgEAAACUiDEIAAAAoESMQQAAAAAlYgwCAAAAKBFjEAAAAECJGIMAAAAASsQYBAAAAFAixiAAAACAEjEGAQAAAJSIMQgAAACgRIxBAAAAACViDAIAAAAoEWMQAAAAQIkYgwAAAABKxBgEAAAAUCLGIAAAAIASMQYBAAAAlIgxCAAAAKBEztsx6Ob1X4xly5YVPikAAAAAZktbStpUiraWs63jMeiGz90SV159beETAwAAAGC2tKWkTaVoaznbOh6DPr1iZbZkpSfhDCEAAACAuaXtJG0oaUtJm0rR1nK2dTwGJenBpzUrPZH0fjcAAAAAZkvbSdpQzpUhKJnXGAQAAADA+ckYBAAAAFAixiAAAACAEjEGAQAAAJTGpfH/AdqGpEfrZ7WBAAAAAElFTkSuQmCC"},538:function(A,t,e){A.exports=e.p+"assets/img/10.60d36a50.png"},539:function(A,t,e){A.exports=e.p+"assets/img/11.746ef9f1.png"},540:function(A,t,e){A.exports=e.p+"assets/img/12.761f7a03.png"},786:function(A,t,e){"use strict";e.r(t);var s=e(9),a=Object(s.a)({},(function(){var A=this,t=A._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":A.$parent.slotKey}},[t("h2",{attrs:{id:"dollar-cost-averaging-automation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#dollar-cost-averaging-automation"}},[A._v("#")]),A._v(" Dollar Cost Averaging Automation")]),A._v(" "),t("p",[A._v("This guide shows how to setup Transmuter to automate DCA Bitcoin purchases.")]),A._v(" "),t("h2",{attrs:{id:"why-use-transmuter-instead-of-dedicated-dca-services"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#why-use-transmuter-instead-of-dedicated-dca-services"}},[A._v("#")]),A._v(" Why use Transmuter instead of dedicated DCA services?")]),A._v(" "),t("p",[A._v("You get to configure everything specifically to your needs and there is no additional cost beyond the selected exchange's fees, which are usually lower than dedicated DCA providers.")]),A._v(" "),t("h2",{attrs:{id:"setup"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[A._v("#")]),A._v(" Setup")]),A._v(" "),t("ul",[t("li",[A._v('Create a new External Service of type "Exchange External Service"\n'),t("img",{attrs:{src:e(529),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(530),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(531),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Configure it with the API keys from your exchange account.\n"),t("img",{attrs:{src:e(532),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(533),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(534),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(535),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("In Transmuter, create a Preset > Dollar Cost Average.\n"),t("img",{attrs:{src:e(536),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Select the configured exchange account\n"),t("img",{attrs:{src:e(537),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Set how often to DCA\n"),t("img",{attrs:{src:e(538),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Set the exchange order book and the amount to DCA with on each trade\n"),t("img",{attrs:{src:e(539),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Create, confirm and enable the newly generated recipe!\n"),t("img",{attrs:{src:e(540),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})])])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{529:function(A,t,e){A.exports=e.p+"assets/img/1.1317fcf2.png"},530:function(A,t,e){A.exports=e.p+"assets/img/2.00f4500f.png"},531:function(A,t,e){A.exports=e.p+"assets/img/3.3c4c0b97.png"},532:function(A,t,e){A.exports=e.p+"assets/img/4.21661a93.png"},533:function(A,t,e){A.exports=e.p+"assets/img/5.9bc4d4fd.png"},534:function(A,t,e){A.exports=e.p+"assets/img/6.05eb51af.png"},535:function(A,t,e){A.exports=e.p+"assets/img/7.683a8418.png"},536:function(A,t,e){A.exports=e.p+"assets/img/8.64846216.png"},537:function(A,t){A.exports="data:image/png;base64,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"},538:function(A,t,e){A.exports=e.p+"assets/img/10.60d36a50.png"},539:function(A,t,e){A.exports=e.p+"assets/img/11.746ef9f1.png"},540:function(A,t,e){A.exports=e.p+"assets/img/12.761f7a03.png"},785:function(A,t,e){"use strict";e.r(t);var s=e(9),a=Object(s.a)({},(function(){var A=this,t=A._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":A.$parent.slotKey}},[t("h2",{attrs:{id:"dollar-cost-averaging-automation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#dollar-cost-averaging-automation"}},[A._v("#")]),A._v(" Dollar Cost Averaging Automation")]),A._v(" "),t("p",[A._v("This guide shows how to setup Transmuter to automate DCA Bitcoin purchases.")]),A._v(" "),t("h2",{attrs:{id:"why-use-transmuter-instead-of-dedicated-dca-services"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#why-use-transmuter-instead-of-dedicated-dca-services"}},[A._v("#")]),A._v(" Why use Transmuter instead of dedicated DCA services?")]),A._v(" "),t("p",[A._v("You get to configure everything specifically to your needs and there is no additional cost beyond the selected exchange's fees, which are usually lower than dedicated DCA providers.")]),A._v(" "),t("h2",{attrs:{id:"setup"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[A._v("#")]),A._v(" Setup")]),A._v(" "),t("ul",[t("li",[A._v('Create a new External Service of type "Exchange External Service"\n'),t("img",{attrs:{src:e(529),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(530),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(531),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Configure it with the API keys from your exchange account.\n"),t("img",{attrs:{src:e(532),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(533),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(534),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}}),A._v(" "),t("img",{attrs:{src:e(535),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("In Transmuter, create a Preset > Dollar Cost Average.\n"),t("img",{attrs:{src:e(536),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Select the configured exchange account\n"),t("img",{attrs:{src:e(537),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Set how often to DCA\n"),t("img",{attrs:{src:e(538),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Set the exchange order book and the amount to DCA with on each trade\n"),t("img",{attrs:{src:e(539),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})]),A._v(" "),t("li",[A._v("Create, confirm and enable the newly generated recipe!\n"),t("img",{attrs:{src:e(540),alt:"./DCA_assets/1.png",title:"./DCA_assets/1.png"}})])])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/140.759f7000.js b/assets/js/140.0846c6df.js similarity index 99% rename from assets/js/140.759f7000.js rename to assets/js/140.0846c6df.js index 5f10467aaa..d14b470781 100644 --- a/assets/js/140.759f7000.js +++ b/assets/js/140.0846c6df.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{790:function(e,t,r){"use strict";r.r(t);var o=r(9),n=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"troubleshooting-an-issue-in-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting-an-issue-in-btcpay-server"}},[e._v("#")]),e._v(" Troubleshooting an issue in BTCPay Server")]),e._v(" "),t("p",[e._v("Facing a problem is never fun. This document explains the most common workflow and steps you should take to "),t("strong",[e._v("identify the issue")]),e._v(" you're having more easily and hopefully solve it yourself or with community help.")]),e._v(" "),t("p",[e._v("Identifying the problem is crucial.")]),e._v(" "),t("h2",{attrs:{id:"1-replicating-the-issue"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1-replicating-the-issue"}},[e._v("#")]),e._v(" 1. Replicating the issue")]),e._v(" "),t("p",[e._v("First and foremost, try to determine when the issue happens.\nTry to replicate the problem.\nTry to update and restart your server to verify you can reproduce your issue.\nIf you think it will describe your issue better, take a screenshot.")]),e._v(" "),t("h3",{attrs:{id:"11-updating-the-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#11-updating-the-server"}},[e._v("#")]),e._v(" 1.1 Updating the server")]),e._v(" "),t("p",[e._v("Check "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-can-i-see-my-btcpay-version"}},[e._v("your version of BTCPay")]),e._v(".\nIf it is much older than the "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("latest version"),t("OutboundLink")],1),e._v(" of BTCPay, "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-update-btcpay-server"}},[e._v("updating your server")]),e._v(" may resolve the issue.")],1),e._v(" "),t("h3",{attrs:{id:"12-restarting-the-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#12-restarting-the-server"}},[e._v("#")]),e._v(" 1.2 Restarting the server")]),e._v(" "),t("p",[e._v("Restarting your server is an easy way to solve many of the most common BTCPay Server issues.\nYou may need to "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-ssh-into-my-btcpay-running-on-vps"}},[e._v("SSH into your server")]),e._v(" to restart it.")],1),e._v(" "),t("h3",{attrs:{id:"13-restarting-a-service"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#13-restarting-a-service"}},[e._v("#")]),e._v(" 1.3 Restarting a service")]),e._v(" "),t("p",[e._v("Some issues you may only need to restart a particular service in your BTCPay Server deployment.\nSuch as restarting the letsencrypt container to renew the SSL certificate.")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" btcpayserver-docker\n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("docker")]),e._v(" restart letsencrypt-nginx-proxy-companion\n")])])]),t("p",[e._v("Use "),t("code",[e._v("docker ps")]),e._v(" to find the name of a different service you would like to restart.")]),e._v(" "),t("h2",{attrs:{id:"2-looking-through-the-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#2-looking-through-the-logs"}},[e._v("#")]),e._v(" 2. Looking through the logs")]),e._v(" "),t("p",[e._v("Logs can provide an essential piece of information.\nIn the next few paragraphs, we will describe how to get the "),t("strong",[e._v("log information for various parts of BTCPay")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"21-btcpay-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#21-btcpay-logs"}},[e._v("#")]),e._v(" 2.1 BTCPay Logs")]),e._v(" "),t("p",[e._v("Since the v1.0.3.8, you can easily access BTCPay Server logs from the front-end.\nIf you are a server admin, go to "),t("strong",[e._v("Server Settings > Logs")]),e._v(" and open the logs file.\nIf you don't know what a particular error in the logs means, make sure to mention it when troubleshooting.")]),e._v(" "),t("p",[e._v("If you would like more detailed logs and you're using a Docker deployment, you can view logs of specific Docker containers using the command line.\nSee these "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-ssh-into-my-btcpay-running-on-vps"}},[e._v("instructions to ssh")]),e._v(" into an instance of BTCPay running on a VPS.")],1),e._v(" "),t("p",[e._v("Below is a general list of the container names used for BTCPay.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("LOGS FOR")]),e._v(" "),t("th",{staticStyle:{"text-align":"center"}},[e._v("CONTAINER NAME")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("BTCPayServer")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_btcpayserver_1")])]),e._v(" "),t("tr",[t("td",[e._v("NBXplorer")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_nbxplorer_1")])]),e._v(" "),t("tr",[t("td",[e._v("Bitcoind")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("btcpayserver_bitcoind")])]),e._v(" "),t("tr",[t("td",[e._v("Postgres")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_postgres_1")])]),e._v(" "),t("tr",[t("td",[e._v("proxy")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("letsencrypt-nginx-proxy-companion")])]),e._v(" "),t("tr",[t("td",[e._v("Nginx")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("nginx-gen")])]),e._v(" "),t("tr",[t("td",[e._v("Nginx")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("nginx")])]),e._v(" "),t("tr",[t("td",[e._v("Core Lightning (CLN)")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("btcpayserver_clightning_bitcoin")])]),e._v(" "),t("tr",[t("td",[e._v("LND")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("btcpayserver_lnd_bitcoin")])]),e._v(" "),t("tr",[t("td",[e._v("RTL")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_lnd_bitcoin_rtl_1")])]),e._v(" "),t("tr",[t("td",[e._v("Thunderhub")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_bitcoin_thub_1")])]),e._v(" "),t("tr",[t("td",[e._v("LibrePatron")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("librepatron")])]),e._v(" "),t("tr",[t("td",[e._v("Tor")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("tor-gen")])]),e._v(" "),t("tr",[t("td",[e._v("Tor")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("tor")])])])]),e._v(" "),t("p",[e._v("Run the commands below to print logs by container name.\nReplace the container name to view other container logs.")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" btcpayserver-docker\n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("docker")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("ps")]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("docker")]),e._v(" logs --tail "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("100")]),e._v(" generated_btcpayserver_1\n")])])]),t("h3",{attrs:{id:"22-lightning-network-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#22-lightning-network-logs"}},[e._v("#")]),e._v(" 2.2 Lightning Network Logs")]),e._v(" "),t("p",[e._v("Use the following if you're having a problem with the Lightning Network.")]),e._v(" "),t("h3",{attrs:{id:"221-lightning-network-lnd-docker"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#221-lightning-network-lnd-docker"}},[e._v("#")]),e._v(" 2.2.1 - Lightning Network LND - Docker")]),e._v(" "),t("p",[e._v("There are a few ways to access your LND logs when using Docker.\nFirst log in as root:")]),e._v(" "),t("p",[t("code",[e._v("sudo su -")])]),e._v(" "),t("p",[e._v("Navigate to the correct directory:")]),e._v(" "),t("p",[t("code",[e._v("cd btcpayserver-docker")])]),e._v(" "),t("p",[e._v("Find container name:")]),e._v(" "),t("p",[t("code",[e._v("docker ps")])]),e._v(" "),t("p",[e._v("Print logs by container name:")]),e._v(" "),t("p",[t("code",[e._v("docker logs --tail 100 btcpayserver_lnd_bitcoin")])]),e._v(" "),t("p",[e._v("Alternatively, you can quickly print logs by using container ID (only the first unique ID characters are needed, such as the two furthest left characters):")]),e._v(" "),t("p",[t("code",[e._v("docker logs 'add your container ID '")])]),e._v(" "),t("p",[e._v("If for any reason you need more logs")]),e._v(" "),t("p",[t("code",[e._v("sudo su -")])]),e._v(" "),t("p",[t("code",[e._v("cd /var/lib/docker/volumes/generated_lnd_bitcoin_datadir/_data/logs/bitcoin/mainnet/")])]),e._v(" "),t("p",[e._v("inside that directory do "),t("code",[e._v("ls")])]),e._v(" "),t("p",[e._v("You will see something like "),t("code",[e._v("lnd.log lnd.log.13 lnd.log.15 lnd.log.16.gz lnd.log.17.gz")])]),e._v(" "),t("p",[e._v("To access uncompressed logs of those logs do "),t("code",[e._v("cat lnd.log")]),e._v(" or if you want another one, use "),t("code",[e._v("cat lnd.log.15")])]),e._v(" "),t("p",[e._v("To access compressed logs in .gzip use "),t("code",[e._v("gzip -d lnd.log.16.gz")]),e._v(" (in this case we're accessing lnd.log.16.gz)")]),e._v(" "),t("p",[e._v("This should give you a new file, where you can do "),t("code",[e._v("cat lnd.log.16")])]),e._v(" "),t("p",[e._v("In case the above does not work, you may need to use install gzip first "),t("code",[e._v("sudo apt-get install gzip")])]),e._v(" "),t("h3",{attrs:{id:"222-lightning-network-core-lightning-cln-docker"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#222-lightning-network-core-lightning-cln-docker"}},[e._v("#")]),e._v(" 2.2.2 - Lightning Network Core Lightning (CLN) - Docker")]),e._v(" "),t("p",[t("code",[e._v("sudo su -")])]),e._v(" "),t("p",[t("code",[e._v("docker ps")])]),e._v(" "),t("p",[e._v("Find the Core Lightning (CLN) container ID.")]),e._v(" "),t("p",[e._v("docker logs 'add your container ID here'")]),e._v(" "),t("p",[e._v("alternatively, use this")]),e._v(" "),t("p",[t("code",[e._v("docker logs --tail 100 btcpayserver_clightning_bitcoin")])]),e._v(" "),t("p",[e._v("You can also get log information with Core Lightning (CLN) cli command.")]),e._v(" "),t("p",[t("code",[e._v("bitcoin-lightning-cli.sh getlog")])]),e._v(" "),t("h2",{attrs:{id:"23-bitcoin-node-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#23-bitcoin-node-logs"}},[e._v("#")]),e._v(" 2.3 - Bitcoin Node Logs")]),e._v(" "),t("p",[e._v("In addition to "),t("a",{attrs:{href:"#2-looking-through-the-logs"}},[e._v("looking at logs")]),e._v(" of your Bitcoind container, you can also use any of the "),t("a",{attrs:{href:"https://developer.bitcoin.org/reference/rpc/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("bitcoin-cli commands"),t("OutboundLink")],1),e._v(" to obtain information from your bitcoin node.\nBTCPay includes a script to allow you to communicate with your Bitcoin node easily.")]),e._v(" "),t("p",[e._v("Inside the "),t("code",[e._v("btcpayserver-docker")]),e._v(" folder, get the blockchain information using your node:")]),e._v(" "),t("p",[t("code",[e._v("bitcoin-cli.sh getblockchaininfo")])]),e._v(" "),t("h2",{attrs:{id:"3-finding-a-solution-yourself-google-faq-github-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#3-finding-a-solution-yourself-google-faq-github-issues"}},[e._v("#")]),e._v(" 3. Finding a solution yourself (Google, FAQ, GitHub issues)")]),e._v(" "),t("p",[e._v("Even though setups differ, the chances that someone else experienced the same issue as yours are pretty high.\nTake a few moments, Google around and see if you can solve it yourself.")]),e._v(" "),t("h3",{attrs:{id:"31-btcpay-faq"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#31-btcpay-faq"}},[e._v("#")]),e._v(" 3.1 BTCPay FAQ")]),e._v(" "),t("p",[e._v("We try to document the most common issues on the "),t("RouterLink",{attrs:{to:"/FAQ/"}},[e._v("Frequently Asked Questions page")]),e._v(".\nTake a look there and see if your question is recorded.")],1),e._v(" "),t("h3",{attrs:{id:"32-github"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#32-github"}},[e._v("#")]),e._v(" 3.2 GitHub")]),e._v(" "),t("p",[e._v("When there's an advanced technical issue, users usually open an issue on GitHub.\nTake a look at the BTCPay GitHub repository and browse "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues?q=is%3Aissue+is%3Aclosed",target:"_blank",rel:"noopener noreferrer"}},[e._v("search the closed issues"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"33-mattermost"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#33-mattermost"}},[e._v("#")]),e._v(" 3.3 Mattermost")]),e._v(" "),t("p",[e._v("Mattermost chat platform is great for similar issues, other users experienced before you.\nOn the top right-hand corner, click on the search and enter your query.")]),e._v(" "),t("h2",{attrs:{id:"4-asking-for-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#4-asking-for-help"}},[e._v("#")]),e._v(" 4. Asking for help")]),e._v(" "),t("p",[e._v("If you're unable to solve the problem yourself, do not worry.\nThere's an amid community ready to help you.")]),e._v(" "),t("p",[e._v("The better you describe the problem, the higher are the chances of getting a timely fix.\nBe concise and provide as much relevant information as possible.\nBe sure to include the "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-can-i-see-my-btcpay-version"}},[e._v("version you're using")]),e._v(" and describe your BTCPay Deployment Setup.\nTry to explain what you're trying to do and what's the issue.\nIf you can provide the logs.\nIf you think it's relevant, feel free to include a screenshot.")],1),e._v(" "),t("p",[e._v("Here's a good example of how to ask a question.")]),e._v(" "),t("blockquote",[t("p",[e._v("I'm having a problem with XYZ. I can replicate the problem. My BTCPay version is 0.100.31, and I deployed my server on Digital Ocean by following Docker deployment guide. I've searched through the FAQ and closed GitHub issues, but there's no solution to my problem. My BTCPay Setup is XYZ, and the issue is occurring when I do XYZ. Here are the logs I was able to get from my BTCPay instance. You can see the error in the image I attached.")])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Please note:")]),e._v(" "),t("p",[e._v("The community will not provide extensive support for custom deployments.\nI.e. variations of "),t("RouterLink",{attrs:{to:"/Deployment/ManualDeployment/"}},[e._v("Manual Deployments")]),e._v(" are expected to be used only for development purposes and by users with technical literacy with the ability to "),t("strong",[e._v("resolve deployment and maintenance issues on their own")]),e._v(". This includes "),t("RouterLink",{attrs:{to:"/Deployment/HardwareAsAService/"}},[e._v("Hardware-As-A-Service")]),e._v(" products (Nodl, RaspiBlitz, Umbrel, etc ...)")],1)]),e._v(" "),t("h3",{attrs:{id:"41-asking-the-community-general-problems"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#41-asking-the-community-general-problems"}},[e._v("#")]),e._v(" 4.1 Asking the community (general problems)")]),e._v(" "),t("p",[e._v("For quick answers to fundamental problems, it's best to post a question in #support channel on "),t("a",{attrs:{href:"https://chat.btcpayserver.org/btcpayserver/channels/support",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Mattermost"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"42-opening-an-issue-on-github-advanced-problems"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#42-opening-an-issue-on-github-advanced-problems"}},[e._v("#")]),e._v(" 4.2 Opening an Issue on GitHub (advanced problems)")]),e._v(" "),t("p",[e._v("If you have a custom build setup and are facing a complex problem, "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("open an issue on GitHub"),t("OutboundLink")],1),e._v(" so that developers can help you out.")]),e._v(" "),t("h3",{attrs:{id:"43-premium-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#43-premium-support"}},[e._v("#")]),e._v(" 4.3 Premium Support")]),e._v(" "),t("p",[e._v("Some community members provide paid support.\nIf you want a quicker help, check out the list of "),t("RouterLink",{attrs:{to:"/Support/"}},[e._v("members providing premium support")]),e._v(".")],1),e._v(" "),t("h3",{attrs:{id:"44-lightning-network-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#44-lightning-network-support"}},[e._v("#")]),e._v(" 4.4 Lightning Network Support")]),e._v(" "),t("p",[e._v("If you're facing a technical problem with your Lightning Network implementation, you may want to ask questions in their respective communities.")]),e._v(" "),t("h4",{attrs:{id:"441-lnd-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#441-lnd-support"}},[e._v("#")]),e._v(" 4.4.1 LND Support")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/lightningnetwork/lnd/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("LND GitHub"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://lightningcommunity.slack.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lightning Community on Slack"),t("OutboundLink")],1)])]),e._v(" "),t("h4",{attrs:{id:"442-core-lightning-cln-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#442-core-lightning-cln-support"}},[e._v("#")]),e._v(" 4.4.2 Core Lightning (CLN) Support")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/ElementsProject/lightning/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("CLN GitHub"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://t.me/lightningd",target:"_blank",rel:"noopener noreferrer"}},[e._v("CLN Telegram Group"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://lightning.readthedocs.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CLN docs"),t("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{789:function(e,t,r){"use strict";r.r(t);var o=r(9),n=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"troubleshooting-an-issue-in-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting-an-issue-in-btcpay-server"}},[e._v("#")]),e._v(" Troubleshooting an issue in BTCPay Server")]),e._v(" "),t("p",[e._v("Facing a problem is never fun. This document explains the most common workflow and steps you should take to "),t("strong",[e._v("identify the issue")]),e._v(" you're having more easily and hopefully solve it yourself or with community help.")]),e._v(" "),t("p",[e._v("Identifying the problem is crucial.")]),e._v(" "),t("h2",{attrs:{id:"1-replicating-the-issue"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1-replicating-the-issue"}},[e._v("#")]),e._v(" 1. Replicating the issue")]),e._v(" "),t("p",[e._v("First and foremost, try to determine when the issue happens.\nTry to replicate the problem.\nTry to update and restart your server to verify you can reproduce your issue.\nIf you think it will describe your issue better, take a screenshot.")]),e._v(" "),t("h3",{attrs:{id:"11-updating-the-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#11-updating-the-server"}},[e._v("#")]),e._v(" 1.1 Updating the server")]),e._v(" "),t("p",[e._v("Check "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-can-i-see-my-btcpay-version"}},[e._v("your version of BTCPay")]),e._v(".\nIf it is much older than the "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("latest version"),t("OutboundLink")],1),e._v(" of BTCPay, "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-update-btcpay-server"}},[e._v("updating your server")]),e._v(" may resolve the issue.")],1),e._v(" "),t("h3",{attrs:{id:"12-restarting-the-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#12-restarting-the-server"}},[e._v("#")]),e._v(" 1.2 Restarting the server")]),e._v(" "),t("p",[e._v("Restarting your server is an easy way to solve many of the most common BTCPay Server issues.\nYou may need to "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-ssh-into-my-btcpay-running-on-vps"}},[e._v("SSH into your server")]),e._v(" to restart it.")],1),e._v(" "),t("h3",{attrs:{id:"13-restarting-a-service"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#13-restarting-a-service"}},[e._v("#")]),e._v(" 1.3 Restarting a service")]),e._v(" "),t("p",[e._v("Some issues you may only need to restart a particular service in your BTCPay Server deployment.\nSuch as restarting the letsencrypt container to renew the SSL certificate.")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" btcpayserver-docker\n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("docker")]),e._v(" restart letsencrypt-nginx-proxy-companion\n")])])]),t("p",[e._v("Use "),t("code",[e._v("docker ps")]),e._v(" to find the name of a different service you would like to restart.")]),e._v(" "),t("h2",{attrs:{id:"2-looking-through-the-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#2-looking-through-the-logs"}},[e._v("#")]),e._v(" 2. Looking through the logs")]),e._v(" "),t("p",[e._v("Logs can provide an essential piece of information.\nIn the next few paragraphs, we will describe how to get the "),t("strong",[e._v("log information for various parts of BTCPay")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"21-btcpay-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#21-btcpay-logs"}},[e._v("#")]),e._v(" 2.1 BTCPay Logs")]),e._v(" "),t("p",[e._v("Since the v1.0.3.8, you can easily access BTCPay Server logs from the front-end.\nIf you are a server admin, go to "),t("strong",[e._v("Server Settings > Logs")]),e._v(" and open the logs file.\nIf you don't know what a particular error in the logs means, make sure to mention it when troubleshooting.")]),e._v(" "),t("p",[e._v("If you would like more detailed logs and you're using a Docker deployment, you can view logs of specific Docker containers using the command line.\nSee these "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-ssh-into-my-btcpay-running-on-vps"}},[e._v("instructions to ssh")]),e._v(" into an instance of BTCPay running on a VPS.")],1),e._v(" "),t("p",[e._v("Below is a general list of the container names used for BTCPay.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("LOGS FOR")]),e._v(" "),t("th",{staticStyle:{"text-align":"center"}},[e._v("CONTAINER NAME")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("BTCPayServer")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_btcpayserver_1")])]),e._v(" "),t("tr",[t("td",[e._v("NBXplorer")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_nbxplorer_1")])]),e._v(" "),t("tr",[t("td",[e._v("Bitcoind")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("btcpayserver_bitcoind")])]),e._v(" "),t("tr",[t("td",[e._v("Postgres")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_postgres_1")])]),e._v(" "),t("tr",[t("td",[e._v("proxy")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("letsencrypt-nginx-proxy-companion")])]),e._v(" "),t("tr",[t("td",[e._v("Nginx")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("nginx-gen")])]),e._v(" "),t("tr",[t("td",[e._v("Nginx")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("nginx")])]),e._v(" "),t("tr",[t("td",[e._v("Core Lightning (CLN)")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("btcpayserver_clightning_bitcoin")])]),e._v(" "),t("tr",[t("td",[e._v("LND")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("btcpayserver_lnd_bitcoin")])]),e._v(" "),t("tr",[t("td",[e._v("RTL")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_lnd_bitcoin_rtl_1")])]),e._v(" "),t("tr",[t("td",[e._v("Thunderhub")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("generated_bitcoin_thub_1")])]),e._v(" "),t("tr",[t("td",[e._v("LibrePatron")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("librepatron")])]),e._v(" "),t("tr",[t("td",[e._v("Tor")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("tor-gen")])]),e._v(" "),t("tr",[t("td",[e._v("Tor")]),e._v(" "),t("td",{staticStyle:{"text-align":"center"}},[e._v("tor")])])])]),e._v(" "),t("p",[e._v("Run the commands below to print logs by container name.\nReplace the container name to view other container logs.")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" btcpayserver-docker\n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("docker")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("ps")]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("docker")]),e._v(" logs --tail "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("100")]),e._v(" generated_btcpayserver_1\n")])])]),t("h3",{attrs:{id:"22-lightning-network-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#22-lightning-network-logs"}},[e._v("#")]),e._v(" 2.2 Lightning Network Logs")]),e._v(" "),t("p",[e._v("Use the following if you're having a problem with the Lightning Network.")]),e._v(" "),t("h3",{attrs:{id:"221-lightning-network-lnd-docker"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#221-lightning-network-lnd-docker"}},[e._v("#")]),e._v(" 2.2.1 - Lightning Network LND - Docker")]),e._v(" "),t("p",[e._v("There are a few ways to access your LND logs when using Docker.\nFirst log in as root:")]),e._v(" "),t("p",[t("code",[e._v("sudo su -")])]),e._v(" "),t("p",[e._v("Navigate to the correct directory:")]),e._v(" "),t("p",[t("code",[e._v("cd btcpayserver-docker")])]),e._v(" "),t("p",[e._v("Find container name:")]),e._v(" "),t("p",[t("code",[e._v("docker ps")])]),e._v(" "),t("p",[e._v("Print logs by container name:")]),e._v(" "),t("p",[t("code",[e._v("docker logs --tail 100 btcpayserver_lnd_bitcoin")])]),e._v(" "),t("p",[e._v("Alternatively, you can quickly print logs by using container ID (only the first unique ID characters are needed, such as the two furthest left characters):")]),e._v(" "),t("p",[t("code",[e._v("docker logs 'add your container ID '")])]),e._v(" "),t("p",[e._v("If for any reason you need more logs")]),e._v(" "),t("p",[t("code",[e._v("sudo su -")])]),e._v(" "),t("p",[t("code",[e._v("cd /var/lib/docker/volumes/generated_lnd_bitcoin_datadir/_data/logs/bitcoin/mainnet/")])]),e._v(" "),t("p",[e._v("inside that directory do "),t("code",[e._v("ls")])]),e._v(" "),t("p",[e._v("You will see something like "),t("code",[e._v("lnd.log lnd.log.13 lnd.log.15 lnd.log.16.gz lnd.log.17.gz")])]),e._v(" "),t("p",[e._v("To access uncompressed logs of those logs do "),t("code",[e._v("cat lnd.log")]),e._v(" or if you want another one, use "),t("code",[e._v("cat lnd.log.15")])]),e._v(" "),t("p",[e._v("To access compressed logs in .gzip use "),t("code",[e._v("gzip -d lnd.log.16.gz")]),e._v(" (in this case we're accessing lnd.log.16.gz)")]),e._v(" "),t("p",[e._v("This should give you a new file, where you can do "),t("code",[e._v("cat lnd.log.16")])]),e._v(" "),t("p",[e._v("In case the above does not work, you may need to use install gzip first "),t("code",[e._v("sudo apt-get install gzip")])]),e._v(" "),t("h3",{attrs:{id:"222-lightning-network-core-lightning-cln-docker"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#222-lightning-network-core-lightning-cln-docker"}},[e._v("#")]),e._v(" 2.2.2 - Lightning Network Core Lightning (CLN) - Docker")]),e._v(" "),t("p",[t("code",[e._v("sudo su -")])]),e._v(" "),t("p",[t("code",[e._v("docker ps")])]),e._v(" "),t("p",[e._v("Find the Core Lightning (CLN) container ID.")]),e._v(" "),t("p",[e._v("docker logs 'add your container ID here'")]),e._v(" "),t("p",[e._v("alternatively, use this")]),e._v(" "),t("p",[t("code",[e._v("docker logs --tail 100 btcpayserver_clightning_bitcoin")])]),e._v(" "),t("p",[e._v("You can also get log information with Core Lightning (CLN) cli command.")]),e._v(" "),t("p",[t("code",[e._v("bitcoin-lightning-cli.sh getlog")])]),e._v(" "),t("h2",{attrs:{id:"23-bitcoin-node-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#23-bitcoin-node-logs"}},[e._v("#")]),e._v(" 2.3 - Bitcoin Node Logs")]),e._v(" "),t("p",[e._v("In addition to "),t("a",{attrs:{href:"#2-looking-through-the-logs"}},[e._v("looking at logs")]),e._v(" of your Bitcoind container, you can also use any of the "),t("a",{attrs:{href:"https://developer.bitcoin.org/reference/rpc/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("bitcoin-cli commands"),t("OutboundLink")],1),e._v(" to obtain information from your bitcoin node.\nBTCPay includes a script to allow you to communicate with your Bitcoin node easily.")]),e._v(" "),t("p",[e._v("Inside the "),t("code",[e._v("btcpayserver-docker")]),e._v(" folder, get the blockchain information using your node:")]),e._v(" "),t("p",[t("code",[e._v("bitcoin-cli.sh getblockchaininfo")])]),e._v(" "),t("h2",{attrs:{id:"3-finding-a-solution-yourself-google-faq-github-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#3-finding-a-solution-yourself-google-faq-github-issues"}},[e._v("#")]),e._v(" 3. Finding a solution yourself (Google, FAQ, GitHub issues)")]),e._v(" "),t("p",[e._v("Even though setups differ, the chances that someone else experienced the same issue as yours are pretty high.\nTake a few moments, Google around and see if you can solve it yourself.")]),e._v(" "),t("h3",{attrs:{id:"31-btcpay-faq"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#31-btcpay-faq"}},[e._v("#")]),e._v(" 3.1 BTCPay FAQ")]),e._v(" "),t("p",[e._v("We try to document the most common issues on the "),t("RouterLink",{attrs:{to:"/FAQ/"}},[e._v("Frequently Asked Questions page")]),e._v(".\nTake a look there and see if your question is recorded.")],1),e._v(" "),t("h3",{attrs:{id:"32-github"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#32-github"}},[e._v("#")]),e._v(" 3.2 GitHub")]),e._v(" "),t("p",[e._v("When there's an advanced technical issue, users usually open an issue on GitHub.\nTake a look at the BTCPay GitHub repository and browse "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues?q=is%3Aissue+is%3Aclosed",target:"_blank",rel:"noopener noreferrer"}},[e._v("search the closed issues"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"33-mattermost"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#33-mattermost"}},[e._v("#")]),e._v(" 3.3 Mattermost")]),e._v(" "),t("p",[e._v("Mattermost chat platform is great for similar issues, other users experienced before you.\nOn the top right-hand corner, click on the search and enter your query.")]),e._v(" "),t("h2",{attrs:{id:"4-asking-for-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#4-asking-for-help"}},[e._v("#")]),e._v(" 4. Asking for help")]),e._v(" "),t("p",[e._v("If you're unable to solve the problem yourself, do not worry.\nThere's an amid community ready to help you.")]),e._v(" "),t("p",[e._v("The better you describe the problem, the higher are the chances of getting a timely fix.\nBe concise and provide as much relevant information as possible.\nBe sure to include the "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-can-i-see-my-btcpay-version"}},[e._v("version you're using")]),e._v(" and describe your BTCPay Deployment Setup.\nTry to explain what you're trying to do and what's the issue.\nIf you can provide the logs.\nIf you think it's relevant, feel free to include a screenshot.")],1),e._v(" "),t("p",[e._v("Here's a good example of how to ask a question.")]),e._v(" "),t("blockquote",[t("p",[e._v("I'm having a problem with XYZ. I can replicate the problem. My BTCPay version is 0.100.31, and I deployed my server on Digital Ocean by following Docker deployment guide. I've searched through the FAQ and closed GitHub issues, but there's no solution to my problem. My BTCPay Setup is XYZ, and the issue is occurring when I do XYZ. Here are the logs I was able to get from my BTCPay instance. You can see the error in the image I attached.")])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Please note:")]),e._v(" "),t("p",[e._v("The community will not provide extensive support for custom deployments.\nI.e. variations of "),t("RouterLink",{attrs:{to:"/Deployment/ManualDeployment/"}},[e._v("Manual Deployments")]),e._v(" are expected to be used only for development purposes and by users with technical literacy with the ability to "),t("strong",[e._v("resolve deployment and maintenance issues on their own")]),e._v(". This includes "),t("RouterLink",{attrs:{to:"/Deployment/HardwareAsAService/"}},[e._v("Hardware-As-A-Service")]),e._v(" products (Nodl, RaspiBlitz, Umbrel, etc ...)")],1)]),e._v(" "),t("h3",{attrs:{id:"41-asking-the-community-general-problems"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#41-asking-the-community-general-problems"}},[e._v("#")]),e._v(" 4.1 Asking the community (general problems)")]),e._v(" "),t("p",[e._v("For quick answers to fundamental problems, it's best to post a question in #support channel on "),t("a",{attrs:{href:"https://chat.btcpayserver.org/btcpayserver/channels/support",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Mattermost"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"42-opening-an-issue-on-github-advanced-problems"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#42-opening-an-issue-on-github-advanced-problems"}},[e._v("#")]),e._v(" 4.2 Opening an Issue on GitHub (advanced problems)")]),e._v(" "),t("p",[e._v("If you have a custom build setup and are facing a complex problem, "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("open an issue on GitHub"),t("OutboundLink")],1),e._v(" so that developers can help you out.")]),e._v(" "),t("h3",{attrs:{id:"43-premium-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#43-premium-support"}},[e._v("#")]),e._v(" 4.3 Premium Support")]),e._v(" "),t("p",[e._v("Some community members provide paid support.\nIf you want a quicker help, check out the list of "),t("RouterLink",{attrs:{to:"/Support/"}},[e._v("members providing premium support")]),e._v(".")],1),e._v(" "),t("h3",{attrs:{id:"44-lightning-network-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#44-lightning-network-support"}},[e._v("#")]),e._v(" 4.4 Lightning Network Support")]),e._v(" "),t("p",[e._v("If you're facing a technical problem with your Lightning Network implementation, you may want to ask questions in their respective communities.")]),e._v(" "),t("h4",{attrs:{id:"441-lnd-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#441-lnd-support"}},[e._v("#")]),e._v(" 4.4.1 LND Support")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/lightningnetwork/lnd/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("LND GitHub"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://lightningcommunity.slack.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lightning Community on Slack"),t("OutboundLink")],1)])]),e._v(" "),t("h4",{attrs:{id:"442-core-lightning-cln-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#442-core-lightning-cln-support"}},[e._v("#")]),e._v(" 4.4.2 Core Lightning (CLN) Support")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/ElementsProject/lightning/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("CLN GitHub"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://t.me/lightningd",target:"_blank",rel:"noopener noreferrer"}},[e._v("CLN Telegram Group"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://lightning.readthedocs.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CLN docs"),t("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/141.4ee3b8f4.js b/assets/js/141.6a7b41a5.js similarity index 98% rename from assets/js/141.4ee3b8f4.js rename to assets/js/141.6a7b41a5.js index a19656dcc5..77b7aae0a6 100644 --- a/assets/js/141.4ee3b8f4.js +++ b/assets/js/141.6a7b41a5.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{791:function(t,e,r){"use strict";r.r(e);var o=r(9),a=Object(o.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"try-out-btcpay-server"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#try-out-btcpay-server"}},[t._v("#")]),t._v(" Try out BTCPay server")]),t._v(" "),e("p",[t._v("Before you start using BTCPay Server in production, you can try it and see if it fits your needs.")]),t._v(" "),e("p",[t._v("On this page you will see various ways to test out the software on mainnet and testnet.")]),t._v(" "),e("h2",{attrs:{id:"our-mainnet-demo-server"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#our-mainnet-demo-server"}},[t._v("#")]),t._v(" Our mainnet demo server")]),t._v(" "),e("p",[t._v("We host our server on "),e("a",{attrs:{href:"https://mainnet.demo.btcpayserver.org/login",target:"_blank",rel:"noopener noreferrer"}},[t._v("mainnet.demo.btcpayserver.org"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("Feel free to register to it, create a store and a wallet and play around.")]),t._v(" "),e("p",[t._v("This instance should only be used for testing things out. We do not guarantee uptime.")]),t._v(" "),e("h2",{attrs:{id:"our-testnet-demo-server"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#our-testnet-demo-server"}},[t._v("#")]),t._v(" Our Testnet demo server")]),t._v(" "),e("p",[t._v("If you're familiar with testnet and want to test BTCPay through it, check "),e("a",{attrs:{href:"https://testnet.demo.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("testnet.demo.btcpayserver.org"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("For more information see "),e("RouterLink",{attrs:{to:"/Development/TestnetDemo/"}},[t._v("testnet documentation")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"third-party-hosts"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#third-party-hosts"}},[t._v("#")]),t._v(" Third-party hosts")]),t._v(" "),e("p",[e("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[t._v("Third-party hosts")]),t._v(" provide hosted solutions, in most cases free of charge, in case you don't want to self-host a server.")],1),t._v(" "),e("p",[t._v("While most of them can be used in-production, you can also use them to try things out. They're similar to our demo server, but provide better uptime and reliability.")]),t._v(" "),e("p",[t._v("For full lists of third-party hosts to pick from, "),e("a",{attrs:{href:"https://directory.btcpayserver.org/filter/hosts",target:"_blank",rel:"noopener noreferrer"}},[t._v("see our hosts directory"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"start-testing"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#start-testing"}},[t._v("#")]),t._v(" Start testing")]),t._v(" "),e("p",[t._v("Once you pick up a server to use, the steps are the same, regardless of which option you've opted for.")]),t._v(" "),e("p",[t._v("Click on the following links for detailed instructions on how to:")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/RegisterAccount/"}},[t._v("Register an account")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/CreateStore/"}},[t._v("Create a store")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/WalletSetup/"}},[t._v("Create a wallet")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/WhatsNext/"}},[t._v("Start exploring")])],1)]),t._v(" "),e("h3",{attrs:{id:"btcpay-server-in-action"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-server-in-action"}},[t._v("#")]),t._v(" BTCPay Server in action")]),t._v(" "),e("p",[t._v("Below, you will find options to see the BTCPay server in action. Through our own POS on our demo or through the eyes of actual merchants in the wild!")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://mainnet.demo.btcpayserver.org/apps/87kj5yKay8mB4UUZcJhZH5TqDKMD3CznjwLjiu1oYZXe/pos",target:"_blank",rel:"noopener noreferrer"}},[t._v("Point of Sale Demo"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://directory.btcpayserver.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("In-production stores"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"questions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#questions"}},[t._v("#")]),t._v(" Questions")]),t._v(" "),e("p",[t._v("If you have questions about BTCPay Server, check our documentation, "),e("RouterLink",{attrs:{to:"/FAQ/"}},[t._v("Frequently asked questions page")]),t._v(".")],1),t._v(" "),e("p",[t._v("Join the "),e("a",{attrs:{href:"https://chat.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("community chat"),e("OutboundLink")],1),t._v(" on Mattermost by downloading "),e("a",{attrs:{href:"https://mattermost.com/download/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mattermost app"),e("OutboundLink")],1),t._v(", or on "),e("a",{attrs:{href:"https://t.me/btcpayserver",target:"_blank",rel:"noopener noreferrer"}},[t._v("Telegram"),e("OutboundLink")],1),t._v(" in case you need further help or help or want to hang around with like-minded people.")])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{790:function(t,e,r){"use strict";r.r(e);var o=r(9),a=Object(o.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"try-out-btcpay-server"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#try-out-btcpay-server"}},[t._v("#")]),t._v(" Try out BTCPay server")]),t._v(" "),e("p",[t._v("Before you start using BTCPay Server in production, you can try it and see if it fits your needs.")]),t._v(" "),e("p",[t._v("On this page you will see various ways to test out the software on mainnet and testnet.")]),t._v(" "),e("h2",{attrs:{id:"our-mainnet-demo-server"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#our-mainnet-demo-server"}},[t._v("#")]),t._v(" Our mainnet demo server")]),t._v(" "),e("p",[t._v("We host our server on "),e("a",{attrs:{href:"https://mainnet.demo.btcpayserver.org/login",target:"_blank",rel:"noopener noreferrer"}},[t._v("mainnet.demo.btcpayserver.org"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("Feel free to register to it, create a store and a wallet and play around.")]),t._v(" "),e("p",[t._v("This instance should only be used for testing things out. We do not guarantee uptime.")]),t._v(" "),e("h2",{attrs:{id:"our-testnet-demo-server"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#our-testnet-demo-server"}},[t._v("#")]),t._v(" Our Testnet demo server")]),t._v(" "),e("p",[t._v("If you're familiar with testnet and want to test BTCPay through it, check "),e("a",{attrs:{href:"https://testnet.demo.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("testnet.demo.btcpayserver.org"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("For more information see "),e("RouterLink",{attrs:{to:"/Development/TestnetDemo/"}},[t._v("testnet documentation")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"third-party-hosts"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#third-party-hosts"}},[t._v("#")]),t._v(" Third-party hosts")]),t._v(" "),e("p",[e("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[t._v("Third-party hosts")]),t._v(" provide hosted solutions, in most cases free of charge, in case you don't want to self-host a server.")],1),t._v(" "),e("p",[t._v("While most of them can be used in-production, you can also use them to try things out. They're similar to our demo server, but provide better uptime and reliability.")]),t._v(" "),e("p",[t._v("For full lists of third-party hosts to pick from, "),e("a",{attrs:{href:"https://directory.btcpayserver.org/filter/hosts",target:"_blank",rel:"noopener noreferrer"}},[t._v("see our hosts directory"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"start-testing"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#start-testing"}},[t._v("#")]),t._v(" Start testing")]),t._v(" "),e("p",[t._v("Once you pick up a server to use, the steps are the same, regardless of which option you've opted for.")]),t._v(" "),e("p",[t._v("Click on the following links for detailed instructions on how to:")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/RegisterAccount/"}},[t._v("Register an account")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/CreateStore/"}},[t._v("Create a store")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/WalletSetup/"}},[t._v("Create a wallet")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/WhatsNext/"}},[t._v("Start exploring")])],1)]),t._v(" "),e("h3",{attrs:{id:"btcpay-server-in-action"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-server-in-action"}},[t._v("#")]),t._v(" BTCPay Server in action")]),t._v(" "),e("p",[t._v("Below, you will find options to see the BTCPay server in action. Through our own POS on our demo or through the eyes of actual merchants in the wild!")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://mainnet.demo.btcpayserver.org/apps/87kj5yKay8mB4UUZcJhZH5TqDKMD3CznjwLjiu1oYZXe/pos",target:"_blank",rel:"noopener noreferrer"}},[t._v("Point of Sale Demo"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://directory.btcpayserver.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("In-production stores"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"questions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#questions"}},[t._v("#")]),t._v(" Questions")]),t._v(" "),e("p",[t._v("If you have questions about BTCPay Server, check our documentation, "),e("RouterLink",{attrs:{to:"/FAQ/"}},[t._v("Frequently asked questions page")]),t._v(".")],1),t._v(" "),e("p",[t._v("Join the "),e("a",{attrs:{href:"https://chat.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("community chat"),e("OutboundLink")],1),t._v(" on Mattermost by downloading "),e("a",{attrs:{href:"https://mattermost.com/download/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mattermost app"),e("OutboundLink")],1),t._v(", or on "),e("a",{attrs:{href:"https://t.me/btcpayserver",target:"_blank",rel:"noopener noreferrer"}},[t._v("Telegram"),e("OutboundLink")],1),t._v(" in case you need further help or help or want to hang around with like-minded people.")])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/142.7b39f554.js b/assets/js/142.d4e5d067.js similarity index 99% rename from assets/js/142.7b39f554.js rename to assets/js/142.d4e5d067.js index 05189b4dff..5624d1246a 100644 --- a/assets/js/142.7b39f554.js +++ b/assets/js/142.d4e5d067.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{793:function(e,a,t){"use strict";t.r(a);var s=t(9),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"how-to-verify-release-signatures"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-to-verify-release-signatures"}},[e._v("#")]),e._v(" How to verify release signatures")]),e._v(" "),a("h2",{attrs:{id:"introduction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),a("p",[e._v("Downloading binaries from the internet might be dangerous. When you download a release of BTCPayServer Vault on our "),a("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub releases page"),a("OutboundLink")],1),e._v(", you only ensure that the uploader had access to our GitHub repository.")]),e._v(" "),a("p",[e._v("This might be fine, but sometimes you download the same binaries from a different source, or you want additional assurance that those binaries are signed by the developers of the project. (In this case, Nicolas Dorier)")]),e._v(" "),a("p",[e._v("If you do not care about who signed the executable and verifying the integrity of the files you downloaded, you don't have to read this document.")]),e._v(" "),a("h2",{attrs:{id:"checking-pgp-signatures"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#checking-pgp-signatures"}},[e._v("#")]),e._v(" Checking PGP signatures"),a("a",{attrs:{name:"pgp"}})]),e._v(" "),a("p",[e._v("For this you need the "),a("code",[e._v("gpg")]),e._v(" tool, make sure it is installed on your machine.")]),e._v(" "),a("p",[e._v("On the "),a("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[e._v("release page"),a("OutboundLink")],1),e._v(", download:")]),e._v(" "),a("ol",[a("li",[e._v("The release binary of your choice.")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("SHA256SUMS.asc")]),e._v(" file")])]),e._v(" "),a("h3",{attrs:{id:"importing-nicolas-dorier-pgp-keys-only-first-time"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#importing-nicolas-dorier-pgp-keys-only-first-time"}},[e._v("#")]),e._v(" Importing Nicolas Dorier pgp keys (only first time)")]),e._v(" "),a("p",[e._v("This step should be done only one time. It ensures your system knows Nicolas Dorier's PGP keys.")]),e._v(" "),a("p",[e._v("Nicolas Dorier has a "),a("a",{attrs:{href:"https://keybase.io/NicolasDorier",target:"_blank",rel:"noopener noreferrer"}},[e._v("keybase"),a("OutboundLink")],1),e._v(" account that allow you to verify that his identity is linked to several well-known social media accounts.\nAnd as you can see on his profile page, the PGP key "),a("code",[e._v("62FE 8564 7DED DA2E")]),e._v(" is linked to his keybase identity.")]),e._v(" "),a("p",[e._v("You can import this key from keybase:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" https://keybase.io/nicolasdorier/pgp_keys.asc "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" gpg --import\n")])])]),a("p",[e._v("or")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("keybase pgp pull nicolasdorier\n")])])]),a("p",[e._v("Alternatively, you can just download the file via the browser and run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("gpg --import pgp_keys.asc\n")])])]),a("p",[e._v("This step won't have to be repeated the next time you need to check a signature.")]),e._v(" "),a("h3",{attrs:{id:"checking-the-actual-pgp-signature"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#checking-the-actual-pgp-signature"}},[e._v("#")]),e._v(" Checking the actual PGP signature")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("sha256sum --check SHA256SUMS.asc --ignore-missing\n")])])]),a("p",[e._v("You should see that the file you downloaded has the right hash:")]),e._v(" "),a("div",{staticClass:"language-text extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("BTCPayServerVault-1.0.7-setup.exe: OK\n")])])]),a("p",[e._v("If you are on Windows you can check the hashes are identical manually:")]),e._v(" "),a("div",{staticClass:"language-powershell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-powershell"}},[a("code",[e._v("certUtil "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("-")]),e._v("hashfile BTCPayServerVault-1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("7-setup"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("exe SHA256\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("type")]),e._v(" SHA256SUMS"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("asc\n")])])]),a("p",[e._v("If you are on macOS:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("shasum -a "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("256")]),e._v(" --check SHA256SUMS.asc\n")])])]),a("p",[e._v("You should see that the file you downloaded has the right hash:")]),e._v(" "),a("div",{staticClass:"language-text extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("BTCPayServerVault-osx-x64-1.0.7.dmg: OK\n")])])]),a("p",[e._v("Then check the actual signature:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("gpg --verify SHA256SUMS.asc\n")])])]),a("p",[e._v("Which should output something like:")]),e._v(" "),a("div",{staticClass:"language-text extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('gpg: Signature made Thu Dec 5 20:40:47 2019 JST\ngpg: using RSA key 62FE85647DEDDA2E\ngpg: Good signature from "BTCPayServer Vault <nicolas.dorier@gmail.com>" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 7121 BDE3 555D 9BE0 6BDD C681 62FE 8564 7DED DA2E\n')])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{792:function(e,a,t){"use strict";t.r(a);var s=t(9),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"how-to-verify-release-signatures"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-to-verify-release-signatures"}},[e._v("#")]),e._v(" How to verify release signatures")]),e._v(" "),a("h2",{attrs:{id:"introduction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),a("p",[e._v("Downloading binaries from the internet might be dangerous. When you download a release of BTCPayServer Vault on our "),a("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub releases page"),a("OutboundLink")],1),e._v(", you only ensure that the uploader had access to our GitHub repository.")]),e._v(" "),a("p",[e._v("This might be fine, but sometimes you download the same binaries from a different source, or you want additional assurance that those binaries are signed by the developers of the project. (In this case, Nicolas Dorier)")]),e._v(" "),a("p",[e._v("If you do not care about who signed the executable and verifying the integrity of the files you downloaded, you don't have to read this document.")]),e._v(" "),a("h2",{attrs:{id:"checking-pgp-signatures"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#checking-pgp-signatures"}},[e._v("#")]),e._v(" Checking PGP signatures"),a("a",{attrs:{name:"pgp"}})]),e._v(" "),a("p",[e._v("For this you need the "),a("code",[e._v("gpg")]),e._v(" tool, make sure it is installed on your machine.")]),e._v(" "),a("p",[e._v("On the "),a("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[e._v("release page"),a("OutboundLink")],1),e._v(", download:")]),e._v(" "),a("ol",[a("li",[e._v("The release binary of your choice.")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("SHA256SUMS.asc")]),e._v(" file")])]),e._v(" "),a("h3",{attrs:{id:"importing-nicolas-dorier-pgp-keys-only-first-time"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#importing-nicolas-dorier-pgp-keys-only-first-time"}},[e._v("#")]),e._v(" Importing Nicolas Dorier pgp keys (only first time)")]),e._v(" "),a("p",[e._v("This step should be done only one time. It ensures your system knows Nicolas Dorier's PGP keys.")]),e._v(" "),a("p",[e._v("Nicolas Dorier has a "),a("a",{attrs:{href:"https://keybase.io/NicolasDorier",target:"_blank",rel:"noopener noreferrer"}},[e._v("keybase"),a("OutboundLink")],1),e._v(" account that allow you to verify that his identity is linked to several well-known social media accounts.\nAnd as you can see on his profile page, the PGP key "),a("code",[e._v("62FE 8564 7DED DA2E")]),e._v(" is linked to his keybase identity.")]),e._v(" "),a("p",[e._v("You can import this key from keybase:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" https://keybase.io/nicolasdorier/pgp_keys.asc "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" gpg --import\n")])])]),a("p",[e._v("or")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("keybase pgp pull nicolasdorier\n")])])]),a("p",[e._v("Alternatively, you can just download the file via the browser and run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("gpg --import pgp_keys.asc\n")])])]),a("p",[e._v("This step won't have to be repeated the next time you need to check a signature.")]),e._v(" "),a("h3",{attrs:{id:"checking-the-actual-pgp-signature"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#checking-the-actual-pgp-signature"}},[e._v("#")]),e._v(" Checking the actual PGP signature")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("sha256sum --check SHA256SUMS.asc --ignore-missing\n")])])]),a("p",[e._v("You should see that the file you downloaded has the right hash:")]),e._v(" "),a("div",{staticClass:"language-text extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("BTCPayServerVault-1.0.7-setup.exe: OK\n")])])]),a("p",[e._v("If you are on Windows you can check the hashes are identical manually:")]),e._v(" "),a("div",{staticClass:"language-powershell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-powershell"}},[a("code",[e._v("certUtil "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("-")]),e._v("hashfile BTCPayServerVault-1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("7-setup"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("exe SHA256\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("type")]),e._v(" SHA256SUMS"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(".")]),e._v("asc\n")])])]),a("p",[e._v("If you are on macOS:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("shasum -a "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("256")]),e._v(" --check SHA256SUMS.asc\n")])])]),a("p",[e._v("You should see that the file you downloaded has the right hash:")]),e._v(" "),a("div",{staticClass:"language-text extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("BTCPayServerVault-osx-x64-1.0.7.dmg: OK\n")])])]),a("p",[e._v("Then check the actual signature:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("gpg --verify SHA256SUMS.asc\n")])])]),a("p",[e._v("Which should output something like:")]),e._v(" "),a("div",{staticClass:"language-text extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('gpg: Signature made Thu Dec 5 20:40:47 2019 JST\ngpg: using RSA key 62FE85647DEDDA2E\ngpg: Good signature from "BTCPayServer Vault <nicolas.dorier@gmail.com>" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 7121 BDE3 555D 9BE0 6BDD C681 62FE 8564 7DED DA2E\n')])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/143.c347e376.js b/assets/js/143.aabdd48d.js similarity index 95% rename from assets/js/143.c347e376.js rename to assets/js/143.aabdd48d.js index 7e7d0eb164..1c2e3d563f 100644 --- a/assets/js/143.c347e376.js +++ b/assets/js/143.aabdd48d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{799:function(t,e,a){"use strict";a.r(e);var r=a(9),o=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"3-wallet-setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#3-wallet-setup"}},[t._v("#")]),t._v(" (3) Wallet Setup")]),t._v(" "),e("p",[t._v("After "),e("RouterLink",{attrs:{to:"/RegisterAccount/"}},[t._v("account registration")]),t._v(" and "),e("RouterLink",{attrs:{to:"/CreateStore/"}},[t._v("store creation")]),t._v(", it's time to configure a wallet in your BTCPay Server, so that you can start receiving payments into it.")],1),t._v(" "),e("p",[t._v("There are two ways to set up a wallet in BTCPay Server:")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/ConnectWallet/"}},[t._v("Connect an existing wallet")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/CreateWallet/"}},[t._v("Create a new wallet")])],1)]),t._v(" "),e("p",[t._v("There are many options on how set up a wallet with your BTCPay Server. It's up to you to decide what works best for your use-case. Once you configure a wallet, you're all set. The next step, is to "),e("RouterLink",{attrs:{to:"/WhatsNext/"}},[t._v("start exploring the features")]),t._v(".")],1),t._v(" "),e("p",[e("strong",[e("em",[t._v("Proceed to the next step - "),e("RouterLink",{attrs:{to:"/WhatsNext/"}},[t._v("What's Next?")]),t._v(".")],1)])])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{798:function(t,e,a){"use strict";a.r(e);var r=a(9),o=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"3-wallet-setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#3-wallet-setup"}},[t._v("#")]),t._v(" (3) Wallet Setup")]),t._v(" "),e("p",[t._v("After "),e("RouterLink",{attrs:{to:"/RegisterAccount/"}},[t._v("account registration")]),t._v(" and "),e("RouterLink",{attrs:{to:"/CreateStore/"}},[t._v("store creation")]),t._v(", it's time to configure a wallet in your BTCPay Server, so that you can start receiving payments into it.")],1),t._v(" "),e("p",[t._v("There are two ways to set up a wallet in BTCPay Server:")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/ConnectWallet/"}},[t._v("Connect an existing wallet")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/CreateWallet/"}},[t._v("Create a new wallet")])],1)]),t._v(" "),e("p",[t._v("There are many options on how set up a wallet with your BTCPay Server. It's up to you to decide what works best for your use-case. Once you configure a wallet, you're all set. The next step, is to "),e("RouterLink",{attrs:{to:"/WhatsNext/"}},[t._v("start exploring the features")]),t._v(".")],1),t._v(" "),e("p",[e("strong",[e("em",[t._v("Proceed to the next step - "),e("RouterLink",{attrs:{to:"/WhatsNext/"}},[t._v("What's Next?")]),t._v(".")],1)])])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/144.b5163180.js b/assets/js/144.048f8b76.js similarity index 99% rename from assets/js/144.b5163180.js rename to assets/js/144.048f8b76.js index 23d9cb4e28..f9804dcea1 100644 --- a/assets/js/144.b5163180.js +++ b/assets/js/144.048f8b76.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{801:function(t,e,r){"use strict";r.r(e);var o=r(9),a=Object(o.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"4-whats-next"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#4-whats-next"}},[t._v("#")]),t._v(" (4) What's Next?")]),t._v(" "),e("p",[t._v("After you've connected your wallet to your BTCPay, you can explore various built in tools in the software. See the full list of Use Cases "),e("RouterLink",{attrs:{to:"/UseCase/"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-point-of-sale-app"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-point-of-sale-app"}},[t._v("#")]),t._v(" Creating the Point of Sale App")]),t._v(" "),e("p",[t._v("BTCPay has a PoS app which you can use to receive payments from your customers directly or to receive donations. To "),e("strong",[t._v("create the POS app")]),t._v(", you need to have a store created in BTCPay. View PoS instructions "),e("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-crowdfund-app"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-crowdfund-app"}},[t._v("#")]),t._v(" Creating the Crowdfund App")]),t._v(" "),e("p",[t._v("Create a "),e("strong",[t._v("crowdfunding campaign using BTCPay")]),t._v(". Unlike traditional crowdfunding platforms, the creator of the campaign is the owner of the platform. Funds go directly to the creator’s wallet without any fees. View Crowdfund instructions "),e("RouterLink",{attrs:{to:"/Apps/#crowdfunding-app"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-payment-request"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-payment-request"}},[t._v("#")]),t._v(" Creating the Payment Request")]),t._v(" "),e("p",[t._v("Create "),e("strong",[t._v("custom invoices which can be shared with others")]),t._v(", by sending a link to your payment request. Users can pay the request at any time. BTCPay automatically updates the BTC exchange rate at the time of payment. View Payment Request instructions "),e("RouterLink",{attrs:{to:"/PaymentRequests/"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-pay-button"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-pay-button"}},[t._v("#")]),t._v(" Creating the Pay Button")]),t._v(" "),e("p",[e("strong",[t._v("Pay buttons")]),t._v(" are great when you have a fixed amount for a product or a donation. You can easily embed the button into HTML. When the customer or a visitor clicks on the button, BTCPay displays a checkout page and an invoice for them. View Pay Button instructions "),e("RouterLink",{attrs:{to:"/Apps/#payment-button"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"connecting-your-btcpay-store-to-your-e-commerce-platform"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#connecting-your-btcpay-store-to-your-e-commerce-platform"}},[t._v("#")]),t._v(" Connecting your BTCPay store to your e-commerce platform")]),t._v(" "),e("p",[t._v("Depending on the CMS you're using, you can easily connect BTCPay to your online store. Currently, BTCPay offers following integrations :")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/WooCommerce/"}},[t._v("WooCommerce")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Shopify/"}},[t._v("Shopify")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Drupal/"}},[t._v("Drupal")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Magento/"}},[t._v("Magneto")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/PrestaShop/"}},[t._v("PrestaShop")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/CustomIntegration/"}},[t._v("Custom integration")])],1)]),t._v(" "),e("h2",{attrs:{id:"connecting-additional-btcpay-services"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#connecting-additional-btcpay-services"}},[t._v("#")]),t._v(" Connecting Additional BTCPay Services")]),t._v(" "),e("p",[t._v("Additional free, open-source plugins can be used with your BTCPay.")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/JeffVandrewJr/patron",target:"_blank",rel:"noopener noreferrer"}},[t._v("LibrePatron"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/btcpayserver/btcTransmuter/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("BTC Transmuter"),e("OutboundLink")],1)])]),t._v(" "),e("p",[e("strong",[t._v("LibrePatron is a self-hosted, censorship-free, Patreon alternative")]),t._v(". LibrePatron uses BTCPay Server to receive Bitcoin payments on a recurring basis. Funds go directly to the creator's wallet. View LibrePatron instructions "),e("a",{attrs:{href:"https://blog.btcpayserver.org/librepatron-patreon-alternative/",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[e("strong",[t._v("BTC Transmuter is a self-hosted service that allows you to automate your money and other tasks using BTCPay")]),t._v(". Create custom, automated processes using crypto service triggers based on BTCPay. Common use-cases are fiat integration, payment forwarding and email automation. Open lightning channels, detect payments and more, using blockchain data from your own nodes in BTCPay. View BTC Transmuter documentation "),e("a",{attrs:{href:"https://github.com/btcpayserver/btcTransmuter/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"join-the-btcpay-community"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#join-the-btcpay-community"}},[t._v("#")]),t._v(" Join The BTCPay Community")]),t._v(" "),e("p",[t._v("BTCPay Server is an open-source project, not a company. We rely on a network of diverse contributors and users to provide support for numerous use-cases. Join us in improving, learning, and building BTCPay.")]),t._v(" "),e("p",[t._v("If you have questions, try searching our "),e("RouterLink",{attrs:{to:"/FAQ/"}},[t._v("FAQ Section")]),t._v(" or join the "),e("RouterLink",{attrs:{to:"/Community/"}},[t._v("BTCPay Community")]),t._v(" and share questions and ideas for improvement.")],1),t._v(" "),e("p",[t._v("If you are a developer take a look at the "),e("RouterLink",{attrs:{to:"/Development/LocalDevelopment/"}},[t._v("Local Development")]),t._v(" guide and help us with any "),e("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("open issues"),e("OutboundLink")],1),t._v(" on Github. If you would like to contribute to BTCPay in other ways, check out the "),e("RouterLink",{attrs:{to:"/Contribute/"}},[t._v("Contribution Guide")]),t._v(" for ideas.")],1)])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{800:function(t,e,r){"use strict";r.r(e);var o=r(9),a=Object(o.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"4-whats-next"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#4-whats-next"}},[t._v("#")]),t._v(" (4) What's Next?")]),t._v(" "),e("p",[t._v("After you've connected your wallet to your BTCPay, you can explore various built in tools in the software. See the full list of Use Cases "),e("RouterLink",{attrs:{to:"/UseCase/"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-point-of-sale-app"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-point-of-sale-app"}},[t._v("#")]),t._v(" Creating the Point of Sale App")]),t._v(" "),e("p",[t._v("BTCPay has a PoS app which you can use to receive payments from your customers directly or to receive donations. To "),e("strong",[t._v("create the POS app")]),t._v(", you need to have a store created in BTCPay. View PoS instructions "),e("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-crowdfund-app"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-crowdfund-app"}},[t._v("#")]),t._v(" Creating the Crowdfund App")]),t._v(" "),e("p",[t._v("Create a "),e("strong",[t._v("crowdfunding campaign using BTCPay")]),t._v(". Unlike traditional crowdfunding platforms, the creator of the campaign is the owner of the platform. Funds go directly to the creator’s wallet without any fees. View Crowdfund instructions "),e("RouterLink",{attrs:{to:"/Apps/#crowdfunding-app"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-payment-request"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-payment-request"}},[t._v("#")]),t._v(" Creating the Payment Request")]),t._v(" "),e("p",[t._v("Create "),e("strong",[t._v("custom invoices which can be shared with others")]),t._v(", by sending a link to your payment request. Users can pay the request at any time. BTCPay automatically updates the BTC exchange rate at the time of payment. View Payment Request instructions "),e("RouterLink",{attrs:{to:"/PaymentRequests/"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"creating-the-pay-button"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-the-pay-button"}},[t._v("#")]),t._v(" Creating the Pay Button")]),t._v(" "),e("p",[e("strong",[t._v("Pay buttons")]),t._v(" are great when you have a fixed amount for a product or a donation. You can easily embed the button into HTML. When the customer or a visitor clicks on the button, BTCPay displays a checkout page and an invoice for them. View Pay Button instructions "),e("RouterLink",{attrs:{to:"/Apps/#payment-button"}},[t._v("here")]),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"connecting-your-btcpay-store-to-your-e-commerce-platform"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#connecting-your-btcpay-store-to-your-e-commerce-platform"}},[t._v("#")]),t._v(" Connecting your BTCPay store to your e-commerce platform")]),t._v(" "),e("p",[t._v("Depending on the CMS you're using, you can easily connect BTCPay to your online store. Currently, BTCPay offers following integrations :")]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/WooCommerce/"}},[t._v("WooCommerce")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Shopify/"}},[t._v("Shopify")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Drupal/"}},[t._v("Drupal")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/Magento/"}},[t._v("Magneto")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/PrestaShop/"}},[t._v("PrestaShop")])],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/CustomIntegration/"}},[t._v("Custom integration")])],1)]),t._v(" "),e("h2",{attrs:{id:"connecting-additional-btcpay-services"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#connecting-additional-btcpay-services"}},[t._v("#")]),t._v(" Connecting Additional BTCPay Services")]),t._v(" "),e("p",[t._v("Additional free, open-source plugins can be used with your BTCPay.")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/JeffVandrewJr/patron",target:"_blank",rel:"noopener noreferrer"}},[t._v("LibrePatron"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/btcpayserver/btcTransmuter/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("BTC Transmuter"),e("OutboundLink")],1)])]),t._v(" "),e("p",[e("strong",[t._v("LibrePatron is a self-hosted, censorship-free, Patreon alternative")]),t._v(". LibrePatron uses BTCPay Server to receive Bitcoin payments on a recurring basis. Funds go directly to the creator's wallet. View LibrePatron instructions "),e("a",{attrs:{href:"https://blog.btcpayserver.org/librepatron-patreon-alternative/",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[e("strong",[t._v("BTC Transmuter is a self-hosted service that allows you to automate your money and other tasks using BTCPay")]),t._v(". Create custom, automated processes using crypto service triggers based on BTCPay. Common use-cases are fiat integration, payment forwarding and email automation. Open lightning channels, detect payments and more, using blockchain data from your own nodes in BTCPay. View BTC Transmuter documentation "),e("a",{attrs:{href:"https://github.com/btcpayserver/btcTransmuter/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"join-the-btcpay-community"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#join-the-btcpay-community"}},[t._v("#")]),t._v(" Join The BTCPay Community")]),t._v(" "),e("p",[t._v("BTCPay Server is an open-source project, not a company. We rely on a network of diverse contributors and users to provide support for numerous use-cases. Join us in improving, learning, and building BTCPay.")]),t._v(" "),e("p",[t._v("If you have questions, try searching our "),e("RouterLink",{attrs:{to:"/FAQ/"}},[t._v("FAQ Section")]),t._v(" or join the "),e("RouterLink",{attrs:{to:"/Community/"}},[t._v("BTCPay Community")]),t._v(" and share questions and ideas for improvement.")],1),t._v(" "),e("p",[t._v("If you are a developer take a look at the "),e("RouterLink",{attrs:{to:"/Development/LocalDevelopment/"}},[t._v("Local Development")]),t._v(" guide and help us with any "),e("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("open issues"),e("OutboundLink")],1),t._v(" on Github. If you would like to contribute to BTCPay in other ways, check out the "),e("RouterLink",{attrs:{to:"/Contribute/"}},[t._v("Contribution Guide")]),t._v(" for ideas.")],1)])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/15.75f299b8.js b/assets/js/15.5fcef896.js similarity index 99% rename from assets/js/15.75f299b8.js rename to assets/js/15.5fcef896.js index 73e45d607d..d3b806e5e4 100644 --- a/assets/js/15.75f299b8.js +++ b/assets/js/15.5fcef896.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{577:function(e,t,o){e.exports=o.p+"assets/img/img_1.6bc7d880.png"},578:function(e,t,o){e.exports=o.p+"assets/img/img_2.9f8b0cc3.png"},579:function(e,t,o){e.exports=o.p+"assets/img/img_3.2595db17.png"},580:function(e,t,o){e.exports=o.p+"assets/img/coinselection.4c853f71.png"},581:function(e,t,o){e.exports=o.p+"assets/img/img.9710314c.png"},582:function(e,t,o){e.exports=o.p+"assets/img/img_4.c8000fea.png"},583:function(e,t,o){e.exports=o.p+"assets/img/scientist_mode.66645705.png"},584:function(e,t,o){e.exports=o.p+"assets/img/img_5.a8ef891b.png"},585:function(e,t,o){e.exports=o.p+"assets/img/img_6.745de6b7.png"},586:function(e,t,o){e.exports=o.p+"assets/img/img_7.0d3fb434.png"},587:function(e,t,o){e.exports=o.p+"assets/img/img_8.34595a5a.png"},588:function(e,t,o){e.exports=o.p+"assets/img/img_9.6da23178.png"},796:function(e,t,o){"use strict";o.r(t);var i=o(9),n=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"the-btcpay-server-coinjoin-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-btcpay-server-coinjoin-plugin"}},[e._v("#")]),e._v(" The BTCPay Server Coinjoin plugin")]),e._v(" "),t("p",[e._v("This plugin allows every BTCPay Server instance to integrate with the Wabisabi coinjoin protocol developed by "),t("a",{attrs:{href:"https://zksnacks.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("zkSNACKS"),t("OutboundLink")],1),e._v(" ("),t("a",{attrs:{href:"https://wasabiwallet.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Wallet"),t("OutboundLink")],1),e._v(").")]),e._v(" "),t("p",{attrs:{align:"center"}},[t("a",{attrs:{href:"http://www.youtube.com/watch?feature=player_embedded&v=zGVCrwMKKn0\n",target:"_blank"}},[t("img",{attrs:{src:"http://img.youtube.com/vi/zGVCrwMKKn0/0.jpg",border:"10"}})])]),e._v(" "),t("h2",{attrs:{id:"installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[e._v("#")]),e._v(" Installation")]),e._v(" "),t("p",[e._v("First ensure that your BTCPay Server instance is at least version 1.8.0 and that NBXplorer is at least 2.3.58. If you are using the recommended Docker deployment method, it is as simple as "),t("RouterLink",{attrs:{to:"/Wabisabi/https://docs.btcpayserver.org/FAQ/ServerSettings/#how-to-update-btcpay-server"}},[e._v("one-click")]),e._v(".")],1),e._v(" "),t("p",[e._v('Then, you will need to log in as an admin, click on "Manage plugins" in the side navigation, and click on "Install" on the "Coinjoin" plugin in the list. BTCPay Server will then ask you to restart in order to load the plugin.')]),e._v(" "),t("p",[e._v('After the restart, there should be a new navigation item in the side navigation, "Coinjoin", and the dashboard should have additional elements related to coinjoins.\n'),t("img",{attrs:{src:o(577),alt:"./img_1.png",title:"./img_1.png"}})]),e._v(" "),t("h2",{attrs:{id:"usage"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[e._v("#")]),e._v(" Usage")]),e._v(" "),t("p",[e._v("Your store needs to have a Bitcoin wallet configured and it needs to be set up as a "),t("RouterLink",{attrs:{to:"/Wabisabi/https://docs.btcpayserver.org/CreateWallet/#hot-wallet"}},[e._v("hot wallet")]),e._v(". Only native segwit (and potentially taproot) wallets will be able to join coinjoin rounds.")],1),e._v(" "),t("p",[e._v('The easiest way to get started is to click on "Coinjoin" in the side navigation, choose the default "zkSNACKS" coordinator and click "save". BTCPay Server will automatically join coinjoin rounds and progress to enhancing the privacy of your wallet.\n'),t("img",{attrs:{src:o(578),alt:"./img_2.png",title:"./img_2.png"}}),e._v('\nCoinjoin transactions will appear in the transactions list in your wallet as they happen, and will have at least 2 labels, "coinjoin", and the name of the coordinator.\n'),t("img",{attrs:{src:o(579),alt:"./img_3.png",title:"./img_3.png"}})]),e._v(" "),t("h2",{attrs:{id:"spending-privately"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#spending-privately"}},[e._v("#")]),e._v(" Spending privately")]),e._v(" "),t("p",[e._v('Coins which have gained some level of privacy will have an "anonset" label when using the BTCPay wallet coin selection feature. If you hover over the label, it will tell you the score it has gained.')]),e._v(" "),t("figure",[t("img",{attrs:{src:o(580),alt:"./coinselection.png",title:"./coinselection.png"}})]),e._v(" "),t("p",[e._v("It is up to you to use the coin selection feature correctly to make the best of your earned privacy on your coins.")]),e._v(" "),t("p",[e._v("Ideally you:")]),e._v(" "),t("ul",[t("li",[e._v("select the least amount of coins possible")]),e._v(" "),t("li",[e._v("select the highest level of privacy coins")]),e._v(" "),t("li",[e._v("ideally use coins from different transactions")]),e._v(" "),t("li",[e._v("spend entire coins to prevent change")])]),e._v(" "),t("p",[e._v("We realize this is a complex selection and are working on an easier UI to help with this. As an initial experiment, we have added an action to let us attempt to select coins based on your sending amounts.\n"),t("img",{attrs:{src:o(581),alt:"./img.png",title:"./img.png"}})]),e._v(" "),t("p",[e._v("But the best way to spend privately is to use our unique "),t("strong",[e._v("payment batching feature")]),e._v(", by utilizing BTCPay Server's "),t("RouterLink",{attrs:{to:"/Wabisabi/https://docs.btcpayserver.org/Payouts/"}},[e._v("Payout")]),e._v(' system. Simply set the destination and amount and click on "Schedule transaction", and the payment will be embedded directly inside the next coinjoin that can fulfill it.\n'),t("img",{attrs:{src:o(582),alt:"./img_4.png",title:"./img_4.png"}})],1),e._v(" "),t("h2",{attrs:{id:"pleb-mode-vs-scientist-mode"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pleb-mode-vs-scientist-mode"}},[e._v("#")]),e._v(" Pleb mode vs Scientist mode")]),e._v(" "),t("p",[e._v("Pleb mode comes with a curated set of configurations aimed to get you off the ground with coinjoining. Scientist mode is for those who want to experiment with different configurations and fine tune their coinjoin experience.")]),e._v(" "),t("p",[e._v("Scientist mode allows you to configure the following:")]),e._v(" "),t("ul",[t("li",[e._v("Anonscore target: What level of privacy you want to achieve. The higher the number, the more privacy you will gain, but the longer (and more expensive due to mining fees) it will take to achieve it. The pleb mode default is 5.")]),e._v(" "),t("li",[e._v("Coinsolidations: When this is turned on, the plugin will attempt to add many coins in comparison to usual. The maximum number of coins that can be added by this plugin is a random number computed for each round between 10 and 30. When coinsolidation mode is on, the likelihood to keep adding coins to the max number is probabilistic change of 90%, else it is current number of coins divided by the max number of coins. The pleb mode default is off.")]),e._v(" "),t("li",[e._v("Batched payments: When this is turned on, the plugin will attempt to batch BTC on-chain Payouts that are in the "),t("code",[e._v("AwaitingPayment")]),e._v(" state. Please note that if the coordinator you are connected to does not allow creating outputs of the payout's address format ( such as a non segwit or taproot address), these payments will not be processed. The pleb mode default is on.")]),e._v(" "),t("li",[e._v("Cross mixing: Cross mixing allows you to mix your coins across multiple coordinators in parallel, bringing you the privacy benefits of multiple coordinator liquidity pools. The default option is "),t("code",[e._v("When Free")]),e._v(" (pleb mode default), which means it will only remix coins on different coordinators if they are below the free threshold and will not be charged a coordinator fee. The other option is "),t("code",[e._v("Always")]),e._v(", which will mix coins across coordinators regardless of the fee. The last option is "),t("code",[e._v("Never")]),e._v(", which will not mix coins across coordinators.")]),e._v(" "),t("li",[e._v("Continuous coinjoins: When this is turned on, the plugin will attempt to join coinjoins even if all your coins are private. The chance to join is a random chance as defined by the value divided by 100 and then as a percentage. This means that if you enter "),t("code",[e._v("100")]),e._v(", there is a 1% chance of coinjoining every round. The pleb mode default is 0.")]),e._v(" "),t("li",[e._v("Send to other wallet: If you have other stores configured with an onchain wallet, with the same address format type, you can choose to send your coinjoin outputs to that wallet. This is useful if you want to keep your privacy gains separate from your main wallet, and can even send them directly to a hardware wallet! The pleb mode default is off.")]),e._v(" "),t("li",[e._v("Label coin selection: You are able to specify which labels will allow or disallow coins from joining coinjoins. If you exclude labels A,B, and C, then coins with those labels will not be used in coinjoins. If you include labels D, E, and F, then only coins with either of those labels will be used in coinjoins.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(583),alt:"./img_4.png",title:"./img_4.png"}})]),e._v(" "),t("h2",{attrs:{id:"additional-coordinators"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-coordinators"}},[e._v("#")]),e._v(" Additional Coordinators")]),e._v(" "),t("p",[e._v("We realize that the weakest link in these coinjoin protocols is the centralized coordinator aspect, and so have opted to support multiple coordinators, in parallel, from the get-go. You can discover additional coordinators over Nostr, or you can add a coordinator manually by using the link at the bottom.\n"),t("img",{attrs:{src:o(584),alt:"./img_5.png",title:"./img_5.png"}})]),e._v(" "),t("p",[e._v('Please be cautious as some coordinators may be malicious in nature. Once a coordinator has been added and a coinjoin round has been discovered, you can click on "Coordinator Config" to see what their fees and round requirements are set to, but be aware that a coordinator can change these at will. The plugin tracks if the minimum inputs per round, the coordination fee or the free threshold has changed and will not join rounds that are worse off than the one visible when you enabled the coordinator. You can accept the new terms by clicking on "Accept new terms" and the plugin will join rounds using the new parameters.')]),e._v(" "),t("figure",[t("img",{attrs:{src:o(585),alt:"./img_6.png",title:"./img_6.png"}})]),e._v(" "),t("p",[e._v("Ideally, the minimum number of inputs is 50 and the fee is below 1% (the default is 0.3%).")]),e._v(" "),t("h2",{attrs:{id:"running-a-coordinator"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#running-a-coordinator"}},[e._v("#")]),e._v(" Running a coordinator")]),e._v(" "),t("p",[e._v('In the spirit of "be the change you want to see in the world", this plugin ships with the ability to run your own coordinator (and publish it over Nostr for discoverability). This feature is still considered experimental, and may have '),t("a",{attrs:{href:"./https://bitcoinmagazine.com/technical/is-bitcoin-next-after-tornado-cash"}},[e._v("legal repercussions for operating a coordinator")]),e._v(".\n"),t("img",{attrs:{src:o(586),alt:"./img_7.png",title:"./img_7.png"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:o(587),alt:"./img_8.png",title:"./img_8.png"}})]),e._v(" "),t("p",[e._v("By default, the coordinator is configured to donate its generated fees to the "),t("a",{attrs:{href:"https://hrf.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("human rights foundation"),t("OutboundLink")],1),e._v(", and "),t("a",{attrs:{href:"https://opensats.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("opensats"),t("OutboundLink")],1),e._v(", along with a hardcoded plugin development fee split to continue expanding and maintaining the plugin. You can configure these using the "),t("code",[e._v("CoordinatorSplits")]),e._v(" json key.\nThe format is as follows:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('[\n {\n "Ratio": 1.0,\n "Type": "hrf"\n },\n {\n "Ratio": 1.0,\n "Type": "opensats",\n "Value": "btcpayserver"\n }\n]\n')])])]),t("ul",[t("li",[e._v("If Type is "),t("code",[e._v("hrf")]),e._v(", the value of the fee equivalent to its ratio will be donated to the human rights foundation.")]),e._v(" "),t("li",[e._v("If Type is "),t("code",[e._v("opensats")]),e._v(", you must specify which project on its website will receive the value of the fee equivalent to its ratio. Available projects values are the file names listed "),t("a",{attrs:{href:"https://github.com/OpenSats/website/tree/master/./projects",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("If Type is "),t("code",[e._v("btcpaybutton")]),e._v(", you must specify a url to a BTCPay Server instance store's "),t("RouterLink",{attrs:{to:"/Apps/#payment-button"}},[e._v("payment button")]),e._v(". This must be enabled. The value usually looks as follows: "),t("code",[e._v("https://yourbtcpayserver.com/api/v1/invoices?storeId=yourstoreId¤cy=BTC")])],1),e._v(" "),t("li",[e._v("If Type is "),t("code",[e._v("btcpaypos")]),e._v(", you must specify a url to a BTCPay Server instance store's "),t("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[e._v("point of sale")]),e._v(". The "),t("code",[e._v("Custom payments")]),e._v(" option must be enabled. The value usually looks as follows: "),t("code",[e._v("https://yourbtcpayserver.com/apps/appid/pos")])],1)]),e._v(" "),t("p",[e._v("One enabled, the local coordinator appears in the coinjoin configuration of your store, and, if you configures the nostr settings, published to a relay so that others may discover the coordinator.\n"),t("img",{attrs:{src:o(588),alt:"./img_9.png",title:"./img_9.png"}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{577:function(e,t,o){e.exports=o.p+"assets/img/img_1.6bc7d880.png"},578:function(e,t,o){e.exports=o.p+"assets/img/img_2.9f8b0cc3.png"},579:function(e,t,o){e.exports=o.p+"assets/img/img_3.2595db17.png"},580:function(e,t,o){e.exports=o.p+"assets/img/coinselection.4c853f71.png"},581:function(e,t,o){e.exports=o.p+"assets/img/img.9710314c.png"},582:function(e,t,o){e.exports=o.p+"assets/img/img_4.c8000fea.png"},583:function(e,t,o){e.exports=o.p+"assets/img/scientist_mode.66645705.png"},584:function(e,t,o){e.exports=o.p+"assets/img/img_5.a8ef891b.png"},585:function(e,t,o){e.exports=o.p+"assets/img/img_6.745de6b7.png"},586:function(e,t,o){e.exports=o.p+"assets/img/img_7.0d3fb434.png"},587:function(e,t,o){e.exports=o.p+"assets/img/img_8.34595a5a.png"},588:function(e,t,o){e.exports=o.p+"assets/img/img_9.6da23178.png"},795:function(e,t,o){"use strict";o.r(t);var i=o(9),n=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"the-btcpay-server-coinjoin-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-btcpay-server-coinjoin-plugin"}},[e._v("#")]),e._v(" The BTCPay Server Coinjoin plugin")]),e._v(" "),t("p",[e._v("This plugin allows every BTCPay Server instance to integrate with the Wabisabi coinjoin protocol developed by "),t("a",{attrs:{href:"https://zksnacks.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("zkSNACKS"),t("OutboundLink")],1),e._v(" ("),t("a",{attrs:{href:"https://wasabiwallet.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Wallet"),t("OutboundLink")],1),e._v(").")]),e._v(" "),t("p",{attrs:{align:"center"}},[t("a",{attrs:{href:"http://www.youtube.com/watch?feature=player_embedded&v=zGVCrwMKKn0\n",target:"_blank"}},[t("img",{attrs:{src:"http://img.youtube.com/vi/zGVCrwMKKn0/0.jpg",border:"10"}})])]),e._v(" "),t("h2",{attrs:{id:"installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[e._v("#")]),e._v(" Installation")]),e._v(" "),t("p",[e._v("First ensure that your BTCPay Server instance is at least version 1.8.0 and that NBXplorer is at least 2.3.58. If you are using the recommended Docker deployment method, it is as simple as "),t("RouterLink",{attrs:{to:"/Wabisabi/https://docs.btcpayserver.org/FAQ/ServerSettings/#how-to-update-btcpay-server"}},[e._v("one-click")]),e._v(".")],1),e._v(" "),t("p",[e._v('Then, you will need to log in as an admin, click on "Manage plugins" in the side navigation, and click on "Install" on the "Coinjoin" plugin in the list. BTCPay Server will then ask you to restart in order to load the plugin.')]),e._v(" "),t("p",[e._v('After the restart, there should be a new navigation item in the side navigation, "Coinjoin", and the dashboard should have additional elements related to coinjoins.\n'),t("img",{attrs:{src:o(577),alt:"./img_1.png",title:"./img_1.png"}})]),e._v(" "),t("h2",{attrs:{id:"usage"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[e._v("#")]),e._v(" Usage")]),e._v(" "),t("p",[e._v("Your store needs to have a Bitcoin wallet configured and it needs to be set up as a "),t("RouterLink",{attrs:{to:"/Wabisabi/https://docs.btcpayserver.org/CreateWallet/#hot-wallet"}},[e._v("hot wallet")]),e._v(". Only native segwit (and potentially taproot) wallets will be able to join coinjoin rounds.")],1),e._v(" "),t("p",[e._v('The easiest way to get started is to click on "Coinjoin" in the side navigation, choose the default "zkSNACKS" coordinator and click "save". BTCPay Server will automatically join coinjoin rounds and progress to enhancing the privacy of your wallet.\n'),t("img",{attrs:{src:o(578),alt:"./img_2.png",title:"./img_2.png"}}),e._v('\nCoinjoin transactions will appear in the transactions list in your wallet as they happen, and will have at least 2 labels, "coinjoin", and the name of the coordinator.\n'),t("img",{attrs:{src:o(579),alt:"./img_3.png",title:"./img_3.png"}})]),e._v(" "),t("h2",{attrs:{id:"spending-privately"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#spending-privately"}},[e._v("#")]),e._v(" Spending privately")]),e._v(" "),t("p",[e._v('Coins which have gained some level of privacy will have an "anonset" label when using the BTCPay wallet coin selection feature. If you hover over the label, it will tell you the score it has gained.')]),e._v(" "),t("figure",[t("img",{attrs:{src:o(580),alt:"./coinselection.png",title:"./coinselection.png"}})]),e._v(" "),t("p",[e._v("It is up to you to use the coin selection feature correctly to make the best of your earned privacy on your coins.")]),e._v(" "),t("p",[e._v("Ideally you:")]),e._v(" "),t("ul",[t("li",[e._v("select the least amount of coins possible")]),e._v(" "),t("li",[e._v("select the highest level of privacy coins")]),e._v(" "),t("li",[e._v("ideally use coins from different transactions")]),e._v(" "),t("li",[e._v("spend entire coins to prevent change")])]),e._v(" "),t("p",[e._v("We realize this is a complex selection and are working on an easier UI to help with this. As an initial experiment, we have added an action to let us attempt to select coins based on your sending amounts.\n"),t("img",{attrs:{src:o(581),alt:"./img.png",title:"./img.png"}})]),e._v(" "),t("p",[e._v("But the best way to spend privately is to use our unique "),t("strong",[e._v("payment batching feature")]),e._v(", by utilizing BTCPay Server's "),t("RouterLink",{attrs:{to:"/Wabisabi/https://docs.btcpayserver.org/Payouts/"}},[e._v("Payout")]),e._v(' system. Simply set the destination and amount and click on "Schedule transaction", and the payment will be embedded directly inside the next coinjoin that can fulfill it.\n'),t("img",{attrs:{src:o(582),alt:"./img_4.png",title:"./img_4.png"}})],1),e._v(" "),t("h2",{attrs:{id:"pleb-mode-vs-scientist-mode"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pleb-mode-vs-scientist-mode"}},[e._v("#")]),e._v(" Pleb mode vs Scientist mode")]),e._v(" "),t("p",[e._v("Pleb mode comes with a curated set of configurations aimed to get you off the ground with coinjoining. Scientist mode is for those who want to experiment with different configurations and fine tune their coinjoin experience.")]),e._v(" "),t("p",[e._v("Scientist mode allows you to configure the following:")]),e._v(" "),t("ul",[t("li",[e._v("Anonscore target: What level of privacy you want to achieve. The higher the number, the more privacy you will gain, but the longer (and more expensive due to mining fees) it will take to achieve it. The pleb mode default is 5.")]),e._v(" "),t("li",[e._v("Coinsolidations: When this is turned on, the plugin will attempt to add many coins in comparison to usual. The maximum number of coins that can be added by this plugin is a random number computed for each round between 10 and 30. When coinsolidation mode is on, the likelihood to keep adding coins to the max number is probabilistic change of 90%, else it is current number of coins divided by the max number of coins. The pleb mode default is off.")]),e._v(" "),t("li",[e._v("Batched payments: When this is turned on, the plugin will attempt to batch BTC on-chain Payouts that are in the "),t("code",[e._v("AwaitingPayment")]),e._v(" state. Please note that if the coordinator you are connected to does not allow creating outputs of the payout's address format ( such as a non segwit or taproot address), these payments will not be processed. The pleb mode default is on.")]),e._v(" "),t("li",[e._v("Cross mixing: Cross mixing allows you to mix your coins across multiple coordinators in parallel, bringing you the privacy benefits of multiple coordinator liquidity pools. The default option is "),t("code",[e._v("When Free")]),e._v(" (pleb mode default), which means it will only remix coins on different coordinators if they are below the free threshold and will not be charged a coordinator fee. The other option is "),t("code",[e._v("Always")]),e._v(", which will mix coins across coordinators regardless of the fee. The last option is "),t("code",[e._v("Never")]),e._v(", which will not mix coins across coordinators.")]),e._v(" "),t("li",[e._v("Continuous coinjoins: When this is turned on, the plugin will attempt to join coinjoins even if all your coins are private. The chance to join is a random chance as defined by the value divided by 100 and then as a percentage. This means that if you enter "),t("code",[e._v("100")]),e._v(", there is a 1% chance of coinjoining every round. The pleb mode default is 0.")]),e._v(" "),t("li",[e._v("Send to other wallet: If you have other stores configured with an onchain wallet, with the same address format type, you can choose to send your coinjoin outputs to that wallet. This is useful if you want to keep your privacy gains separate from your main wallet, and can even send them directly to a hardware wallet! The pleb mode default is off.")]),e._v(" "),t("li",[e._v("Label coin selection: You are able to specify which labels will allow or disallow coins from joining coinjoins. If you exclude labels A,B, and C, then coins with those labels will not be used in coinjoins. If you include labels D, E, and F, then only coins with either of those labels will be used in coinjoins.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(583),alt:"./img_4.png",title:"./img_4.png"}})]),e._v(" "),t("h2",{attrs:{id:"additional-coordinators"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-coordinators"}},[e._v("#")]),e._v(" Additional Coordinators")]),e._v(" "),t("p",[e._v("We realize that the weakest link in these coinjoin protocols is the centralized coordinator aspect, and so have opted to support multiple coordinators, in parallel, from the get-go. You can discover additional coordinators over Nostr, or you can add a coordinator manually by using the link at the bottom.\n"),t("img",{attrs:{src:o(584),alt:"./img_5.png",title:"./img_5.png"}})]),e._v(" "),t("p",[e._v('Please be cautious as some coordinators may be malicious in nature. Once a coordinator has been added and a coinjoin round has been discovered, you can click on "Coordinator Config" to see what their fees and round requirements are set to, but be aware that a coordinator can change these at will. The plugin tracks if the minimum inputs per round, the coordination fee or the free threshold has changed and will not join rounds that are worse off than the one visible when you enabled the coordinator. You can accept the new terms by clicking on "Accept new terms" and the plugin will join rounds using the new parameters.')]),e._v(" "),t("figure",[t("img",{attrs:{src:o(585),alt:"./img_6.png",title:"./img_6.png"}})]),e._v(" "),t("p",[e._v("Ideally, the minimum number of inputs is 50 and the fee is below 1% (the default is 0.3%).")]),e._v(" "),t("h2",{attrs:{id:"running-a-coordinator"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#running-a-coordinator"}},[e._v("#")]),e._v(" Running a coordinator")]),e._v(" "),t("p",[e._v('In the spirit of "be the change you want to see in the world", this plugin ships with the ability to run your own coordinator (and publish it over Nostr for discoverability). This feature is still considered experimental, and may have '),t("a",{attrs:{href:"./https://bitcoinmagazine.com/technical/is-bitcoin-next-after-tornado-cash"}},[e._v("legal repercussions for operating a coordinator")]),e._v(".\n"),t("img",{attrs:{src:o(586),alt:"./img_7.png",title:"./img_7.png"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:o(587),alt:"./img_8.png",title:"./img_8.png"}})]),e._v(" "),t("p",[e._v("By default, the coordinator is configured to donate its generated fees to the "),t("a",{attrs:{href:"https://hrf.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("human rights foundation"),t("OutboundLink")],1),e._v(", and "),t("a",{attrs:{href:"https://opensats.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("opensats"),t("OutboundLink")],1),e._v(", along with a hardcoded plugin development fee split to continue expanding and maintaining the plugin. You can configure these using the "),t("code",[e._v("CoordinatorSplits")]),e._v(" json key.\nThe format is as follows:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('[\n {\n "Ratio": 1.0,\n "Type": "hrf"\n },\n {\n "Ratio": 1.0,\n "Type": "opensats",\n "Value": "btcpayserver"\n }\n]\n')])])]),t("ul",[t("li",[e._v("If Type is "),t("code",[e._v("hrf")]),e._v(", the value of the fee equivalent to its ratio will be donated to the human rights foundation.")]),e._v(" "),t("li",[e._v("If Type is "),t("code",[e._v("opensats")]),e._v(", you must specify which project on its website will receive the value of the fee equivalent to its ratio. Available projects values are the file names listed "),t("a",{attrs:{href:"https://github.com/OpenSats/website/tree/master/./projects",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("If Type is "),t("code",[e._v("btcpaybutton")]),e._v(", you must specify a url to a BTCPay Server instance store's "),t("RouterLink",{attrs:{to:"/Apps/#payment-button"}},[e._v("payment button")]),e._v(". This must be enabled. The value usually looks as follows: "),t("code",[e._v("https://yourbtcpayserver.com/api/v1/invoices?storeId=yourstoreId¤cy=BTC")])],1),e._v(" "),t("li",[e._v("If Type is "),t("code",[e._v("btcpaypos")]),e._v(", you must specify a url to a BTCPay Server instance store's "),t("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[e._v("point of sale")]),e._v(". The "),t("code",[e._v("Custom payments")]),e._v(" option must be enabled. The value usually looks as follows: "),t("code",[e._v("https://yourbtcpayserver.com/apps/appid/pos")])],1)]),e._v(" "),t("p",[e._v("One enabled, the local coordinator appears in the coinjoin configuration of your store, and, if you configures the nostr settings, published to a relay so that others may discover the coordinator.\n"),t("img",{attrs:{src:o(588),alt:"./img_9.png",title:"./img_9.png"}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/19.4d54782c.js b/assets/js/19.31958e97.js similarity index 78% rename from assets/js/19.4d54782c.js rename to assets/js/19.31958e97.js index 13a513a52a..9e82cc3ca5 100644 --- a/assets/js/19.4d54782c.js +++ b/assets/js/19.31958e97.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{259:function(t,e,a){t.exports=a.p+"assets/img/payouts-status3-options-appr.2f1b2d15.jpg"},639:function(t,e,a){t.exports=a.p+"assets/img/invoices-details.19bfdb69.jpg"},640:function(t,e,a){t.exports=a.p+"assets/img/issue-refund.ad313350.jpg"},641:function(t,e,a){t.exports=a.p+"assets/img/issue-refund-payment-option.ba17b34c.jpg"},642:function(t,e,a){t.exports=a.p+"assets/img/issue-refund-amount.d6751041.jpg"},643:function(t,e,a){t.exports=a.p+"assets/img/claimingside.b4816192.jpg"},644:function(t,e,a){t.exports=a.p+"assets/img/payouts-status4-options-sign3-adv.96d0e967.jpg"},645:function(t,e,a){t.exports=a.p+"assets/img/payout-status-succesfull.7513d4bc.jpg"},646:function(t,e,a){t.exports=a.p+"assets/img/payouts-status5-completed1.b5295c02.jpg"},647:function(t,e,a){t.exports=a.p+"assets/img/claiment-completed1.4e877454.jpg"},804:function(t,e,a){"use strict";a.r(e);var r=a(9),s=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"refunds"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#refunds"}},[t._v("#")]),t._v(" Refunds")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("If you are looking for information about requesting a refund from a merchant, please refer to this "),e("RouterLink",{attrs:{to:"/FAQ/General/#what-if-i-have-a-problem-with-a-paid-invoice"}},[t._v("FAQ")])],1)]),t._v(" "),e("p",[e("strong",[t._v("Refunds")]),t._v(" are one of the applications built on top of the "),e("RouterLink",{attrs:{to:"/PullPayments/"}},[t._v("Pull Payments")]),t._v(" feature.")],1),t._v(" "),e("p",[t._v("On this page, we will walk you through the process of issuing a refund.\nThere are a short few steps to create the refund for the customer.")]),t._v(" "),e("h2",{attrs:{id:"create-a-refund"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#create-a-refund"}},[t._v("#")]),t._v(" Create a refund")]),t._v(" "),e("ol",[e("li",[t._v("To refund an invoice, go in the "),e("code",[t._v("Invoices")]),t._v(" page and click "),e("code",[t._v("Details")]),t._v(" on the invoice.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(639),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"2"}},[e("li",[t._v("Click "),e("code",[t._v("Issue a refund")])])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(640),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"3"}},[e("li",[t._v("Select refund's payment method")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(641),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"4"}},[e("li",[t._v("Select the "),e("code",[t._v("amount")]),t._v(" you want to refund")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(642),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"5"}},[e("li",[t._v("Share the link of this page with your customer")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(643),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("h2",{attrs:{id:"processing-refund"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#processing-refund"}},[t._v("#")]),t._v(" Processing refund")]),t._v(" "),e("p",[t._v("Once a customer clicks on the link you've provided adds their refund bitcoin address and claims the invoice, the next step is to process a refund.")]),t._v(" "),e("ol",[e("li",[t._v("Go to the "),e("code",[t._v("Payouts")]),t._v(" tab in your sidebar.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(259),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"2"}},[e("li",[t._v("Select the Payouts you want to process, go to actions and select "),e("code",[t._v("Approve and send")])])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(259),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"3"}},[e("li",[t._v("Sign and broadcast the transactions.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(644),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"4"}},[e("li",[t._v("The payout has now been signed and is in progress, awaiting confirmation on the blockchain. This is reflected to the claimant in their view.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(645),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"5"}},[e("li",[t._v("After the transaction has been confirmed on the blockchain, the status of the payout will be "),e("code",[t._v("completed")]),t._v(".")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(646),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("p",[t._v("Customer's view after the refund has been successfully processed.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(647),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{259:function(t,e,a){t.exports=a.p+"assets/img/payouts-status3-options-appr.2f1b2d15.jpg"},647:function(t,e,a){t.exports=a.p+"assets/img/invoices-details.19bfdb69.jpg"},648:function(t,e,a){t.exports=a.p+"assets/img/issue-refund.ad313350.jpg"},649:function(t,e,a){t.exports=a.p+"assets/img/issue-refund-payment-option.ba17b34c.jpg"},650:function(t,e,a){t.exports=a.p+"assets/img/issue-refund-amount.d6751041.jpg"},651:function(t,e,a){t.exports=a.p+"assets/img/claimingside.b4816192.jpg"},652:function(t,e,a){t.exports=a.p+"assets/img/payouts-status4-options-sign3-adv.96d0e967.jpg"},653:function(t,e,a){t.exports=a.p+"assets/img/payout-status-succesfull.7513d4bc.jpg"},654:function(t,e,a){t.exports=a.p+"assets/img/payouts-status5-completed1.b5295c02.jpg"},655:function(t,e,a){t.exports=a.p+"assets/img/claiment-completed1.4e877454.jpg"},804:function(t,e,a){"use strict";a.r(e);var r=a(9),s=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"refunds"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#refunds"}},[t._v("#")]),t._v(" Refunds")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("If you are looking for information about requesting a refund from a merchant, please refer to this "),e("RouterLink",{attrs:{to:"/FAQ/General/#what-if-i-have-a-problem-with-a-paid-invoice"}},[t._v("FAQ")])],1)]),t._v(" "),e("p",[e("strong",[t._v("Refunds")]),t._v(" are one of the applications built on top of the "),e("RouterLink",{attrs:{to:"/PullPayments/"}},[t._v("Pull Payments")]),t._v(" feature.")],1),t._v(" "),e("p",[t._v("On this page, we will walk you through the process of issuing a refund.\nThere are a short few steps to create the refund for the customer.")]),t._v(" "),e("h2",{attrs:{id:"create-a-refund"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#create-a-refund"}},[t._v("#")]),t._v(" Create a refund")]),t._v(" "),e("ol",[e("li",[t._v("To refund an invoice, go in the "),e("code",[t._v("Invoices")]),t._v(" page and click "),e("code",[t._v("Details")]),t._v(" on the invoice.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(647),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"2"}},[e("li",[t._v("Click "),e("code",[t._v("Issue a refund")])])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(648),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"3"}},[e("li",[t._v("Select refund's payment method")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(649),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"4"}},[e("li",[t._v("Select the "),e("code",[t._v("amount")]),t._v(" you want to refund")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(650),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("ol",{attrs:{start:"5"}},[e("li",[t._v("Share the link of this page with your customer")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(651),alt:"BTCPay Server refund feature",title:"BTCPay Server refund feature"}})]),t._v(" "),e("h2",{attrs:{id:"processing-refund"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#processing-refund"}},[t._v("#")]),t._v(" Processing refund")]),t._v(" "),e("p",[t._v("Once a customer clicks on the link you've provided adds their refund bitcoin address and claims the invoice, the next step is to process a refund.")]),t._v(" "),e("ol",[e("li",[t._v("Go to the "),e("code",[t._v("Payouts")]),t._v(" tab in your sidebar.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(259),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"2"}},[e("li",[t._v("Select the Payouts you want to process, go to actions and select "),e("code",[t._v("Approve and send")])])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(259),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"3"}},[e("li",[t._v("Sign and broadcast the transactions.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(652),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"4"}},[e("li",[t._v("The payout has now been signed and is in progress, awaiting confirmation on the blockchain. This is reflected to the claimant in their view.")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(653),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("ol",{attrs:{start:"5"}},[e("li",[t._v("After the transaction has been confirmed on the blockchain, the status of the payout will be "),e("code",[t._v("completed")]),t._v(".")])]),t._v(" "),e("figure",[e("img",{attrs:{src:a(654),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})]),t._v(" "),e("p",[t._v("Customer's view after the refund has been successfully processed.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(655),alt:"BTCPay Server Payouts tab",title:"BTCPay Server Payouts tab"}})])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/22.6efb63cd.js b/assets/js/22.5483a7b8.js similarity index 99% rename from assets/js/22.6efb63cd.js rename to assets/js/22.5483a7b8.js index dc67ac2fa8..163141a399 100644 --- a/assets/js/22.6efb63cd.js +++ b/assets/js/22.5483a7b8.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{593:function(t,e,a){t.exports=a.p+"assets/img/WalletTransactions.c905309a.jpg"},594:function(t,e,a){t.exports=a.p+"assets/img/WalletSend.f65f1a74.jpg"},595:function(t,e,a){t.exports=a.p+"assets/img/WalletRBF.2dea1e29.jpg"},596:function(t,e,a){t.exports=a.p+"assets/img/CoinSelection.9d40e6ee.jpg"},597:function(t,e,a){t.exports=a.p+"assets/img/ScanWallet.61243593.jpg"},598:function(t,e,a){t.exports=a.p+"assets/img/WalletReceive.cb4b9f39.jpg"},599:function(t,e,a){t.exports=a.p+"assets/img/WalletRescan.1d081027.jpg"},600:function(t,e,a){t.exports=a.p+"assets/img/WalletRescanProgress.05a8b0f7.jpg"},601:function(t,e,a){t.exports=a.p+"assets/img/btcpayserverwalletsettings1.97911174.jpg"},798:function(t,e,a){"use strict";a.r(e);var n=a(9),s=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"btcpay-server-wallet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-server-wallet"}},[t._v("#")]),t._v(" BTCPay Server Wallet")]),t._v(" "),e("p",[t._v("BTCPay Server has a built in, "),e("strong",[t._v("full-node reliant wallet")]),t._v(" that allows for easy funds management.")]),t._v(" "),e("p",[t._v("Each "),e("RouterLink",{attrs:{to:"/CreateStore/"}},[t._v("store")]),t._v("'s configured cryptocurrency has a separate wallet displayed under Wallets in the menu bar.")],1),t._v(" "),e("h2",{attrs:{id:"wallet-features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#wallet-features"}},[t._v("#")]),t._v(" Wallet features")]),t._v(" "),e("p",[t._v("The wallet contains the following features:")]),t._v(" "),e("ol",[e("li",[t._v("Transactions")]),t._v(" "),e("li",[t._v("Send")]),t._v(" "),e("li",[t._v("Receive")]),t._v(" "),e("li",[t._v("Rescan")]),t._v(" "),e("li",[t._v("Pull payments")]),t._v(" "),e("li",[t._v("Payouts")]),t._v(" "),e("li",[t._v("PSBT")]),t._v(" "),e("li",[t._v("Settings")])]),t._v(" "),e("h3",{attrs:{id:"transactions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#transactions"}},[t._v("#")]),t._v(" Transactions")]),t._v(" "),e("p",[t._v("An overview of the incoming (green), outgoing (red) and unconfirmed (grayed out) "),e("strong",[t._v("transactions")]),t._v(" displayed together with timestamps and balances, sorted by date. You can click on the transaction ID to view the transaction details on the block explorer.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(593),alt:"Individual Wallet",title:"Individual Wallet"}})]),t._v(" "),e("h4",{attrs:{id:"transaction-labels"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#transaction-labels"}},[t._v("#")]),t._v(" Transaction Labels")]),t._v(" "),e("p",[t._v("The table below lists the various "),e("strong",[t._v("transaction labels used by BTCPay")]),t._v(".")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Transaction Type")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("app")]),t._v(" "),e("td",[t._v("Payment was received through an app created invoice")])]),t._v(" "),e("tr",[e("td",[t._v("invoice")]),t._v(" "),e("td",[t._v("Payment was received through an invoice")])]),t._v(" "),e("tr",[e("td",[t._v("payjoin")]),t._v(" "),e("td",[t._v("Not paid, invoice timer still has not expired")])]),t._v(" "),e("tr",[e("td",[t._v("payjoin-exposed")]),t._v(" "),e("td",[t._v("UTXO was exposed through an invoice payjoin proposal")])]),t._v(" "),e("tr",[e("td",[t._v("payment-request")]),t._v(" "),e("td",[t._v("Payment was received through a payment request")])]),t._v(" "),e("tr",[e("td",[t._v("payout")]),t._v(" "),e("td",[t._v("Payment was sent through a payout or refund")])])])]),t._v(" "),e("p",[t._v("You can also create your own "),e("RouterLink",{attrs:{to:"/FAQ/Wallet/#how-to-add-custom-labels-and-comments-to-transactions"}},[t._v("custom transaction labels and comments")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"send"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#send"}},[t._v("#")]),t._v(" Send")]),t._v(" "),e("p",[t._v("The Send function allows "),e("strong",[t._v("spending of the funds from the BTCPay wallet")]),t._v(".")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(594),alt:"Send from the Wallet",title:"Send from the Wallet"}})]),t._v(" "),e("h4",{attrs:{id:"signing-a-transaction-spending"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-a-transaction-spending"}},[t._v("#")]),t._v(" Signing a transaction (spending)")]),t._v(" "),e("p",[t._v("To spend the funds, you are required to "),e("strong",[t._v("sign")]),t._v(" the transaction. Transactions can be signed with:")]),t._v(" "),e("ul",[e("li",[t._v("Hardware Wallet")]),t._v(" "),e("li",[t._v("Wallet supporting PSBT")]),t._v(" "),e("li",[t._v("HD private key or recovery seed")]),t._v(" "),e("li",[t._v("Hot Wallet")])]),t._v(" "),e("h5",{attrs:{id:"signing-with-hd-private-key-or-mnemonic-seed"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-hd-private-key-or-mnemonic-seed"}},[t._v("#")]),t._v(" Signing with HD Private Key or mnemonic seed")]),t._v(" "),e("p",[t._v("If you set up an "),e("RouterLink",{attrs:{to:"/WalletSetup/#use-an-existing-wallet"}},[t._v("existing wallet with your BTCPay Server")]),t._v(", you can spend the funds by inputting your private key into an appropriate field. Make sure to set a proper "),e("code",[t._v("AccountKeyPath")]),t._v(" in Wallet > Settings otherwise you won't be able to spend.")],1),t._v(" "),e("h5",{attrs:{id:"signing-with-a-wallet-supporting-psbt"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-a-wallet-supporting-psbt"}},[t._v("#")]),t._v(" Signing with a wallet supporting PSBT")]),t._v(" "),e("p",[t._v("PSBT ("),e("strong",[t._v("Partially Signed Bitcoin transactions")]),t._v(") is an interchange format for Bitcoin transactions that are not fully signed yet.\nPSBT is supported in BTCPay Server and can be signed with compatible hardware and software wallets.")]),t._v(" "),e("p",[t._v("The construction of a fully signed Bitcoin transaction goes through the following steps:")]),t._v(" "),e("ul",[e("li",[t._v("A PSBT gets constructed with certain inputs and outputs, but no signatures")]),t._v(" "),e("li",[t._v("The exported PSBT can be imported by a wallet that supports this format")]),t._v(" "),e("li",[t._v("The transaction data can be inspected and signed using the wallet")]),t._v(" "),e("li",[t._v("The signed PSBT file gets exported from the wallet and imported with BTCPay Server")]),t._v(" "),e("li",[t._v("BTCPay Server produces the final Bitcoin transaction")]),t._v(" "),e("li",[t._v("You verify the result and broadcast it to the network")])]),t._v(" "),e("p",[t._v("Check this tutorial on how to "),e("RouterLink",{attrs:{to:"/ColdCardWallet/#spending-from-btcpay-server-wallet-with-coldcard-psbt"}},[t._v("sign a PSBT transaction with ColdCard Hardware Wallet")]),t._v(", completely offline/air-gapped.")],1),t._v(" "),e("h5",{attrs:{id:"signing-with-a-hardware-wallet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-a-hardware-wallet"}},[t._v("#")]),t._v(" Signing with a hardware wallet")]),t._v(" "),e("p",[t._v("BTCPay Server has built-in hardware wallet support allowing you to "),e("strong",[t._v("use your hardware wallet with BTCPay")]),t._v(", without leaking information to third-party apps or servers.")]),t._v(" "),e("p",[e("RouterLink",{attrs:{to:"/HardwareWalletIntegration/"}},[t._v("Check instructions")]),t._v(" on how to set up and sign with a "),e("a",{attrs:{href:"https://github.com/bitcoin-core/HWI#device-support",target:"_blank",rel:"noopener noreferrer"}},[t._v("compatible hardware wallet"),e("OutboundLink")],1),t._v(".")],1),t._v(" "),e("h5",{attrs:{id:"signing-with-a-hot-wallet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-a-hot-wallet"}},[t._v("#")]),t._v(" Signing with a hot wallet")]),t._v(" "),e("p",[t._v("If you "),e("RouterLink",{attrs:{to:"/CreateWallet/"}},[t._v("created a new wallet")]),t._v(" when setting up your store and enabled it as a "),e("RouterLink",{attrs:{to:"/CreateWallet/#hot-wallet"}},[t._v("hot wallet")]),t._v(", since version 1.2.0, we've added an option that when a "),e("RouterLink",{attrs:{to:"/CreateWallet/#hot-wallet"}},[t._v("hot wallet")]),t._v(" is created, it'll automatically use the seed stored on a server to sign.")],1),t._v(" "),e("div",{staticClass:"custom-block danger"},[e("p",{staticClass:"custom-block-title"},[t._v("DANGER")]),t._v(" "),e("p",[t._v("Using the hot wallet feature comes with security implications; please be sure to read and understand them over at the "),e("RouterLink",{attrs:{to:"/CreateWallet/#security-implications"}},[t._v("Hot Wallet documentation")])],1)]),t._v(" "),e("h4",{attrs:{id:"advanced-settings"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#advanced-settings"}},[t._v("#")]),t._v(" Advanced Settings")]),t._v(" "),e("p",[t._v("Certain wallet features are available for advanced users. Toggle the "),e("code",[t._v("Advanced Settings")]),t._v(" within the "),e("code",[t._v("Send")]),t._v(" tab to preview them.")]),t._v(" "),e("h5",{attrs:{id:"dont-create-utxo-change"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#dont-create-utxo-change"}},[t._v("#")]),t._v(" Don't create UTXO change")]),t._v(" "),e("p",[t._v("This option is available in the "),e("code",[t._v("Advanced mode")]),t._v(" of the "),e("code",[t._v("Send")]),t._v(" page.")]),t._v(" "),e("p",[t._v("It is a privacy enhancing feature which is useful when you're sending funds to another wallet of yours or to an exchange. It makes sure that no change UTXO is created by "),e("strong",[t._v("rounding up")]),t._v(" the amount sent.")]),t._v(" "),e("p",[t._v("By default this feature is disabled, so if your wallet has a UTXO of "),e("code",[t._v("1.1 BTC")]),t._v(" and you input an amount equal to "),e("code",[t._v("1.0 BTC")]),t._v(", the resulting transaction will have two outputs "),e("code",[t._v("0.1 BTC")]),t._v(" of change, and "),e("code",[t._v("1.0 BTC")]),t._v(" to your destination.")]),t._v(" "),e("p",[t._v("Blockchain analysis will understand that those "),e("code",[t._v("0.1 BTC")]),t._v(" of change belong to the same entity which controlled "),e("code",[t._v("1.1 BTC")]),t._v(" before, and can track the future purchase you make under the same pattern.")]),t._v(" "),e("p",[t._v("By enabling this feature, BTCPay Server wallet will round up the amount sent to "),e("code",[t._v("1.1 BTC")]),t._v(" such that no change output is sent back to you.")]),t._v(" "),e("p",[t._v("Warning: Despite the fact, in this example, that you entered "),e("code",[t._v("1.0")]),t._v(" in the amount field, the amount that will really be sent to your destination will be "),e("code",[t._v("1.1 BTC")]),t._v(".")]),t._v(" "),e("h5",{attrs:{id:"rbf-replace-by-fee"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#rbf-replace-by-fee"}},[t._v("#")]),t._v(" RBF (Replace-By-Fee)")]),t._v(" "),e("p",[t._v("Replace-By-Fee (RBF) is a Bitcoin protocol feature that allows you to replace a previously broadcast transaction (while unconfirmed). This allows randomizing your wallet's transaction fingerprint, or simply for replacing it with a higher fee rate to move the transaction higher in the queue of confirmation (mining) priority. This will effectively replace the original transaction as the higher fee rate will be prioritized and once confirmed, invalidating the original one (double spend).")]),t._v(" "),e("p",[t._v("Press the "),e("code",[t._v("Advanced Settings")]),t._v(" button to view the RBF options:")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(595),alt:"RBF Options",title:"RBF Options"}})]),t._v(" "),e("ul",[e("li",[t._v("Option 1 (Enabled by Default): Allow the transaction to be replaced automatically for randomization of transaction fingerprint (increased privacy)")]),t._v(" "),e("li",[t._v("Option 2: Yes, Allow the transaction to be replaced explicitly (not replaced by default)")]),t._v(" "),e("li",[t._v("Option 3: No, Do not allow the transaction to be replaced (ignore replacement)")])]),t._v(" "),e("h5",{attrs:{id:"coin-selection"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#coin-selection"}},[t._v("#")]),t._v(" Coin Selection")]),t._v(" "),e("p",[t._v("Coin selection is an advanced "),e("strong",[t._v("privacy-enhancing feature")]),t._v(" that allows you to "),e("strong",[t._v("specifically select coins")]),t._v(" that you would like to spend when crafting a transaction. For example, paying with coins that are fresh from a coinjoin mix.")]),t._v(" "),e("p",[t._v("To make the selection easier, coin-selection works natively with the wallet labels feature. This allows you to label any incoming funds for smoother UTXO management and spending.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(596),alt:"Coin Selection",title:"Coin Selection"}})]),t._v(" "),e("h5",{attrs:{id:"other-features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#other-features"}},[t._v("#")]),t._v(" Other features")]),t._v(" "),e("h6",{attrs:{id:"camera-qr-scan"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#camera-qr-scan"}},[t._v("#")]),t._v(" Camera QR scan")]),t._v(" "),e("p",[t._v("Scan option in wallet (camera icon in send screen) lets you "),e("strong",[t._v("use your device’s camera to scan a QR code containing an address or BIP21 payment link")]),t._v(". It auto-populates the sending information so that you don’t have to manually copy-paste an address and amount.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(597),alt:"QR Scan",title:"QR Scan"}})]),t._v(" "),e("h6",{attrs:{id:"paste-bip21-address"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#paste-bip21-address"}},[t._v("#")]),t._v(" Paste BIP21 address")]),t._v(" "),e("p",[t._v("This option "),e("strong",[t._v("decodes a BIP21 payment link")]),t._v(". It's useful when you're trying to pay a "),e("RouterLink",{attrs:{to:"/Payjoin/"}},[t._v("Payjoin")]),t._v(" invoice.")],1),t._v(" "),e("h3",{attrs:{id:"receive"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#receive"}},[t._v("#")]),t._v(" Receive")]),t._v(" "),e("p",[t._v("The Receive tab "),e("strong",[t._v("generates an unused address which can be used to receive payments")]),t._v(". The same can be achieved by generating an invoice (Invoices > Create new invoice).")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(598),alt:"Wallet Receive",title:"Wallet Receive"}})]),t._v(" "),e("h3",{attrs:{id:"pull-payments"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#pull-payments"}},[t._v("#")]),t._v(" Pull Payments")]),t._v(" "),e("p",[t._v("This feature gives you the ability to "),e("strong",[t._v("create a Pull Payment")]),t._v(", so that an outside individual may request to "),e("code",[t._v("pull")]),t._v(" funds from your wallet.")]),t._v(" "),e("p",[t._v("For more information, see "),e("RouterLink",{attrs:{to:"/PullPayments/"}},[t._v("Pull Payments")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"payouts"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#payouts"}},[t._v("#")]),t._v(" Payouts")]),t._v(" "),e("p",[t._v("This section lets you manage Pull Payments and gives you the ability to "),e("strong",[t._v("accept or decline payouts requested by outside individuals")]),t._v(".")]),t._v(" "),e("p",[t._v("For more information, see "),e("RouterLink",{attrs:{to:"/PullPayments/#approve-and-pay-a-payout"}},[t._v("Payouts")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"re-scan"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#re-scan"}},[t._v("#")]),t._v(" Re-scan")]),t._v(" "),e("p",[t._v("The Rescan relies on Bitcoin Core 0.17.0's "),e("code",[t._v("scantxoutset")]),t._v(" to "),e("strong",[t._v("scan the current state of the blockchain")]),t._v(" (called UTXO Set) for coins belonging to the configured derivation scheme.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(599),alt:"Wallet Rescan",title:"Wallet Rescan"}})]),t._v(" "),e("p",[t._v("Wallet re-scan solves two critical problems for BTCPay users:")]),t._v(" "),e("ol",[e("li",[e("RouterLink",{attrs:{to:"/FAQ/Wallet/#missing-payments-in-my-software-or-hardware-wallet"}},[t._v("Gap limit")])],1),t._v(" "),e("li",[t._v("Importing a previously used wallet")])]),t._v(" "),e("p",[e("strong",[t._v("Gap limit")]),t._v(": Most wallets typically have the address gap limit set to 20. This means that if a merchant receives 21 or more consecutive unpaid invoices, those wallets show the incorrect balance and some transactions may not be visible.")]),t._v(" "),e("p",[e("strong",[t._v("Wallet import")]),t._v(": When users add a derivation scheme of a wallet that had transactions in the past (previously used wallet), BTCPay won't be able to show the balance and transactions from the past.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(600),alt:"Wallet rescan progress",title:"Wallet rescan progress"}})]),t._v(" "),e("p",[t._v("Re-scan is a feature that solves both of these problems. Once the scan is complete, BTCPay Server will show the correct balance, along with the past transactions of the wallet.")]),t._v(" "),e("p",[t._v("Wallet re-scan requires access to the full node which means that this function is only available for server owners.")]),t._v(" "),e("p",[t._v("Users who use a third-party host should use a newly generated xpub key and also use an external wallet like Electrum which allows them to increase the gap limit.")]),t._v(" "),e("h3",{attrs:{id:"settings"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#settings"}},[t._v("#")]),t._v(" Settings")]),t._v(" "),e("p",[t._v("In the top right corner of your "),e("code",[t._v("wallet")]),t._v(" you will find the "),e("code",[t._v("wallet settings")]),t._v(".\nIn the wallet settings tab you can adjust certain settings. If you've configured your wallet by "),e("RouterLink",{attrs:{to:"/CreateWallet/"}},[t._v("creating a new wallet")]),t._v(" or using an existing wallet via the "),e("RouterLink",{attrs:{to:"/HardwareWalletIntegration/"}},[t._v("hardware wallet integration")]),t._v(" these settings will be pre-configured.")],1),t._v(" "),e("p",[t._v("If you manually added the extended public key from an external wallet, you'd need to adjust "),e("code",[t._v("AccountKeyPath")]),t._v(" that you can find in your external wallet, for example "),e("code",[t._v("m/84'/0'/0'")]),t._v(" to be able to spend from the BTCPay Wallet.")]),t._v(" "),e("p",[t._v("In "),e("code",[t._v("wallet settings")]),t._v(" you will also find the "),e("code",[t._v("speed policy")]),t._v(" for the specific store.\nThere are 2 main settings under "),e("code",[t._v("Payment")]),t._v(", "),e("RouterLink",{attrs:{to:"/FAQ/Stores/#payment-invalid-if-transactions-fails-to-confirm--minutes-after-invoice-expiration"}},[t._v("Payment invalid if transaction fails to confirm in ... after invoice creation")]),t._v(" and "),e("RouterLink",{attrs:{to:"/FAQ/Stores/#consider-the-invoice-confirmed-when-the-payment-transaction"}},[t._v("Consider the invoice confirmed when the payment transaction...")]),t._v(". The latter lets you set the number of confirmations required to be recognized as settled.")],1),t._v(" "),e("figure",[e("img",{attrs:{src:a(601),alt:"Wallet settings",title:"Wallet settings"}})])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{593:function(t,e,a){t.exports=a.p+"assets/img/WalletTransactions.c905309a.jpg"},594:function(t,e,a){t.exports=a.p+"assets/img/WalletSend.f65f1a74.jpg"},595:function(t,e,a){t.exports=a.p+"assets/img/WalletRBF.2dea1e29.jpg"},596:function(t,e,a){t.exports=a.p+"assets/img/CoinSelection.9d40e6ee.jpg"},597:function(t,e,a){t.exports=a.p+"assets/img/ScanWallet.61243593.jpg"},598:function(t,e,a){t.exports=a.p+"assets/img/WalletReceive.cb4b9f39.jpg"},599:function(t,e,a){t.exports=a.p+"assets/img/WalletRescan.1d081027.jpg"},600:function(t,e,a){t.exports=a.p+"assets/img/WalletRescanProgress.05a8b0f7.jpg"},601:function(t,e,a){t.exports=a.p+"assets/img/btcpayserverwalletsettings1.97911174.jpg"},797:function(t,e,a){"use strict";a.r(e);var n=a(9),s=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"btcpay-server-wallet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-server-wallet"}},[t._v("#")]),t._v(" BTCPay Server Wallet")]),t._v(" "),e("p",[t._v("BTCPay Server has a built in, "),e("strong",[t._v("full-node reliant wallet")]),t._v(" that allows for easy funds management.")]),t._v(" "),e("p",[t._v("Each "),e("RouterLink",{attrs:{to:"/CreateStore/"}},[t._v("store")]),t._v("'s configured cryptocurrency has a separate wallet displayed under Wallets in the menu bar.")],1),t._v(" "),e("h2",{attrs:{id:"wallet-features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#wallet-features"}},[t._v("#")]),t._v(" Wallet features")]),t._v(" "),e("p",[t._v("The wallet contains the following features:")]),t._v(" "),e("ol",[e("li",[t._v("Transactions")]),t._v(" "),e("li",[t._v("Send")]),t._v(" "),e("li",[t._v("Receive")]),t._v(" "),e("li",[t._v("Rescan")]),t._v(" "),e("li",[t._v("Pull payments")]),t._v(" "),e("li",[t._v("Payouts")]),t._v(" "),e("li",[t._v("PSBT")]),t._v(" "),e("li",[t._v("Settings")])]),t._v(" "),e("h3",{attrs:{id:"transactions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#transactions"}},[t._v("#")]),t._v(" Transactions")]),t._v(" "),e("p",[t._v("An overview of the incoming (green), outgoing (red) and unconfirmed (grayed out) "),e("strong",[t._v("transactions")]),t._v(" displayed together with timestamps and balances, sorted by date. You can click on the transaction ID to view the transaction details on the block explorer.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(593),alt:"Individual Wallet",title:"Individual Wallet"}})]),t._v(" "),e("h4",{attrs:{id:"transaction-labels"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#transaction-labels"}},[t._v("#")]),t._v(" Transaction Labels")]),t._v(" "),e("p",[t._v("The table below lists the various "),e("strong",[t._v("transaction labels used by BTCPay")]),t._v(".")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Transaction Type")]),t._v(" "),e("th",[t._v("Description")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("app")]),t._v(" "),e("td",[t._v("Payment was received through an app created invoice")])]),t._v(" "),e("tr",[e("td",[t._v("invoice")]),t._v(" "),e("td",[t._v("Payment was received through an invoice")])]),t._v(" "),e("tr",[e("td",[t._v("payjoin")]),t._v(" "),e("td",[t._v("Not paid, invoice timer still has not expired")])]),t._v(" "),e("tr",[e("td",[t._v("payjoin-exposed")]),t._v(" "),e("td",[t._v("UTXO was exposed through an invoice payjoin proposal")])]),t._v(" "),e("tr",[e("td",[t._v("payment-request")]),t._v(" "),e("td",[t._v("Payment was received through a payment request")])]),t._v(" "),e("tr",[e("td",[t._v("payout")]),t._v(" "),e("td",[t._v("Payment was sent through a payout or refund")])])])]),t._v(" "),e("p",[t._v("You can also create your own "),e("RouterLink",{attrs:{to:"/FAQ/Wallet/#how-to-add-custom-labels-and-comments-to-transactions"}},[t._v("custom transaction labels and comments")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"send"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#send"}},[t._v("#")]),t._v(" Send")]),t._v(" "),e("p",[t._v("The Send function allows "),e("strong",[t._v("spending of the funds from the BTCPay wallet")]),t._v(".")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(594),alt:"Send from the Wallet",title:"Send from the Wallet"}})]),t._v(" "),e("h4",{attrs:{id:"signing-a-transaction-spending"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-a-transaction-spending"}},[t._v("#")]),t._v(" Signing a transaction (spending)")]),t._v(" "),e("p",[t._v("To spend the funds, you are required to "),e("strong",[t._v("sign")]),t._v(" the transaction. Transactions can be signed with:")]),t._v(" "),e("ul",[e("li",[t._v("Hardware Wallet")]),t._v(" "),e("li",[t._v("Wallet supporting PSBT")]),t._v(" "),e("li",[t._v("HD private key or recovery seed")]),t._v(" "),e("li",[t._v("Hot Wallet")])]),t._v(" "),e("h5",{attrs:{id:"signing-with-hd-private-key-or-mnemonic-seed"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-hd-private-key-or-mnemonic-seed"}},[t._v("#")]),t._v(" Signing with HD Private Key or mnemonic seed")]),t._v(" "),e("p",[t._v("If you set up an "),e("RouterLink",{attrs:{to:"/WalletSetup/#use-an-existing-wallet"}},[t._v("existing wallet with your BTCPay Server")]),t._v(", you can spend the funds by inputting your private key into an appropriate field. Make sure to set a proper "),e("code",[t._v("AccountKeyPath")]),t._v(" in Wallet > Settings otherwise you won't be able to spend.")],1),t._v(" "),e("h5",{attrs:{id:"signing-with-a-wallet-supporting-psbt"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-a-wallet-supporting-psbt"}},[t._v("#")]),t._v(" Signing with a wallet supporting PSBT")]),t._v(" "),e("p",[t._v("PSBT ("),e("strong",[t._v("Partially Signed Bitcoin transactions")]),t._v(") is an interchange format for Bitcoin transactions that are not fully signed yet.\nPSBT is supported in BTCPay Server and can be signed with compatible hardware and software wallets.")]),t._v(" "),e("p",[t._v("The construction of a fully signed Bitcoin transaction goes through the following steps:")]),t._v(" "),e("ul",[e("li",[t._v("A PSBT gets constructed with certain inputs and outputs, but no signatures")]),t._v(" "),e("li",[t._v("The exported PSBT can be imported by a wallet that supports this format")]),t._v(" "),e("li",[t._v("The transaction data can be inspected and signed using the wallet")]),t._v(" "),e("li",[t._v("The signed PSBT file gets exported from the wallet and imported with BTCPay Server")]),t._v(" "),e("li",[t._v("BTCPay Server produces the final Bitcoin transaction")]),t._v(" "),e("li",[t._v("You verify the result and broadcast it to the network")])]),t._v(" "),e("p",[t._v("Check this tutorial on how to "),e("RouterLink",{attrs:{to:"/ColdCardWallet/#spending-from-btcpay-server-wallet-with-coldcard-psbt"}},[t._v("sign a PSBT transaction with ColdCard Hardware Wallet")]),t._v(", completely offline/air-gapped.")],1),t._v(" "),e("h5",{attrs:{id:"signing-with-a-hardware-wallet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-a-hardware-wallet"}},[t._v("#")]),t._v(" Signing with a hardware wallet")]),t._v(" "),e("p",[t._v("BTCPay Server has built-in hardware wallet support allowing you to "),e("strong",[t._v("use your hardware wallet with BTCPay")]),t._v(", without leaking information to third-party apps or servers.")]),t._v(" "),e("p",[e("RouterLink",{attrs:{to:"/HardwareWalletIntegration/"}},[t._v("Check instructions")]),t._v(" on how to set up and sign with a "),e("a",{attrs:{href:"https://github.com/bitcoin-core/HWI#device-support",target:"_blank",rel:"noopener noreferrer"}},[t._v("compatible hardware wallet"),e("OutboundLink")],1),t._v(".")],1),t._v(" "),e("h5",{attrs:{id:"signing-with-a-hot-wallet"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#signing-with-a-hot-wallet"}},[t._v("#")]),t._v(" Signing with a hot wallet")]),t._v(" "),e("p",[t._v("If you "),e("RouterLink",{attrs:{to:"/CreateWallet/"}},[t._v("created a new wallet")]),t._v(" when setting up your store and enabled it as a "),e("RouterLink",{attrs:{to:"/CreateWallet/#hot-wallet"}},[t._v("hot wallet")]),t._v(", since version 1.2.0, we've added an option that when a "),e("RouterLink",{attrs:{to:"/CreateWallet/#hot-wallet"}},[t._v("hot wallet")]),t._v(" is created, it'll automatically use the seed stored on a server to sign.")],1),t._v(" "),e("div",{staticClass:"custom-block danger"},[e("p",{staticClass:"custom-block-title"},[t._v("DANGER")]),t._v(" "),e("p",[t._v("Using the hot wallet feature comes with security implications; please be sure to read and understand them over at the "),e("RouterLink",{attrs:{to:"/CreateWallet/#security-implications"}},[t._v("Hot Wallet documentation")])],1)]),t._v(" "),e("h4",{attrs:{id:"advanced-settings"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#advanced-settings"}},[t._v("#")]),t._v(" Advanced Settings")]),t._v(" "),e("p",[t._v("Certain wallet features are available for advanced users. Toggle the "),e("code",[t._v("Advanced Settings")]),t._v(" within the "),e("code",[t._v("Send")]),t._v(" tab to preview them.")]),t._v(" "),e("h5",{attrs:{id:"dont-create-utxo-change"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#dont-create-utxo-change"}},[t._v("#")]),t._v(" Don't create UTXO change")]),t._v(" "),e("p",[t._v("This option is available in the "),e("code",[t._v("Advanced mode")]),t._v(" of the "),e("code",[t._v("Send")]),t._v(" page.")]),t._v(" "),e("p",[t._v("It is a privacy enhancing feature which is useful when you're sending funds to another wallet of yours or to an exchange. It makes sure that no change UTXO is created by "),e("strong",[t._v("rounding up")]),t._v(" the amount sent.")]),t._v(" "),e("p",[t._v("By default this feature is disabled, so if your wallet has a UTXO of "),e("code",[t._v("1.1 BTC")]),t._v(" and you input an amount equal to "),e("code",[t._v("1.0 BTC")]),t._v(", the resulting transaction will have two outputs "),e("code",[t._v("0.1 BTC")]),t._v(" of change, and "),e("code",[t._v("1.0 BTC")]),t._v(" to your destination.")]),t._v(" "),e("p",[t._v("Blockchain analysis will understand that those "),e("code",[t._v("0.1 BTC")]),t._v(" of change belong to the same entity which controlled "),e("code",[t._v("1.1 BTC")]),t._v(" before, and can track the future purchase you make under the same pattern.")]),t._v(" "),e("p",[t._v("By enabling this feature, BTCPay Server wallet will round up the amount sent to "),e("code",[t._v("1.1 BTC")]),t._v(" such that no change output is sent back to you.")]),t._v(" "),e("p",[t._v("Warning: Despite the fact, in this example, that you entered "),e("code",[t._v("1.0")]),t._v(" in the amount field, the amount that will really be sent to your destination will be "),e("code",[t._v("1.1 BTC")]),t._v(".")]),t._v(" "),e("h5",{attrs:{id:"rbf-replace-by-fee"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#rbf-replace-by-fee"}},[t._v("#")]),t._v(" RBF (Replace-By-Fee)")]),t._v(" "),e("p",[t._v("Replace-By-Fee (RBF) is a Bitcoin protocol feature that allows you to replace a previously broadcast transaction (while unconfirmed). This allows randomizing your wallet's transaction fingerprint, or simply for replacing it with a higher fee rate to move the transaction higher in the queue of confirmation (mining) priority. This will effectively replace the original transaction as the higher fee rate will be prioritized and once confirmed, invalidating the original one (double spend).")]),t._v(" "),e("p",[t._v("Press the "),e("code",[t._v("Advanced Settings")]),t._v(" button to view the RBF options:")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(595),alt:"RBF Options",title:"RBF Options"}})]),t._v(" "),e("ul",[e("li",[t._v("Option 1 (Enabled by Default): Allow the transaction to be replaced automatically for randomization of transaction fingerprint (increased privacy)")]),t._v(" "),e("li",[t._v("Option 2: Yes, Allow the transaction to be replaced explicitly (not replaced by default)")]),t._v(" "),e("li",[t._v("Option 3: No, Do not allow the transaction to be replaced (ignore replacement)")])]),t._v(" "),e("h5",{attrs:{id:"coin-selection"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#coin-selection"}},[t._v("#")]),t._v(" Coin Selection")]),t._v(" "),e("p",[t._v("Coin selection is an advanced "),e("strong",[t._v("privacy-enhancing feature")]),t._v(" that allows you to "),e("strong",[t._v("specifically select coins")]),t._v(" that you would like to spend when crafting a transaction. For example, paying with coins that are fresh from a coinjoin mix.")]),t._v(" "),e("p",[t._v("To make the selection easier, coin-selection works natively with the wallet labels feature. This allows you to label any incoming funds for smoother UTXO management and spending.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(596),alt:"Coin Selection",title:"Coin Selection"}})]),t._v(" "),e("h5",{attrs:{id:"other-features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#other-features"}},[t._v("#")]),t._v(" Other features")]),t._v(" "),e("h6",{attrs:{id:"camera-qr-scan"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#camera-qr-scan"}},[t._v("#")]),t._v(" Camera QR scan")]),t._v(" "),e("p",[t._v("Scan option in wallet (camera icon in send screen) lets you "),e("strong",[t._v("use your device’s camera to scan a QR code containing an address or BIP21 payment link")]),t._v(". It auto-populates the sending information so that you don’t have to manually copy-paste an address and amount.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(597),alt:"QR Scan",title:"QR Scan"}})]),t._v(" "),e("h6",{attrs:{id:"paste-bip21-address"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#paste-bip21-address"}},[t._v("#")]),t._v(" Paste BIP21 address")]),t._v(" "),e("p",[t._v("This option "),e("strong",[t._v("decodes a BIP21 payment link")]),t._v(". It's useful when you're trying to pay a "),e("RouterLink",{attrs:{to:"/Payjoin/"}},[t._v("Payjoin")]),t._v(" invoice.")],1),t._v(" "),e("h3",{attrs:{id:"receive"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#receive"}},[t._v("#")]),t._v(" Receive")]),t._v(" "),e("p",[t._v("The Receive tab "),e("strong",[t._v("generates an unused address which can be used to receive payments")]),t._v(". The same can be achieved by generating an invoice (Invoices > Create new invoice).")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(598),alt:"Wallet Receive",title:"Wallet Receive"}})]),t._v(" "),e("h3",{attrs:{id:"pull-payments"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#pull-payments"}},[t._v("#")]),t._v(" Pull Payments")]),t._v(" "),e("p",[t._v("This feature gives you the ability to "),e("strong",[t._v("create a Pull Payment")]),t._v(", so that an outside individual may request to "),e("code",[t._v("pull")]),t._v(" funds from your wallet.")]),t._v(" "),e("p",[t._v("For more information, see "),e("RouterLink",{attrs:{to:"/PullPayments/"}},[t._v("Pull Payments")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"payouts"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#payouts"}},[t._v("#")]),t._v(" Payouts")]),t._v(" "),e("p",[t._v("This section lets you manage Pull Payments and gives you the ability to "),e("strong",[t._v("accept or decline payouts requested by outside individuals")]),t._v(".")]),t._v(" "),e("p",[t._v("For more information, see "),e("RouterLink",{attrs:{to:"/PullPayments/#approve-and-pay-a-payout"}},[t._v("Payouts")]),t._v(".")],1),t._v(" "),e("h3",{attrs:{id:"re-scan"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#re-scan"}},[t._v("#")]),t._v(" Re-scan")]),t._v(" "),e("p",[t._v("The Rescan relies on Bitcoin Core 0.17.0's "),e("code",[t._v("scantxoutset")]),t._v(" to "),e("strong",[t._v("scan the current state of the blockchain")]),t._v(" (called UTXO Set) for coins belonging to the configured derivation scheme.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(599),alt:"Wallet Rescan",title:"Wallet Rescan"}})]),t._v(" "),e("p",[t._v("Wallet re-scan solves two critical problems for BTCPay users:")]),t._v(" "),e("ol",[e("li",[e("RouterLink",{attrs:{to:"/FAQ/Wallet/#missing-payments-in-my-software-or-hardware-wallet"}},[t._v("Gap limit")])],1),t._v(" "),e("li",[t._v("Importing a previously used wallet")])]),t._v(" "),e("p",[e("strong",[t._v("Gap limit")]),t._v(": Most wallets typically have the address gap limit set to 20. This means that if a merchant receives 21 or more consecutive unpaid invoices, those wallets show the incorrect balance and some transactions may not be visible.")]),t._v(" "),e("p",[e("strong",[t._v("Wallet import")]),t._v(": When users add a derivation scheme of a wallet that had transactions in the past (previously used wallet), BTCPay won't be able to show the balance and transactions from the past.")]),t._v(" "),e("figure",[e("img",{attrs:{src:a(600),alt:"Wallet rescan progress",title:"Wallet rescan progress"}})]),t._v(" "),e("p",[t._v("Re-scan is a feature that solves both of these problems. Once the scan is complete, BTCPay Server will show the correct balance, along with the past transactions of the wallet.")]),t._v(" "),e("p",[t._v("Wallet re-scan requires access to the full node which means that this function is only available for server owners.")]),t._v(" "),e("p",[t._v("Users who use a third-party host should use a newly generated xpub key and also use an external wallet like Electrum which allows them to increase the gap limit.")]),t._v(" "),e("h3",{attrs:{id:"settings"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#settings"}},[t._v("#")]),t._v(" Settings")]),t._v(" "),e("p",[t._v("In the top right corner of your "),e("code",[t._v("wallet")]),t._v(" you will find the "),e("code",[t._v("wallet settings")]),t._v(".\nIn the wallet settings tab you can adjust certain settings. If you've configured your wallet by "),e("RouterLink",{attrs:{to:"/CreateWallet/"}},[t._v("creating a new wallet")]),t._v(" or using an existing wallet via the "),e("RouterLink",{attrs:{to:"/HardwareWalletIntegration/"}},[t._v("hardware wallet integration")]),t._v(" these settings will be pre-configured.")],1),t._v(" "),e("p",[t._v("If you manually added the extended public key from an external wallet, you'd need to adjust "),e("code",[t._v("AccountKeyPath")]),t._v(" that you can find in your external wallet, for example "),e("code",[t._v("m/84'/0'/0'")]),t._v(" to be able to spend from the BTCPay Wallet.")]),t._v(" "),e("p",[t._v("In "),e("code",[t._v("wallet settings")]),t._v(" you will also find the "),e("code",[t._v("speed policy")]),t._v(" for the specific store.\nThere are 2 main settings under "),e("code",[t._v("Payment")]),t._v(", "),e("RouterLink",{attrs:{to:"/FAQ/Stores/#payment-invalid-if-transactions-fails-to-confirm--minutes-after-invoice-expiration"}},[t._v("Payment invalid if transaction fails to confirm in ... after invoice creation")]),t._v(" and "),e("RouterLink",{attrs:{to:"/FAQ/Stores/#consider-the-invoice-confirmed-when-the-payment-transaction"}},[t._v("Consider the invoice confirmed when the payment transaction...")]),t._v(". The latter lets you set the number of confirmations required to be recognized as settled.")],1),t._v(" "),e("figure",[e("img",{attrs:{src:a(601),alt:"Wallet settings",title:"Wallet settings"}})])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/25.3e0686cc.js b/assets/js/25.2396ab27.js similarity index 90% rename from assets/js/25.3e0686cc.js rename to assets/js/25.2396ab27.js index 2a103f2235..388b62aa29 100644 --- a/assets/js/25.3e0686cc.js +++ b/assets/js/25.2396ab27.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{648:function(e,t,a){e.exports=a.p+"assets/img/1.61c3b232.jpg"},649:function(e,t,a){e.exports=a.p+"assets/img/2.4ec63b47.jpg"},650:function(e,t,a){e.exports=a.p+"assets/img/3.0a39c840.jpg"},651:function(e,t,a){e.exports=a.p+"assets/img/4.e37e0402.png"},652:function(e,t,a){e.exports=a.p+"assets/img/5.29be95a6.png"},653:function(e,t,a){e.exports=a.p+"assets/img/6.861ee564.jpg"},654:function(e,t,a){e.exports=a.p+"assets/img/7.56e93cc1.jpg"},655:function(e,t,a){e.exports=a.p+"assets/img/8.e6a2f12e.jpg"},805:function(e,t,a){"use strict";a.r(t);var r=a(9),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pull-payments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pull-payments"}},[e._v("#")]),e._v(" Pull payments")]),e._v(" "),t("h2",{attrs:{id:"introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),t("p",[e._v("Traditionally, to make a Bitcoin payment, a receiver shares their bitcoin address and the sender later sends money to this address.\nSuch system is called "),t("code",[e._v("Push payment")]),e._v(" as the sender initiates the payment while the receiver may be unavailable, in effect "),t("code",[e._v("pushing")]),e._v(" the payment to the receiver.")]),e._v(" "),t("p",[e._v("However, what about reversing the role?")]),e._v(" "),t("p",[e._v("What if, instead of a sender "),t("code",[e._v("pushing")]),e._v(" the payment, the sender allows the receiver to "),t("code",[e._v("pull")]),e._v(" the payment at a time the receiver seems fit?\nThis is the concept of "),t("code",[e._v("Pull payment")]),e._v(". This allows several new applications such as:")]),e._v(" "),t("ul",[t("li",[e._v("A subscription service (where the subscriber allows the service to pull money every x amount of time)")]),e._v(" "),t("li",[e._v("Refunds (where the merchant allows the customer to pull the refund money to his wallet when it seems fit)")]),e._v(" "),t("li",[e._v("Time-based billing for freelancers (where the person hiring allows the freelancer to pull money to his wallet as time gets reported)")]),e._v(" "),t("li",[e._v("Patronage (where the patron allows the recipient to pull money every month to continue supporting their work)")]),e._v(" "),t("li",[e._v("Automatic selling (where a customer of an exchange would allow an exchange to pull money from their wallet to automatically sell every month)")]),e._v(" "),t("li",[e._v("Balance withdraw system (where a high-volume service allows users to request withdrawals from their balance, the service can then easily batch all the payouts to many users, at fixed intervals)")])]),e._v(" "),t("p",[e._v("You can also follow this video:")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/-e8lPd9NtPs/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=-e8lPd9NtPs",title:"What is a pull payment","data-id":"-e8lPd9NtPs"}},[t("iframe",{attrs:{title:"What is a pull payment","data-src":"https://www.youtube-nocookie.com/embed/-e8lPd9NtPs?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"concept"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#concept"}},[e._v("#")]),e._v(" Concept")]),e._v(" "),t("p",[e._v("When a sender configures a "),t("code",[e._v("Pull payment")]),e._v(", they can configure a number of properties:")]),e._v(" "),t("ul",[t("li",[e._v("Start date")]),e._v(" "),t("li",[e._v("End date (optional)")]),e._v(" "),t("li",[e._v("A period (optional)")]),e._v(" "),t("li",[e._v("A limit amount")]),e._v(" "),t("li",[e._v("A unit (such as USD, BTC, Hours)")]),e._v(" "),t("li",[e._v("Available payment methods")])]),e._v(" "),t("p",[e._v("After this, the sender can "),t("strong",[e._v("share the pull payment")]),e._v(" using a link with the receiver, allowing the receiver to "),t("code",[e._v("create a payout")]),e._v(".\nThe receiver will choose for their payout:")]),e._v(" "),t("ul",[t("li",[e._v("Which payment method to use")]),e._v(" "),t("li",[e._v("Where to send the money")])]),e._v(" "),t("p",[e._v("Once a payout is created, it will count toward the "),t("code",[e._v("pull payment's limit")]),e._v(" for the current "),t("code",[e._v("period")]),e._v(".\nThe sender will then approve the payout by setting the "),t("code",[e._v("rate")]),e._v(" in which the payout will be sent, and proceed with payment.")]),e._v(" "),t("p",[e._v("For the sender, we provide an easy to use way to batch the payment of several payouts from the "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("BTCPay Internal Wallet")]),e._v(".")],1),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("\n +----------+ +-------------------+ +------------+\n | | | | | |\n | Sender | | BTCPay Server | | Receiver |\n | | | | | |\n +----------+ +-------------------+ +------------+\n | | |\n | | |\n | Create | |\n +---------------------------\x3e+ |\n | Pull payment | |\n | | |\n | | |\n | Share | |\n +--------------------------------------------------------\x3e+\n | Pull payment | |\n | | |\n | | Create |\n | +<---------------------------+\n | | Payout |\n | | |\n | Approve | |\n +---------------------------\x3e+ v\n | Payout |\n | |\n | Pay |\n +---------------------------\x3e+\n | Payout |\n | |\n | |\n v v\n")])])]),t("p",[e._v("Note that BTCPay Server does not approve and pay a payout automatically. In future releases, we will look into payouts which are approved to be paid out automatically under the correct conditions.\nInstead, a notification will appear for the sender, giving the sender the choice to approve and pay the payouts.")]),e._v(" "),t("h2",{attrs:{id:"greenfield-api"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#greenfield-api"}},[e._v("#")]),e._v(" Greenfield API")]),e._v(" "),t("p",[e._v("We provide a full API to both the sender and receiver that is documented in the "),t("code",[e._v("/docs")]),e._v(" page of your instance. (or on our "),t("a",{attrs:{href:"https://docs.btcpayserver.org/API/Greenfield/v1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("public link"),t("OutboundLink")],1),e._v(" page)")]),e._v(" "),t("p",[e._v("Since our API exposes the full capability of pull payments, a sender can automate payments for his own need.")]),e._v(" "),t("h2",{attrs:{id:"user-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-interface"}},[e._v("#")]),e._v(" User interface")]),e._v(" "),t("p",[e._v("The user interface only allows a subset of what is possible.")]),e._v(" "),t("h3",{attrs:{id:"create-a-pull-payment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#create-a-pull-payment"}},[e._v("#")]),e._v(" Create a pull payment")]),e._v(" "),t("ol",[t("li",[e._v("Go to your wallet page / pull payments\n"),t("img",{attrs:{src:a(648),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("Click on "),t("code",[e._v("Create a new pull payment")]),e._v(" "),t("img",{attrs:{src:a(649),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("Fill out the pull payment information, click "),t("code",[e._v("Create")]),e._v(" "),t("img",{attrs:{src:a(650),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("Go to the pull payment page by clicking on "),t("code",[e._v("View")])]),e._v(" "),t("li",[e._v("Share this page with the payment receiver\n"),t("img",{attrs:{src:a(651),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("As the receiver, fill out how much "),t("code",[e._v("USD")]),e._v(" you claim, and to which address the money should be sent.\n"),t("img",{attrs:{src:a(652),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})])]),e._v(" "),t("h3",{attrs:{id:"approve-and-pay-a-payout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#approve-and-pay-a-payout"}},[e._v("#")]),e._v(" Approve and pay a payout")]),e._v(" "),t("ol",[t("li",[e._v("The sender gets notified when the receiver is pulling money\n"),t("img",{attrs:{src:a(653),alt:"6",title:"6"}})]),e._v(" "),t("li",[e._v("Clicking on the notification brings the sender to a page listing all outstanding payouts\n"),t("img",{attrs:{src:a(654),alt:"7",title:"7"}})]),e._v(" "),t("li",[e._v("Check the payout to approve, pay and confirm\n"),t("img",{attrs:{src:a(655),alt:"8",title:"8"}})]),e._v(" "),t("li",[e._v("You are then brought to the normal wallet user interface of BTCPay Server")])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Clicking on Confirm selected payouts will use the current exchange rate of your wallet's store settings. The rate is then fixed, even if you don't complete the payment. Payments made at a later time will use this previously confirmed rate.")])]),e._v(" "),t("h2",{attrs:{id:"additional-use-cases-for-the-pull-payments-feature"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-use-cases-for-the-pull-payments-feature"}},[e._v("#")]),e._v(" Additional use cases for the Pull Payments feature")]),e._v(" "),t("p",[e._v("The "),t("strong",[e._v("Pull Payment feature")]),e._v(" can be used in multiple applications, the first one being "),t("RouterLink",{attrs:{to:"/Refund/"}},[e._v("Refunds")]),e._v(".")],1)])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{639:function(e,t,a){e.exports=a.p+"assets/img/1.61c3b232.jpg"},640:function(e,t,a){e.exports=a.p+"assets/img/2.4ec63b47.jpg"},641:function(e,t,a){e.exports=a.p+"assets/img/3.0a39c840.jpg"},642:function(e,t,a){e.exports=a.p+"assets/img/4.e37e0402.png"},643:function(e,t,a){e.exports=a.p+"assets/img/5.29be95a6.png"},644:function(e,t,a){e.exports=a.p+"assets/img/6.861ee564.jpg"},645:function(e,t,a){e.exports=a.p+"assets/img/7.56e93cc1.jpg"},646:function(e,t,a){e.exports=a.p+"assets/img/8.e6a2f12e.jpg"},803:function(e,t,a){"use strict";a.r(t);var r=a(9),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pull-payments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pull-payments"}},[e._v("#")]),e._v(" Pull payments")]),e._v(" "),t("h2",{attrs:{id:"introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),t("p",[e._v("Traditionally, to make a Bitcoin payment, a receiver shares their bitcoin address and the sender later sends money to this address.\nSuch system is called "),t("code",[e._v("Push payment")]),e._v(" as the sender initiates the payment while the receiver may be unavailable, in effect "),t("code",[e._v("pushing")]),e._v(" the payment to the receiver.")]),e._v(" "),t("p",[e._v("However, what about reversing the role?")]),e._v(" "),t("p",[e._v("What if, instead of a sender "),t("code",[e._v("pushing")]),e._v(" the payment, the sender allows the receiver to "),t("code",[e._v("pull")]),e._v(" the payment at a time the receiver seems fit?\nThis is the concept of "),t("code",[e._v("Pull payment")]),e._v(". This allows several new applications such as:")]),e._v(" "),t("ul",[t("li",[e._v("A subscription service (where the subscriber allows the service to pull money every x amount of time)")]),e._v(" "),t("li",[e._v("Refunds (where the merchant allows the customer to pull the refund money to his wallet when it seems fit)")]),e._v(" "),t("li",[e._v("Time-based billing for freelancers (where the person hiring allows the freelancer to pull money to his wallet as time gets reported)")]),e._v(" "),t("li",[e._v("Patronage (where the patron allows the recipient to pull money every month to continue supporting their work)")]),e._v(" "),t("li",[e._v("Automatic selling (where a customer of an exchange would allow an exchange to pull money from their wallet to automatically sell every month)")]),e._v(" "),t("li",[e._v("Balance withdraw system (where a high-volume service allows users to request withdrawals from their balance, the service can then easily batch all the payouts to many users, at fixed intervals)")])]),e._v(" "),t("p",[e._v("You can also follow this video:")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/-e8lPd9NtPs/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=-e8lPd9NtPs",title:"What is a pull payment","data-id":"-e8lPd9NtPs"}},[t("iframe",{attrs:{title:"What is a pull payment","data-src":"https://www.youtube-nocookie.com/embed/-e8lPd9NtPs?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"concept"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#concept"}},[e._v("#")]),e._v(" Concept")]),e._v(" "),t("p",[e._v("When a sender configures a "),t("code",[e._v("Pull payment")]),e._v(", they can configure a number of properties:")]),e._v(" "),t("ul",[t("li",[e._v("Start date")]),e._v(" "),t("li",[e._v("End date (optional)")]),e._v(" "),t("li",[e._v("A period (optional)")]),e._v(" "),t("li",[e._v("A limit amount")]),e._v(" "),t("li",[e._v("A unit (such as USD, BTC, Hours)")]),e._v(" "),t("li",[e._v("Available payment methods")])]),e._v(" "),t("p",[e._v("After this, the sender can "),t("strong",[e._v("share the pull payment")]),e._v(" using a link with the receiver, allowing the receiver to "),t("code",[e._v("create a payout")]),e._v(".\nThe receiver will choose for their payout:")]),e._v(" "),t("ul",[t("li",[e._v("Which payment method to use")]),e._v(" "),t("li",[e._v("Where to send the money")])]),e._v(" "),t("p",[e._v("Once a payout is created, it will count toward the "),t("code",[e._v("pull payment's limit")]),e._v(" for the current "),t("code",[e._v("period")]),e._v(".\nThe sender will then approve the payout by setting the "),t("code",[e._v("rate")]),e._v(" in which the payout will be sent, and proceed with payment.")]),e._v(" "),t("p",[e._v("For the sender, we provide an easy to use way to batch the payment of several payouts from the "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("BTCPay Internal Wallet")]),e._v(".")],1),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("\n +----------+ +-------------------+ +------------+\n | | | | | |\n | Sender | | BTCPay Server | | Receiver |\n | | | | | |\n +----------+ +-------------------+ +------------+\n | | |\n | | |\n | Create | |\n +---------------------------\x3e+ |\n | Pull payment | |\n | | |\n | | |\n | Share | |\n +--------------------------------------------------------\x3e+\n | Pull payment | |\n | | |\n | | Create |\n | +<---------------------------+\n | | Payout |\n | | |\n | Approve | |\n +---------------------------\x3e+ v\n | Payout |\n | |\n | Pay |\n +---------------------------\x3e+\n | Payout |\n | |\n | |\n v v\n")])])]),t("p",[e._v("Note that BTCPay Server does not approve and pay a payout automatically. In future releases, we will look into payouts which are approved to be paid out automatically under the correct conditions.\nInstead, a notification will appear for the sender, giving the sender the choice to approve and pay the payouts.")]),e._v(" "),t("h2",{attrs:{id:"greenfield-api"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#greenfield-api"}},[e._v("#")]),e._v(" Greenfield API")]),e._v(" "),t("p",[e._v("We provide a full API to both the sender and receiver that is documented in the "),t("code",[e._v("/docs")]),e._v(" page of your instance. (or on our "),t("a",{attrs:{href:"https://docs.btcpayserver.org/API/Greenfield/v1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("public link"),t("OutboundLink")],1),e._v(" page)")]),e._v(" "),t("p",[e._v("Since our API exposes the full capability of pull payments, a sender can automate payments for his own need.")]),e._v(" "),t("h2",{attrs:{id:"user-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-interface"}},[e._v("#")]),e._v(" User interface")]),e._v(" "),t("p",[e._v("The user interface only allows a subset of what is possible.")]),e._v(" "),t("h3",{attrs:{id:"create-a-pull-payment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#create-a-pull-payment"}},[e._v("#")]),e._v(" Create a pull payment")]),e._v(" "),t("ol",[t("li",[e._v("Go to your wallet page / pull payments\n"),t("img",{attrs:{src:a(639),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("Click on "),t("code",[e._v("Create a new pull payment")]),e._v(" "),t("img",{attrs:{src:a(640),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("Fill out the pull payment information, click "),t("code",[e._v("Create")]),e._v(" "),t("img",{attrs:{src:a(641),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("Go to the pull payment page by clicking on "),t("code",[e._v("View")])]),e._v(" "),t("li",[e._v("Share this page with the payment receiver\n"),t("img",{attrs:{src:a(642),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})]),e._v(" "),t("li",[e._v("As the receiver, fill out how much "),t("code",[e._v("USD")]),e._v(" you claim, and to which address the money should be sent.\n"),t("img",{attrs:{src:a(643),alt:"BTCPay Server Pull Payment",title:"BTCPay Server Pull Payment"}})])]),e._v(" "),t("h3",{attrs:{id:"approve-and-pay-a-payout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#approve-and-pay-a-payout"}},[e._v("#")]),e._v(" Approve and pay a payout")]),e._v(" "),t("ol",[t("li",[e._v("The sender gets notified when the receiver is pulling money\n"),t("img",{attrs:{src:a(644),alt:"6",title:"6"}})]),e._v(" "),t("li",[e._v("Clicking on the notification brings the sender to a page listing all outstanding payouts\n"),t("img",{attrs:{src:a(645),alt:"7",title:"7"}})]),e._v(" "),t("li",[e._v("Check the payout to approve, pay and confirm\n"),t("img",{attrs:{src:a(646),alt:"8",title:"8"}})]),e._v(" "),t("li",[e._v("You are then brought to the normal wallet user interface of BTCPay Server")])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Clicking on Confirm selected payouts will use the current exchange rate of your wallet's store settings. The rate is then fixed, even if you don't complete the payment. Payments made at a later time will use this previously confirmed rate.")])]),e._v(" "),t("h2",{attrs:{id:"additional-use-cases-for-the-pull-payments-feature"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-use-cases-for-the-pull-payments-feature"}},[e._v("#")]),e._v(" Additional use cases for the Pull Payments feature")]),e._v(" "),t("p",[e._v("The "),t("strong",[e._v("Pull Payment feature")]),e._v(" can be used in multiple applications, the first one being "),t("RouterLink",{attrs:{to:"/Refund/"}},[e._v("Refunds")]),e._v(".")],1)])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/4.cc6dc73f.js b/assets/js/4.1fdedcb3.js similarity index 99% rename from assets/js/4.cc6dc73f.js rename to assets/js/4.1fdedcb3.js index 836dd1e4f2..d5165f2ee5 100644 --- a/assets/js/4.cc6dc73f.js +++ b/assets/js/4.1fdedcb3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{241:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--19-troubleshoot-403-callback.51193927.png"},558:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--01-install-web.4d28e0bd.png"},559:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--02-install-upload.8972740d.png"},560:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--03-enable-plugin.1b4a6c9f.png"},561:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--04-add-new-payment-method.e5a94ee3.png"},562:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--05-payment-method-details.adf89c97.png"},563:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--06-payment-method-configuration-tab.45617db0.png"},564:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--07-account-manage.d477b8b4.png"},565:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--08-add-api-key.a58b2941.png"},566:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--09-permissions-and-select-store.9ccef388.png"},567:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--10-permissions-set.74d76936.png"},568:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--11-copy-api-key.94be9878.png"},569:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--12-copy-store-id.84c19f9f.png"},570:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--13-save-vm-payment-method-form.0a3e52bd.png"},571:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--14-create-webhook.1b6e4881.png"},572:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--15-webhook-payload-url.37a4f55f.png"},573:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--16-webhook-copy-secret.71b0dd07.png"},574:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--16-virtuemart-configuration-save.ee549862.png"},575:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--17-webhook-save.dfd4fca5.png"},576:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--18-troubleshoot-copy-callback-url.70d08e31.png"},795:function(e,t,a){"use strict";a.r(t);var o=a(9),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"joomla-virtuemart-integration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#joomla-virtuemart-integration"}},[e._v("#")]),e._v(" Joomla VirtueMart integration")]),e._v(" "),t("p",[e._v("This document explains how to "),t("strong",[e._v("integrate BTCPay Server into your Joomla VirtueMart store")]),e._v(".\nWatch the video below to go along the document |")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/k7XfybLAky0/hqdefault.jpg)"},attrs:{href:"https://youtu.be/k7XfybLAky0",title:"BTCPay Server - Joomla VirtueMart","data-id":"k7XfybLAky0"}},[t("iframe",{attrs:{title:"BTCPay Server - Joomla VirtueMart","data-src":"https://www.youtube-nocookie.com/embed/k7XfybLAky0?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("p",[e._v("Please ensure that you meet the following requirements before installing this plugin.")]),e._v(" "),t("ul",[t("li",[e._v("PHP version 7.4 or newer")]),e._v(" "),t("li",[e._v("The curl, gd, intl, json, and mbstring PHP extensions are available")]),e._v(" "),t("li",[e._v("A VirtueMart 3 / 4 store ("),t("a",{attrs:{href:"https://www.virtuemart.net/downloads",target:"_blank",rel:"noopener noreferrer"}},[e._v("Download and installation instructions"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("You have a BTCPay Server version 1.3.0 or later, either "),t("RouterLink",{attrs:{to:"/Deployment/"}},[e._v("self-hosted")]),e._v(" or "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("hosted by a third-party")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/RegisterAccount/"}},[e._v("You've a registered account on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/CreateStore/"}},[e._v("You've a BTCPay store on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/WalletSetup/"}},[e._v("You've a wallet connected to your store")])],1)]),e._v(" "),t("h2",{attrs:{id:"1-install-btcpay-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1-install-btcpay-plugin"}},[e._v("#")]),e._v(" 1. Install BTCPay Plugin")]),e._v(" "),t("p",[e._v("There are three ways to "),t("strong",[e._v("download BTCPay for VirtueMart plugin")]),e._v(":")]),e._v(" "),t("ul",[t("li",[e._v("Via the Admin Dashboard (recommended, see below)")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://extensions.joomla.org/extension/vm-payment-btcpay-for-virtuemart/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Joomla Extension Directory (JED)"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/joomla-virtuemart/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Repository"),t("OutboundLink")],1)])]),e._v(" "),t("h3",{attrs:{id:"11-install-plugin-from-joomla-admin-dashboard-recommended"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#11-install-plugin-from-joomla-admin-dashboard-recommended"}},[e._v("#")]),e._v(" 1.1 Install plugin from Joomla Admin Dashboard (recommended)")]),e._v(" "),t("ol",[t("li",[e._v("Menu: Extensions > Manage > Install")]),e._v(" "),t("li",[e._v('On "Install from Web" tab search for "btcpay"')]),e._v(" "),t("li",[e._v("Click on BTCPay for VirtueMart and [Install] button")]),e._v(" "),t("li",[e._v("Continue with step 1.3")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(558),alt:"BTCPay Virtuemart: Plugin installation web",title:"BTCPay Virtuemart: Plugin installation web"}})]),e._v(" "),t("h3",{attrs:{id:"12-download-and-install-plugin-from-jed-or-github"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#12-download-and-install-plugin-from-jed-or-github"}},[e._v("#")]),e._v(" 1.2 Download and install plugin from JED or GitHub")]),e._v(" "),t("ol",[t("li",[e._v("Download the latest BTCPay plugin from "),t("a",{attrs:{href:"https://github.com/btcpayserver/joomla-virtuemart/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"https://extensions.joomla.org/extension/vm-payment-btcpay-for-virtuemart/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JED"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Menu: Extensions -> Manage -> Install")]),e._v(" "),t("li",[e._v('On tab "Upload Package File" upload the '),t("code",[e._v("btcpayvm.zip")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(559),alt:"BTCPay Virtuemart: Plugin installation upload",title:"BTCPay Virtuemart: Plugin installation upload"}})]),e._v(" "),t("h3",{attrs:{id:"13-enable-the-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#13-enable-the-plugin"}},[e._v("#")]),e._v(" 1.3 Enable the plugin")]),e._v(" "),t("ol",[t("li",[e._v("Menu: Extensions -> Plugins")]),e._v(" "),t("li",[e._v('Search for "btcpay"')]),e._v(" "),t("li",[e._v('On "Status" column click the red circle to enable the plugin')])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(560),alt:"BTCPay Virtuemart: Enable plugin",title:"BTCPay Virtuemart: Enable plugin"}})]),e._v(" "),t("h2",{attrs:{id:"2-connecting-virtuemart-and-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#2-connecting-virtuemart-and-btcpay-server"}},[e._v("#")]),e._v(" 2. Connecting VirtueMart and BTCPay Server")]),e._v(" "),t("p",[e._v("BTCPay for Virtuemart plugin is a "),t("strong",[e._v("bridge between your BTCPay Server (payment processor) and your e-commerce store")]),e._v(".\nNo matter if you're using a self-hosted or third-party solution, the connection process is identical.")]),e._v(" "),t("h3",{attrs:{id:"21-add-btcpay-payment-gateway-in-virtuemart"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#21-add-btcpay-payment-gateway-in-virtuemart"}},[e._v("#")]),e._v(" 2.1 Add BTCPay payment gateway in VirtueMart")]),e._v(" "),t("ol",[t("li",[e._v("Menu: VirtueMart -> Payment Methods")]),e._v(" "),t("li",[e._v("Click button "),t("strong",[e._v("[New]")]),e._v(" "),t("img",{attrs:{src:a(561),alt:"BTCPay Virtuemart: Add new payment method",title:"BTCPay Virtuemart: Add new payment method"}})]),e._v(" "),t("li",[e._v('Configure the payment method according to your needs. Make sure on "Payment Method" dropdown you have "BTCPay for VirtueMart" selected and the payment method is published '),t("img",{attrs:{src:a(562),alt:"BTCPay Virtuemart: Payment method details",title:"BTCPay Virtuemart: Payment method details"}})]),e._v(" "),t("li",[e._v("Hit the "),t("strong",[e._v("[Save]")]),e._v(" button (the plugin table will get created)")])]),e._v(" "),t("p",[e._v('Now you can switch to the "Configuration" tab where we can connect to our BTCPay Server instance. First we need to create an API key.')]),e._v(" "),t("figure",[t("img",{attrs:{src:a(563),alt:"BTCPay Virtuemart: Payment method configuration tab",title:"BTCPay Virtuemart: Payment method configuration tab"}})]),e._v(" "),t("h3",{attrs:{id:"22-create-an-api-key-and-configure-permissions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("#")]),e._v(" 2.2 Create an API key and configure permissions")]),e._v(" "),t("p",[e._v("On BTCPay Server instance:")]),e._v(" "),t("ol",[t("li",[e._v("Click on "),t("em",[e._v("[Account]")])]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Manage Account]")]),e._v(" "),t("img",{attrs:{src:a(564),alt:"BTCPay Joomla VirtueMart: Manage Account",title:"BTCPay Joomla VirtueMart: Manage Account"}})]),e._v(" "),t("li",[e._v("Go to the tab "),t("em",[e._v('"API Keys"')])]),e._v(" "),t("li",[e._v("Click "),t("em",[e._v("[Generate Key]")]),e._v(" to select permissions.\n"),t("img",{attrs:{src:a(565),alt:"BTCPay Joomla VirtueMart: API Keys overview",title:"BTCPay Joomla VirtueMart: API Keys overview"}})]),e._v(" "),t("li",[e._v("Add a label. "),t("strong",[e._v("Important:")]),e._v(" click on the "),t("em",[e._v('"Select specific stores"')]),e._v(" link for the following permissions: "),t("code",[e._v("View invoices")]),e._v(", "),t("code",[e._v("Create invoice")]),e._v(", "),t("code",[e._v("Modify invoices")]),e._v(", "),t("code",[e._v("Modify stores webhooks")]),e._v(", "),t("code",[e._v("View your stores")]),e._v(" and select the specific store you created for your VirtueMart site. It should look like when everything is set:\n"),t("img",{attrs:{src:a(566),alt:"BTCPay Joomla VirtueMart: API Keys Permissions",title:"BTCPay Joomla VirtueMart: API Keys Permissions"}})]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Generate API Key]")]),e._v(" "),t("img",{attrs:{src:a(567),alt:"BTCPay Joomla VirtueMart: API Keys Save",title:"BTCPay Joomla VirtueMart: API Keys Save"}})]),e._v(" "),t("li",[e._v("Copy the generated API Key to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form\n"),t("img",{attrs:{src:a(568),alt:"BTCPay Joomla VirtueMart: Copy API Key",title:"BTCPay Joomla VirtueMart: Copy API Key"}})]),e._v(" "),t("li",[e._v("Go to Settings and copy the store ID to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form\n"),t("img",{attrs:{src:a(569),alt:"BTCPay Joomla VirtueMart: Copy Store ID",title:"BTCPay Joomla VirtueMart: Copy Store ID"}})]),e._v(" "),t("li",[e._v("On the "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form make sure "),t("strong",[e._v("BTPCay Server URL")]),e._v(", "),t("strong",[e._v("API Key")]),e._v(" and "),t("strong",[e._v("Store ID")]),e._v(" are set and click "),t("strong",[e._v("[Save]")]),e._v(" "),t("img",{attrs:{src:a(570),alt:"BTCPay Joomla VirtueMart: Save VirtueMart Settings form",title:"BTCPay Joomla VirtueMart: Save VirtueMart Settings form"}})])]),e._v(" "),t("h3",{attrs:{id:"23-create-a-webhook-on-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#23-create-a-webhook-on-btcpay-server"}},[e._v("#")]),e._v(" 2.3 Create a webhook on BTCPay Server")]),e._v(" "),t("p",[e._v("Setting up a webhook is important that your gets updates on invoice status changes from BTCPay Server.")]),e._v(" "),t("ol",[t("li",[t("p",[e._v("On BTCPay Server instance go to your store settings, tab "),t("strong",[e._v("[Webhooks]")]),e._v(", click "),t("strong",[e._v("[Create Webhook]")]),e._v(" "),t("img",{attrs:{src:a(571),alt:"BTCPay Joomla VirtueMart: Create webhook",title:"BTCPay Joomla VirtueMart: Create webhook"}})])]),e._v(" "),t("li",[t("p",[e._v("From "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" copy the "),t("strong",[e._v("Webhook callback URL")]),e._v(" to webhook settings "),t("strong",[e._v("Payload URL")]),e._v(".\n"),t("img",{attrs:{src:a(572),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}})])]),e._v(" "),t("li",[t("p",[e._v("On webhook settings click on the eye to reveal webhook secret. Copy that secret to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form "),t("strong",[e._v("Webhook Secret")]),e._v(" input and "),t("strong",[e._v("[Save]")]),e._v(" the VirtueMart configuration again.\n"),t("img",{attrs:{src:a(573),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}}),e._v(" "),t("img",{attrs:{src:a(574),alt:"BTCPay Joomla VirtueMart: Webhook VM save configuration",title:"BTCPay Joomla VirtueMart: Webhook VM save configuration"}})])]),e._v(" "),t("li",[t("p",[e._v("Back on webhook settings, enable "),t("strong",[e._v("Automatic redelivery")]),e._v(" and click "),t("strong",[e._v("[Add webhook]")]),e._v(" to save the webhook.\n"),t("img",{attrs:{src:a(575),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}})])])]),e._v(" "),t("h2",{attrs:{id:"3-test-the-checkout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#3-test-the-checkout"}},[e._v("#")]),e._v(" 3. Test the checkout")]),e._v(" "),t("p",[e._v("Everything is ready to go now. Do a small test purchase and make sure the order status gets updated according to the BTCPay invoice status. On BTCPay Server invoice details you can see if the webhook events were fired successfully.")]),e._v(" "),t("h2",{attrs:{id:"customizing-virtuemart-btcpay-payment-method-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#customizing-virtuemart-btcpay-payment-method-settings"}},[e._v("#")]),e._v(" Customizing VirtueMart BTCPay payment method settings")]),e._v(" "),t("p",[e._v('Your VirtueMart BTCPay payment method settings can be found in menu: VirtueMart -> Payment Methods. Click on the payment method of type "btcpayvm" you created.')]),e._v(" "),t("h3",{attrs:{id:"section-btcpay-server-connection-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-btcpay-server-connection-settings"}},[e._v("#")]),e._v(" Section: BTCPay Server connection settings")]),e._v(" "),t("p",[e._v("This is the most important part of the configuration. The data entered here will connect your VirtueMart shop with your counterparty store configured on BTCPay Server.")]),e._v(" "),t("p",[t("strong",[e._v("BTCPay Server URL")])]),e._v(" "),t("p",[e._v("URL to your BTCPay Server instance, including protocol e.g. "),t("code",[e._v("https://btcpay.yourdomain.com")]),e._v(".")]),e._v(" "),t("p",[t("strong",[e._v("API Key")])]),e._v(" "),t("p",[e._v("Your BTCPay API Key as mentioned "),t("a",{attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("here")]),e._v(".")]),e._v(" "),t("p",[t("strong",[e._v("Store ID")])]),e._v(" "),t("p",[e._v("The store ID of your BTCPay Server store. Can be found on the store settings page. See 8. "),t("a",{attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("here")])]),e._v(" "),t("p",[t("strong",[e._v("Webhook Secret")])]),e._v(" "),t("p",[e._v("The wehbook secret which was generated on webhook createion, see "),t("a",{attrs:{href:"#23-create-a-webhook-on-btcpay-server"}},[e._v("here")])]),e._v(" "),t("p",[t("strong",[e._v("Webhook callback URL")])]),e._v(" "),t("p",[e._v("This field is auto-generated by the plugin and helps you when creating the webhook on BTCPay Server. It contains the needed payment method id and parameters to allow processing of callbacks.")]),e._v(" "),t("h3",{attrs:{id:"section-order-states-mapping"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-order-states-mapping"}},[e._v("#")]),e._v(" Section: Order states mapping")]),e._v(" "),t("p",[e._v("You can adjust the mapping of BTCPay Server invoice status to VirtueMart order states. On the left are the invoice states and on the right the order states. The defaults here should be good to go - but if you need, you can overwrite them.")]),e._v(" "),t("p",[e._v("VirtueMart order statuses are explained "),t("a",{attrs:{href:"https://docs.virtuemart.net/manual/configuration-menu/order-statuses.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1)]),e._v(" "),t("p",[e._v("BTCPay server invoice statuses are explained "),t("RouterLink",{attrs:{to:"/Invoices/#invoice-statuses"}},[e._v("here")])],1),e._v(" "),t("h3",{attrs:{id:"section-restrictions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-restrictions"}},[e._v("#")]),e._v(" Section: Restrictions")]),e._v(" "),t("p",[e._v("These are VirtueMart provided restrictions you know from other payment plugins. You can restrict the amount or countries when the payment method will be available.")]),e._v(" "),t("h3",{attrs:{id:"section-discounts-and-fees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-discounts-and-fees"}},[e._v("#")]),e._v(" Section Discounts and fees")]),e._v(" "),t("p",[e._v("These are VirtueMart provided settings. You can set a fee, cashback and apply tax rules or set a custom logo for the payment method.")]),e._v(" "),t("h2",{attrs:{id:"troubleshooting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting"}},[e._v("#")]),e._v(" Troubleshooting")]),e._v(" "),t("h3",{attrs:{id:"error-on-checkout-there-was-an-error-processing-the-payment-on-btcpay-server-please-try-again-and-contact-us-if-the-problem-persists-"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#error-on-checkout-there-was-an-error-processing-the-payment-on-btcpay-server-please-try-again-and-contact-us-if-the-problem-persists-"}},[e._v("#")]),e._v(' Error on checkout "There was an error processing the payment on BTCPay Server. Please try again and contact us if the problem persists."')]),e._v(" "),t("p",[e._v("This means something went wrong with creating the invoice on BTCPay Server. It could be either wrong api key, store id or another communication error. You can find the error logs of the plugin in the following directory: "),t("code",[e._v("administrator/logs")]),e._v(" there you will have one or more files called "),t("code",[e._v("btcpayvm.X.log.php")]),e._v(" where "),t("code",[e._v("X")]),e._v(" is a number e.g. "),t("code",[e._v("btcpayvm.0.log.php")]),e._v(" you will find timestamped errors there that should give you a hint what the problem is.")]),e._v(" "),t("p",[t("strong",[e._v("Example")]),e._v(":")]),e._v(" "),t("blockquote",[t("p",[e._v('2022-05-24 21:10:50 ERROR Error during POST to https://btcpay.example.com/api/v1/stores/4kD5bvAF5j8DokHqAzxb6MFDV4ikabcdefghijklm/invoices. Got response (401): {"code":"unauthenticated","message":"Authentication is required for accessing this endpoint"}')])]),e._v(" "),t("ul",[t("li",[t("p",[e._v("This means there is some authentication error. Likely your api key does not have permission create invoices for that store. Make sure you gave the api key the right permissions and you give it to the right store and also entered that in VirtueMart payment configuration form.")])]),e._v(" "),t("li",[t("p",[e._v('Another reason could be that you use a legacy api key. The legacy api keys are located in store settings -> Access Tokens. But you need to create an account api key which is located in Account -> Manage Account -> tab "API Keys". See section '),t("a",{attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("2.2 Create an API key and configure permissions")]),e._v(".")])])]),e._v(" "),t("h2",{attrs:{id:"the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[e._v("#")]),e._v(" The order states do not update although the invoice has been paid")]),e._v(" "),t("p",[e._v('Please check the details of your invoice if there were any errors on sending the webhook request. Some hosting providers, firewall setups or Joomla security plugins may block POST requests to your site which lead to a http status of "403 forbidden".')]),e._v(" "),t("p",[e._v("You can check and verify yourself if there is something blocking requests to your site in one of these two ways:")]),e._v(" "),t("p",[t("strong",[e._v("1. Copy webhook callback URL")]),e._v("\ngo to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(' and copy the "Webhook callback URL". e.g. '),t("code",[e._v("https://EXAMPLE.COM/index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&pm=2")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(576),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}})]),e._v(" "),t("p",[t("strong",[e._v("2.1 Check using a command line (Linux or MacOS):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('curl -vX POST -H "Content-Type: application/json" \\\n -d \'{"data": "test"}\' WEBHOOK_CALLBACK_URL\n')])])]),t("p",[e._v("(replace "),t("code",[e._v("WEBHOOK_CALLBACK_URL")]),e._v(" with the one copied above)")]),e._v(" "),t("p",[e._v("Result:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(".... snip ....\n* upload completely sent off: 16 out of 16 bytes\n< HTTP/1.1 403 Forbidden\n< access-control-allow-origin: *\n< Content-Type: application/json; charset=UTF-8\n< X-Cloud-Trace-Context: 4f07d5b2e5c2f05949d04421a8e2dd6a\n< Date: Thu, 17 Feb 2022 10:06:50 GMT\n< Server: Google Frontend\n< Content-Length: 26\n")])])]),t("p",[e._v('If you see that line "HTTP/1.1 403 Forbidden" or "HTTP/2 403" then something is blocking data sent to your VirtueMart site. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests.')]),e._v(" "),t("p",[t("strong",[e._v("2.2 Check using an online service (if you do not have a command line available:")])]),e._v(" "),t("ul",[t("li",[e._v("Go to "),t("a",{attrs:{href:"https://reqbin.com/post-online",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://reqbin.com/post-online"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("ol",[t("li",[e._v("Enter your callback url (copied from step 1 above): "),t("code",[e._v("https://EXAMPLE.COM/index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&pm=2")]),e._v("\n(replace this URL with the webhook callback url from step 1)")])])]),e._v(" "),t("li",[e._v('Make sure "POST" is selected')]),e._v(" "),t("li",[t("ol",{attrs:{start:"2"}},[t("li",[e._v("Click [Send]")])])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(241),alt:"BTCPay Joomla VirtueMart: Webhook payload URL forbidden",title:"BTCPay Joomla VirtueMart: Webhook payload URL forbidden"}})]),e._v(" "),t("p",[e._v('If you see "'),t("strong",[e._v("Status 403 (Forbidden)")]),e._v('" then POST requests to your site are blocked for some reason. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests. If you see any other status code (200, 500, ...) a firewall problem seems to not apply, you probably need to further investigate.')]),e._v(" "),t("h2",{attrs:{id:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[e._v("#")]),e._v(" I have troubles with using the plugin or some other related questions")]),e._v(" "),t("p",[e._v("Feel free to join our support channel over at "),t("a",{attrs:{href:"https://chat.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://chat.btcpayserver.org/"),t("OutboundLink")],1),e._v(" if you need help or have any further questions.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{241:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--19-troubleshoot-403-callback.51193927.png"},558:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--01-install-web.4d28e0bd.png"},559:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--02-install-upload.8972740d.png"},560:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--03-enable-plugin.1b4a6c9f.png"},561:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--04-add-new-payment-method.e5a94ee3.png"},562:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--05-payment-method-details.adf89c97.png"},563:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--06-payment-method-configuration-tab.45617db0.png"},564:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--07-account-manage.d477b8b4.png"},565:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--08-add-api-key.a58b2941.png"},566:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--09-permissions-and-select-store.9ccef388.png"},567:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--10-permissions-set.74d76936.png"},568:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--11-copy-api-key.94be9878.png"},569:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--12-copy-store-id.84c19f9f.png"},570:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--13-save-vm-payment-method-form.0a3e52bd.png"},571:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--14-create-webhook.1b6e4881.png"},572:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--15-webhook-payload-url.37a4f55f.png"},573:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--16-webhook-copy-secret.71b0dd07.png"},574:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--16-virtuemart-configuration-save.ee549862.png"},575:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--17-webhook-save.dfd4fca5.png"},576:function(e,t,a){e.exports=a.p+"assets/img/btcpay-vm--18-troubleshoot-copy-callback-url.70d08e31.png"},794:function(e,t,a){"use strict";a.r(t);var o=a(9),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"joomla-virtuemart-integration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#joomla-virtuemart-integration"}},[e._v("#")]),e._v(" Joomla VirtueMart integration")]),e._v(" "),t("p",[e._v("This document explains how to "),t("strong",[e._v("integrate BTCPay Server into your Joomla VirtueMart store")]),e._v(".\nWatch the video below to go along the document |")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/k7XfybLAky0/hqdefault.jpg)"},attrs:{href:"https://youtu.be/k7XfybLAky0",title:"BTCPay Server - Joomla VirtueMart","data-id":"k7XfybLAky0"}},[t("iframe",{attrs:{title:"BTCPay Server - Joomla VirtueMart","data-src":"https://www.youtube-nocookie.com/embed/k7XfybLAky0?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("p",[e._v("Please ensure that you meet the following requirements before installing this plugin.")]),e._v(" "),t("ul",[t("li",[e._v("PHP version 7.4 or newer")]),e._v(" "),t("li",[e._v("The curl, gd, intl, json, and mbstring PHP extensions are available")]),e._v(" "),t("li",[e._v("A VirtueMart 3 / 4 store ("),t("a",{attrs:{href:"https://www.virtuemart.net/downloads",target:"_blank",rel:"noopener noreferrer"}},[e._v("Download and installation instructions"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("You have a BTCPay Server version 1.3.0 or later, either "),t("RouterLink",{attrs:{to:"/Deployment/"}},[e._v("self-hosted")]),e._v(" or "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("hosted by a third-party")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/RegisterAccount/"}},[e._v("You've a registered account on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/CreateStore/"}},[e._v("You've a BTCPay store on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/WalletSetup/"}},[e._v("You've a wallet connected to your store")])],1)]),e._v(" "),t("h2",{attrs:{id:"1-install-btcpay-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1-install-btcpay-plugin"}},[e._v("#")]),e._v(" 1. Install BTCPay Plugin")]),e._v(" "),t("p",[e._v("There are three ways to "),t("strong",[e._v("download BTCPay for VirtueMart plugin")]),e._v(":")]),e._v(" "),t("ul",[t("li",[e._v("Via the Admin Dashboard (recommended, see below)")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://extensions.joomla.org/extension/vm-payment-btcpay-for-virtuemart/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Joomla Extension Directory (JED)"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/joomla-virtuemart/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Repository"),t("OutboundLink")],1)])]),e._v(" "),t("h3",{attrs:{id:"11-install-plugin-from-joomla-admin-dashboard-recommended"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#11-install-plugin-from-joomla-admin-dashboard-recommended"}},[e._v("#")]),e._v(" 1.1 Install plugin from Joomla Admin Dashboard (recommended)")]),e._v(" "),t("ol",[t("li",[e._v("Menu: Extensions > Manage > Install")]),e._v(" "),t("li",[e._v('On "Install from Web" tab search for "btcpay"')]),e._v(" "),t("li",[e._v("Click on BTCPay for VirtueMart and [Install] button")]),e._v(" "),t("li",[e._v("Continue with step 1.3")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(558),alt:"BTCPay Virtuemart: Plugin installation web",title:"BTCPay Virtuemart: Plugin installation web"}})]),e._v(" "),t("h3",{attrs:{id:"12-download-and-install-plugin-from-jed-or-github"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#12-download-and-install-plugin-from-jed-or-github"}},[e._v("#")]),e._v(" 1.2 Download and install plugin from JED or GitHub")]),e._v(" "),t("ol",[t("li",[e._v("Download the latest BTCPay plugin from "),t("a",{attrs:{href:"https://github.com/btcpayserver/joomla-virtuemart/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"https://extensions.joomla.org/extension/vm-payment-btcpay-for-virtuemart/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JED"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Menu: Extensions -> Manage -> Install")]),e._v(" "),t("li",[e._v('On tab "Upload Package File" upload the '),t("code",[e._v("btcpayvm.zip")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(559),alt:"BTCPay Virtuemart: Plugin installation upload",title:"BTCPay Virtuemart: Plugin installation upload"}})]),e._v(" "),t("h3",{attrs:{id:"13-enable-the-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#13-enable-the-plugin"}},[e._v("#")]),e._v(" 1.3 Enable the plugin")]),e._v(" "),t("ol",[t("li",[e._v("Menu: Extensions -> Plugins")]),e._v(" "),t("li",[e._v('Search for "btcpay"')]),e._v(" "),t("li",[e._v('On "Status" column click the red circle to enable the plugin')])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(560),alt:"BTCPay Virtuemart: Enable plugin",title:"BTCPay Virtuemart: Enable plugin"}})]),e._v(" "),t("h2",{attrs:{id:"2-connecting-virtuemart-and-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#2-connecting-virtuemart-and-btcpay-server"}},[e._v("#")]),e._v(" 2. Connecting VirtueMart and BTCPay Server")]),e._v(" "),t("p",[e._v("BTCPay for Virtuemart plugin is a "),t("strong",[e._v("bridge between your BTCPay Server (payment processor) and your e-commerce store")]),e._v(".\nNo matter if you're using a self-hosted or third-party solution, the connection process is identical.")]),e._v(" "),t("h3",{attrs:{id:"21-add-btcpay-payment-gateway-in-virtuemart"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#21-add-btcpay-payment-gateway-in-virtuemart"}},[e._v("#")]),e._v(" 2.1 Add BTCPay payment gateway in VirtueMart")]),e._v(" "),t("ol",[t("li",[e._v("Menu: VirtueMart -> Payment Methods")]),e._v(" "),t("li",[e._v("Click button "),t("strong",[e._v("[New]")]),e._v(" "),t("img",{attrs:{src:a(561),alt:"BTCPay Virtuemart: Add new payment method",title:"BTCPay Virtuemart: Add new payment method"}})]),e._v(" "),t("li",[e._v('Configure the payment method according to your needs. Make sure on "Payment Method" dropdown you have "BTCPay for VirtueMart" selected and the payment method is published '),t("img",{attrs:{src:a(562),alt:"BTCPay Virtuemart: Payment method details",title:"BTCPay Virtuemart: Payment method details"}})]),e._v(" "),t("li",[e._v("Hit the "),t("strong",[e._v("[Save]")]),e._v(" button (the plugin table will get created)")])]),e._v(" "),t("p",[e._v('Now you can switch to the "Configuration" tab where we can connect to our BTCPay Server instance. First we need to create an API key.')]),e._v(" "),t("figure",[t("img",{attrs:{src:a(563),alt:"BTCPay Virtuemart: Payment method configuration tab",title:"BTCPay Virtuemart: Payment method configuration tab"}})]),e._v(" "),t("h3",{attrs:{id:"22-create-an-api-key-and-configure-permissions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("#")]),e._v(" 2.2 Create an API key and configure permissions")]),e._v(" "),t("p",[e._v("On BTCPay Server instance:")]),e._v(" "),t("ol",[t("li",[e._v("Click on "),t("em",[e._v("[Account]")])]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Manage Account]")]),e._v(" "),t("img",{attrs:{src:a(564),alt:"BTCPay Joomla VirtueMart: Manage Account",title:"BTCPay Joomla VirtueMart: Manage Account"}})]),e._v(" "),t("li",[e._v("Go to the tab "),t("em",[e._v('"API Keys"')])]),e._v(" "),t("li",[e._v("Click "),t("em",[e._v("[Generate Key]")]),e._v(" to select permissions.\n"),t("img",{attrs:{src:a(565),alt:"BTCPay Joomla VirtueMart: API Keys overview",title:"BTCPay Joomla VirtueMart: API Keys overview"}})]),e._v(" "),t("li",[e._v("Add a label. "),t("strong",[e._v("Important:")]),e._v(" click on the "),t("em",[e._v('"Select specific stores"')]),e._v(" link for the following permissions: "),t("code",[e._v("View invoices")]),e._v(", "),t("code",[e._v("Create invoice")]),e._v(", "),t("code",[e._v("Modify invoices")]),e._v(", "),t("code",[e._v("Modify stores webhooks")]),e._v(", "),t("code",[e._v("View your stores")]),e._v(" and select the specific store you created for your VirtueMart site. It should look like when everything is set:\n"),t("img",{attrs:{src:a(566),alt:"BTCPay Joomla VirtueMart: API Keys Permissions",title:"BTCPay Joomla VirtueMart: API Keys Permissions"}})]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Generate API Key]")]),e._v(" "),t("img",{attrs:{src:a(567),alt:"BTCPay Joomla VirtueMart: API Keys Save",title:"BTCPay Joomla VirtueMart: API Keys Save"}})]),e._v(" "),t("li",[e._v("Copy the generated API Key to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form\n"),t("img",{attrs:{src:a(568),alt:"BTCPay Joomla VirtueMart: Copy API Key",title:"BTCPay Joomla VirtueMart: Copy API Key"}})]),e._v(" "),t("li",[e._v("Go to Settings and copy the store ID to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form\n"),t("img",{attrs:{src:a(569),alt:"BTCPay Joomla VirtueMart: Copy Store ID",title:"BTCPay Joomla VirtueMart: Copy Store ID"}})]),e._v(" "),t("li",[e._v("On the "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form make sure "),t("strong",[e._v("BTPCay Server URL")]),e._v(", "),t("strong",[e._v("API Key")]),e._v(" and "),t("strong",[e._v("Store ID")]),e._v(" are set and click "),t("strong",[e._v("[Save]")]),e._v(" "),t("img",{attrs:{src:a(570),alt:"BTCPay Joomla VirtueMart: Save VirtueMart Settings form",title:"BTCPay Joomla VirtueMart: Save VirtueMart Settings form"}})])]),e._v(" "),t("h3",{attrs:{id:"23-create-a-webhook-on-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#23-create-a-webhook-on-btcpay-server"}},[e._v("#")]),e._v(" 2.3 Create a webhook on BTCPay Server")]),e._v(" "),t("p",[e._v("Setting up a webhook is important that your gets updates on invoice status changes from BTCPay Server.")]),e._v(" "),t("ol",[t("li",[t("p",[e._v("On BTCPay Server instance go to your store settings, tab "),t("strong",[e._v("[Webhooks]")]),e._v(", click "),t("strong",[e._v("[Create Webhook]")]),e._v(" "),t("img",{attrs:{src:a(571),alt:"BTCPay Joomla VirtueMart: Create webhook",title:"BTCPay Joomla VirtueMart: Create webhook"}})])]),e._v(" "),t("li",[t("p",[e._v("From "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" copy the "),t("strong",[e._v("Webhook callback URL")]),e._v(" to webhook settings "),t("strong",[e._v("Payload URL")]),e._v(".\n"),t("img",{attrs:{src:a(572),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}})])]),e._v(" "),t("li",[t("p",[e._v("On webhook settings click on the eye to reveal webhook secret. Copy that secret to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(" form "),t("strong",[e._v("Webhook Secret")]),e._v(" input and "),t("strong",[e._v("[Save]")]),e._v(" the VirtueMart configuration again.\n"),t("img",{attrs:{src:a(573),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}}),e._v(" "),t("img",{attrs:{src:a(574),alt:"BTCPay Joomla VirtueMart: Webhook VM save configuration",title:"BTCPay Joomla VirtueMart: Webhook VM save configuration"}})])]),e._v(" "),t("li",[t("p",[e._v("Back on webhook settings, enable "),t("strong",[e._v("Automatic redelivery")]),e._v(" and click "),t("strong",[e._v("[Add webhook]")]),e._v(" to save the webhook.\n"),t("img",{attrs:{src:a(575),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}})])])]),e._v(" "),t("h2",{attrs:{id:"3-test-the-checkout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#3-test-the-checkout"}},[e._v("#")]),e._v(" 3. Test the checkout")]),e._v(" "),t("p",[e._v("Everything is ready to go now. Do a small test purchase and make sure the order status gets updated according to the BTCPay invoice status. On BTCPay Server invoice details you can see if the webhook events were fired successfully.")]),e._v(" "),t("h2",{attrs:{id:"customizing-virtuemart-btcpay-payment-method-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#customizing-virtuemart-btcpay-payment-method-settings"}},[e._v("#")]),e._v(" Customizing VirtueMart BTCPay payment method settings")]),e._v(" "),t("p",[e._v('Your VirtueMart BTCPay payment method settings can be found in menu: VirtueMart -> Payment Methods. Click on the payment method of type "btcpayvm" you created.')]),e._v(" "),t("h3",{attrs:{id:"section-btcpay-server-connection-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-btcpay-server-connection-settings"}},[e._v("#")]),e._v(" Section: BTCPay Server connection settings")]),e._v(" "),t("p",[e._v("This is the most important part of the configuration. The data entered here will connect your VirtueMart shop with your counterparty store configured on BTCPay Server.")]),e._v(" "),t("p",[t("strong",[e._v("BTCPay Server URL")])]),e._v(" "),t("p",[e._v("URL to your BTCPay Server instance, including protocol e.g. "),t("code",[e._v("https://btcpay.yourdomain.com")]),e._v(".")]),e._v(" "),t("p",[t("strong",[e._v("API Key")])]),e._v(" "),t("p",[e._v("Your BTCPay API Key as mentioned "),t("a",{attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("here")]),e._v(".")]),e._v(" "),t("p",[t("strong",[e._v("Store ID")])]),e._v(" "),t("p",[e._v("The store ID of your BTCPay Server store. Can be found on the store settings page. See 8. "),t("a",{attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("here")])]),e._v(" "),t("p",[t("strong",[e._v("Webhook Secret")])]),e._v(" "),t("p",[e._v("The wehbook secret which was generated on webhook createion, see "),t("a",{attrs:{href:"#23-create-a-webhook-on-btcpay-server"}},[e._v("here")])]),e._v(" "),t("p",[t("strong",[e._v("Webhook callback URL")])]),e._v(" "),t("p",[e._v("This field is auto-generated by the plugin and helps you when creating the webhook on BTCPay Server. It contains the needed payment method id and parameters to allow processing of callbacks.")]),e._v(" "),t("h3",{attrs:{id:"section-order-states-mapping"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-order-states-mapping"}},[e._v("#")]),e._v(" Section: Order states mapping")]),e._v(" "),t("p",[e._v("You can adjust the mapping of BTCPay Server invoice status to VirtueMart order states. On the left are the invoice states and on the right the order states. The defaults here should be good to go - but if you need, you can overwrite them.")]),e._v(" "),t("p",[e._v("VirtueMart order statuses are explained "),t("a",{attrs:{href:"https://docs.virtuemart.net/manual/configuration-menu/order-statuses.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1)]),e._v(" "),t("p",[e._v("BTCPay server invoice statuses are explained "),t("RouterLink",{attrs:{to:"/Invoices/#invoice-statuses"}},[e._v("here")])],1),e._v(" "),t("h3",{attrs:{id:"section-restrictions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-restrictions"}},[e._v("#")]),e._v(" Section: Restrictions")]),e._v(" "),t("p",[e._v("These are VirtueMart provided restrictions you know from other payment plugins. You can restrict the amount or countries when the payment method will be available.")]),e._v(" "),t("h3",{attrs:{id:"section-discounts-and-fees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#section-discounts-and-fees"}},[e._v("#")]),e._v(" Section Discounts and fees")]),e._v(" "),t("p",[e._v("These are VirtueMart provided settings. You can set a fee, cashback and apply tax rules or set a custom logo for the payment method.")]),e._v(" "),t("h2",{attrs:{id:"troubleshooting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting"}},[e._v("#")]),e._v(" Troubleshooting")]),e._v(" "),t("h3",{attrs:{id:"error-on-checkout-there-was-an-error-processing-the-payment-on-btcpay-server-please-try-again-and-contact-us-if-the-problem-persists-"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#error-on-checkout-there-was-an-error-processing-the-payment-on-btcpay-server-please-try-again-and-contact-us-if-the-problem-persists-"}},[e._v("#")]),e._v(' Error on checkout "There was an error processing the payment on BTCPay Server. Please try again and contact us if the problem persists."')]),e._v(" "),t("p",[e._v("This means something went wrong with creating the invoice on BTCPay Server. It could be either wrong api key, store id or another communication error. You can find the error logs of the plugin in the following directory: "),t("code",[e._v("administrator/logs")]),e._v(" there you will have one or more files called "),t("code",[e._v("btcpayvm.X.log.php")]),e._v(" where "),t("code",[e._v("X")]),e._v(" is a number e.g. "),t("code",[e._v("btcpayvm.0.log.php")]),e._v(" you will find timestamped errors there that should give you a hint what the problem is.")]),e._v(" "),t("p",[t("strong",[e._v("Example")]),e._v(":")]),e._v(" "),t("blockquote",[t("p",[e._v('2022-05-24 21:10:50 ERROR Error during POST to https://btcpay.example.com/api/v1/stores/4kD5bvAF5j8DokHqAzxb6MFDV4ikabcdefghijklm/invoices. Got response (401): {"code":"unauthenticated","message":"Authentication is required for accessing this endpoint"}')])]),e._v(" "),t("ul",[t("li",[t("p",[e._v("This means there is some authentication error. Likely your api key does not have permission create invoices for that store. Make sure you gave the api key the right permissions and you give it to the right store and also entered that in VirtueMart payment configuration form.")])]),e._v(" "),t("li",[t("p",[e._v('Another reason could be that you use a legacy api key. The legacy api keys are located in store settings -> Access Tokens. But you need to create an account api key which is located in Account -> Manage Account -> tab "API Keys". See section '),t("a",{attrs:{href:"#22-create-an-api-key-and-configure-permissions"}},[e._v("2.2 Create an API key and configure permissions")]),e._v(".")])])]),e._v(" "),t("h2",{attrs:{id:"the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[e._v("#")]),e._v(" The order states do not update although the invoice has been paid")]),e._v(" "),t("p",[e._v('Please check the details of your invoice if there were any errors on sending the webhook request. Some hosting providers, firewall setups or Joomla security plugins may block POST requests to your site which lead to a http status of "403 forbidden".')]),e._v(" "),t("p",[e._v("You can check and verify yourself if there is something blocking requests to your site in one of these two ways:")]),e._v(" "),t("p",[t("strong",[e._v("1. Copy webhook callback URL")]),e._v("\ngo to your "),t("em",[e._v("VirtueMart BTCPay Payment Method Settings")]),e._v(' and copy the "Webhook callback URL". e.g. '),t("code",[e._v("https://EXAMPLE.COM/index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&pm=2")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(576),alt:"BTCPay Joomla VirtueMart: Webhook payload URL",title:"BTCPay Joomla VirtueMart: Webhook payload URL"}})]),e._v(" "),t("p",[t("strong",[e._v("2.1 Check using a command line (Linux or MacOS):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('curl -vX POST -H "Content-Type: application/json" \\\n -d \'{"data": "test"}\' WEBHOOK_CALLBACK_URL\n')])])]),t("p",[e._v("(replace "),t("code",[e._v("WEBHOOK_CALLBACK_URL")]),e._v(" with the one copied above)")]),e._v(" "),t("p",[e._v("Result:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(".... snip ....\n* upload completely sent off: 16 out of 16 bytes\n< HTTP/1.1 403 Forbidden\n< access-control-allow-origin: *\n< Content-Type: application/json; charset=UTF-8\n< X-Cloud-Trace-Context: 4f07d5b2e5c2f05949d04421a8e2dd6a\n< Date: Thu, 17 Feb 2022 10:06:50 GMT\n< Server: Google Frontend\n< Content-Length: 26\n")])])]),t("p",[e._v('If you see that line "HTTP/1.1 403 Forbidden" or "HTTP/2 403" then something is blocking data sent to your VirtueMart site. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests.')]),e._v(" "),t("p",[t("strong",[e._v("2.2 Check using an online service (if you do not have a command line available:")])]),e._v(" "),t("ul",[t("li",[e._v("Go to "),t("a",{attrs:{href:"https://reqbin.com/post-online",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://reqbin.com/post-online"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("ol",[t("li",[e._v("Enter your callback url (copied from step 1 above): "),t("code",[e._v("https://EXAMPLE.COM/index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&pm=2")]),e._v("\n(replace this URL with the webhook callback url from step 1)")])])]),e._v(" "),t("li",[e._v('Make sure "POST" is selected')]),e._v(" "),t("li",[t("ol",{attrs:{start:"2"}},[t("li",[e._v("Click [Send]")])])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(241),alt:"BTCPay Joomla VirtueMart: Webhook payload URL forbidden",title:"BTCPay Joomla VirtueMart: Webhook payload URL forbidden"}})]),e._v(" "),t("p",[e._v('If you see "'),t("strong",[e._v("Status 403 (Forbidden)")]),e._v('" then POST requests to your site are blocked for some reason. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests. If you see any other status code (200, 500, ...) a firewall problem seems to not apply, you probably need to further investigate.')]),e._v(" "),t("h2",{attrs:{id:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[e._v("#")]),e._v(" I have troubles with using the plugin or some other related questions")]),e._v(" "),t("p",[e._v("Feel free to join our support channel over at "),t("a",{attrs:{href:"https://chat.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://chat.btcpayserver.org/"),t("OutboundLink")],1),e._v(" if you need help or have any further questions.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/41.bfcfe389.js b/assets/js/41.a2c60e82.js similarity index 99% rename from assets/js/41.bfcfe389.js rename to assets/js/41.a2c60e82.js index 44b16a2b17..31529dc5a9 100644 --- a/assets/js/41.bfcfe389.js +++ b/assets/js/41.a2c60e82.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{589:function(e,t,a){e.exports=a.p+"assets/img/welcome-store.0b77b754.jpg"},590:function(e,t,a){e.exports=a.p+"assets/img/selected-store.5628bf9e.jpg"},591:function(e,t,a){e.exports=a.p+"assets/img/walktrough-payouts1.779e4d06.jpg"},592:function(e,t,a){e.exports=a.p+"assets/img/preview-paybutton.ac9cebb4.jpg"},797:function(e,t,a){"use strict";a.r(t);var o=a(9),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"btcpay-server-walkthrough"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-server-walkthrough"}},[e._v("#")]),e._v(" BTCPay Server Walkthrough")]),e._v(" "),t("p",[e._v("This page walks you through the "),t("strong",[e._v("BTCPay user interface")]),e._v(" and shows how to navigate through the different options.")]),e._v(" "),t("p",[e._v("Watch the video below for an interactive overview of the features.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/ZIfJyq9RimM/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=ZIfJyq9RimM",title:"BTCPay Server Walkthrough","data-id":"ZIfJyq9RimM"}},[t("iframe",{attrs:{title:"BTCPay Server Walkthrough","data-src":"https://www.youtube-nocookie.com/embed/ZIfJyq9RimM?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("p",[e._v("After you've created an account on the BTCPay Server instance hosted by yourself or a third party, you'll be greeted by your store's new home or, as we call it, your "),t("code",[e._v("dashboard")]),e._v(".")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(589),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("p",[e._v("All the settings in the left menu are meant for the Current Store you selected at the top.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(590),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#notifications"}},[e._v("Notifications")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Dashboard/"}},[e._v("Dashboard")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#store"}},[e._v("Settings")]),e._v(" "),t("strong",[e._v("store settings")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#wallets"}},[e._v("Wallets")]),e._v(" "),t("ul",[t("li",[e._v("Bitcoin")]),e._v(" "),t("li",[e._v("Lightning")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#payments"}},[e._v("Payments")]),e._v(" "),t("ul",[t("li",[e._v("Invoices")]),e._v(" "),t("li",[e._v("Requests")]),e._v(" "),t("li",[e._v("Pull Payments")]),e._v(" "),t("li",[e._v("Payouts")]),e._v(" "),t("li",[e._v("Pay Button")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#apps"}},[e._v("Apps")]),e._v(" "),t("ul",[t("li",[e._v("New App")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#plugins"}},[e._v("Plugins")]),e._v(" "),t("ul",[t("li",[e._v("Manage Plugins")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#server-settings"}},[e._v("Server Settings")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#account"}},[e._v("Account")])],1)]),e._v(" "),t("h2",{attrs:{id:"store"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#store"}},[e._v("#")]),e._v(" Store")]),e._v(" "),t("p",[e._v("Inside BTCPay, you can "),t("strong",[e._v("create and manage an unlimited number of stores")]),e._v(". Each store has its own wallet, can create apps (Point of Sale or Payment Buttons and Crowdfunds) or be paired with external e-commerce software through one of the integrations available. Admin does not have control over the private keys of the other user's stores. For more information, check "),t("RouterLink",{attrs:{to:"/FAQ/Stores/"}},[e._v("Stores FAQ")])],1),e._v(" "),t("ul",[t("li",[e._v("Store settings - Configure global payment settings and customize the payment experience for your customers.")]),e._v(" "),t("li",[e._v("Rates - Set the source for cryptocurrency to fiat "),t("RouterLink",{attrs:{to:"/FAQ/Stores/#how-to-change-the-exchange-rate-provider-for-invoices"}},[e._v("exchange rates for your store")]),e._v(".")],1),e._v(" "),t("li",[e._v("Checkout experience - "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-modify-the-checkout-page"}},[e._v("Customize the appearance")]),e._v(" of the checkout page, choose default coin, etc.")],1),e._v(" "),t("li",[e._v("Access Tokens - Tokens for "),t("RouterLink",{attrs:{to:"/WhatsNext/#connecting-your-btcpay-store-to-your-e-commerce-platform"}},[e._v("pairing the store to an integration")])],1),e._v(" "),t("li",[e._v("Users - Enable other users with a registered BTCPay account to access your store as either guest or owner.")]),e._v(" "),t("li",[e._v("Pay Button - "),t("RouterLink",{attrs:{to:"/WhatsNext/#creating-the-pay-button"}},[e._v("Create a payment button")]),e._v(" you can easily embed into your website.")],1)]),e._v(" "),t("h2",{attrs:{id:"notifications"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#notifications"}},[e._v("#")]),e._v(" Notifications")]),e._v(" "),t("p",[e._v("Notifications inform the user that "),t("strong",[e._v("an event has occurred on the BTCPay Server instance")]),e._v(".\nSuch event could be a received or failed payment, an overpaid or underpaid invoice, a new BTCPay version and more.")]),e._v(" "),t("p",[e._v("By clicking on the icon, you can access the "),t("code",[e._v("Notifications")]),e._v(" page, where you can view past notifications and optionally delete them.\nLearn more about all BTCPay notifications "),t("RouterLink",{attrs:{to:"/Notifications/"}},[e._v("here")]),e._v(".")],1),e._v(" "),t("h2",{attrs:{id:"dashboard"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#dashboard"}},[e._v("#")]),e._v(" Dashboard")]),e._v(" "),t("p",[e._v("In dashboard you will see the stores wallet balance, a overview of invoices and quickly see your crowdfunds top perks.\nThere's 5 main tiles in the Dashboard.")]),e._v(" "),t("ul",[t("li",[e._v("A quick view on the wallet balance")]),e._v(" "),t("li",[e._v("Transaction and payout activity")]),e._v(" "),t("li",[e._v("Recent Transactions")]),e._v(" "),t("li",[e._v("Recent Invoices")]),e._v(" "),t("li",[e._v("Current running Crowdfunds")])]),e._v(" "),t("p",[e._v("Continue to read more about "),t("RouterLink",{attrs:{to:"/Dashboard/"}},[e._v("Dashboard")])],1),e._v(" "),t("h2",{attrs:{id:"wallets"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#wallets"}},[e._v("#")]),e._v(" Wallets")]),e._v(" "),t("h3",{attrs:{id:"bitcoin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bitcoin"}},[e._v("#")]),e._v(" Bitcoin")]),e._v(" "),t("p",[e._v("Depending how many different payment methods you've setup, inside the wallets tab you'll see a wallet for each of the payment methods. Bitcoin on-chain wallet allows you to manage received funds. BTCPay's wallet is feature-rich and has privacy features built-in. Furthermore it has a full hardware wallet integration, so you can manage your funds with compatible hardware wallet directly from your BTCPay. Check "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("wallet page")]),e._v(" for more information.")],1),e._v(" "),t("p",[e._v("Elements of the internal BTCPay Wallet are:")]),e._v(" "),t("ul",[t("li",[e._v("Transaction - This shows your entire transaction history.")]),e._v(" "),t("li",[e._v("Send - Used for sending funds out of your wallet (has to be signed and confirmed on a compatible hardware wallet).")]),e._v(" "),t("li",[e._v("Receive - Used to generate a new address manually.")]),e._v(" "),t("li",[e._v("Rescan - Enables you to import old wallets into BTCPay more easily and solves the gap limit issue most external wallets have.")]),e._v(" "),t("li",[e._v("Pull Payments - Used to create and manage Pull Payments. For more information on this feature, check "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("Pull Payments")]),e._v(".")],1),e._v(" "),t("li",[e._v("Payouts - Used to manage Pull Payment requests.")]),e._v(" "),t("li",[e._v("PSBT - Used to sign multi-signature transactions through the PSBT standard.")]),e._v(" "),t("li",[e._v("Settings - Used to view and adjust additional settings for your wallet.")])]),e._v(" "),t("h3",{attrs:{id:"lightning"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#lightning"}},[e._v("#")]),e._v(" Lightning")]),e._v(" "),t("p",[e._v("Additionaly, we recommend adding a lightning wallet. There are two options, connect an "),t("RouterLink",{attrs:{to:"/LightningNetwork/#connecting-your-internal-lightning-node-in-btcpay"}},[e._v("internal")]),e._v(" or connect an external "),t("RouterLink",{attrs:{to:"/LightningNetwork/"}},[e._v("Lightning node")]),e._v(".\nOnce completed, the Lightning wallet function becomes active.")],1),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("Wallet")]),e._v(" or "),t("RouterLink",{attrs:{to:"/FAQ/Wallet/"}},[e._v("Wallet FAQ")])],1),e._v(" "),t("h2",{attrs:{id:"payments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#payments"}},[e._v("#")]),e._v(" Payments")]),e._v(" "),t("h3",{attrs:{id:"invoices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#invoices"}},[e._v("#")]),e._v(" Invoices")]),e._v(" "),t("p",[e._v("All of the "),t("strong",[e._v("invoices")]),e._v(" for your user account will be displayed here. You can filter the invoices by the status, order, item, store or date. You can also create invoices manually. Invoices are sorted by date from new to old. You can open an individual invoice for more information. Use the export button to save a file (.json or .csv).")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Invoices/"}},[e._v("Invoices")])],1),e._v(" "),t("h3",{attrs:{id:"payment-requests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#payment-requests"}},[e._v("#")]),e._v(" Payment Requests")]),e._v(" "),t("p",[e._v("Each store can have an unlimited number of "),t("strong",[e._v("payment requests")]),e._v(" displayed here. Payment requests are dynamic invoices that can be shared by URL and paid at any time using current BTC exchange rates. Here you can edit and view your payment requests. You can see invoice details for your payment requests and clone previously created payment requests.")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/PaymentRequests/"}},[e._v("Payment Requests")])],1),e._v(" "),t("h3",{attrs:{id:"pull-payments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pull-payments"}},[e._v("#")]),e._v(" Pull Payments")]),e._v(" "),t("p",[e._v("The feature of "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("pull payments")]),e._v(" is one we see fit for options like\nA subscription service, refunds, time-based billing for freelancers, patronage, or a a withdrawal service.")],1),e._v(" "),t("p",[e._v("For a detailed description of the concept, please visit the "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("Pull Payments")])],1),e._v(" "),t("h3",{attrs:{id:"payouts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#payouts"}},[e._v("#")]),e._v(" Payouts")]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("payouts")]),e._v(" view gives an overview of the current pull payments and their status.\nIf, for example, a refund has been issued and the claimant has accepted, this will show in Payouts.\nHere you will find the options to Approve and directly send the requested amount of the refund.\nWhen there are multiple instances of Pull payments, these can be selected and batched for sending out at once.\nIn a future version, we expect this to have scheduling options.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(591),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("h3",{attrs:{id:"pay-button"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pay-button"}},[e._v("#")]),e._v(" Pay Button")]),e._v(" "),t("p",[e._v("You can easily embed a donation or a payment button into an HTML of your website.\nWhen the customer or a visitor clicks on the button, BTCPay displays a checkout page and an invoice for them.")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Apps/#payment-button"}},[e._v("Create a payment button")])],1),e._v(" "),t("figure",[t("img",{attrs:{src:a(592),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("h2",{attrs:{id:"apps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apps"}},[e._v("#")]),e._v(" Apps")]),e._v(" "),t("p",[e._v("Each store has access to different apps. "),t("strong",[e._v("Applications built on top of BTCPay")]),e._v(" extend the "),t("RouterLink",{attrs:{to:"/UseCase/"}},[e._v("use case")]),e._v(" of the software and cater to other types of users. Here, you can create a new app, connect it to the store, and customize it. A good example is the Point of Sale app, which you can use to receive payments in physical stores or even donations.")],1),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Apps/"}},[e._v("Apps")]),e._v(" or "),t("RouterLink",{attrs:{to:"/FAQ/Apps/"}},[e._v("Apps FAQ")])],1),e._v(" "),t("h2",{attrs:{id:"plugins"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[e._v("#")]),e._v(" Plugins")]),e._v(" "),t("p",[e._v("Manage your store-used plugins right from this view.\nThe available plugins for the user will show in the side menu.")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/CustomIntegration/"}},[e._v("Integrations")]),e._v("\nor one of the pre build plugins like :")],1),e._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/WooCommerce/"}},[e._v("WooCommerce")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Shopify/"}},[e._v("Shopify")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Magento/"}},[e._v("Magento")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/PrestaShop/"}},[e._v("Prestashop")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Drupal/"}},[e._v("Drupal")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Zapier/"}},[e._v("Zapier")])],1)]),e._v(" "),t("h2",{attrs:{id:"server-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#server-settings"}},[e._v("#")]),e._v(" Server settings")]),e._v(" "),t("p",[t("strong",[e._v("Server settings")]),e._v(" is something only a server admin can access. If you're using someone else's server, you won't see Server Settings. Inside the settings, you can perform tasks such as controlling users, rates, updating the server, etc. For more information, check "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/"}},[e._v("Server Settings FAQ")])],1),e._v(" "),t("ul",[t("li",[e._v("Users - Add, remove or manage users of your BTCPay Server.")]),e._v(" "),t("li",[e._v("Email server - If you want users to verify their e-mail address when registering set up the SMTP settings.")]),e._v(" "),t("li",[e._v("Policies - Enable or disable user registration, e-mail verification, search engine indexing, display apps on website root.")]),e._v(" "),t("li",[e._v("Services - gRPC, REST, and RTL are used for connecting your LN node, SSH keys, and uploaded file storage setup.")]),e._v(" "),t("li",[e._v("Theme - Customize the front-end appearance of your BTCPay Server.")]),e._v(" "),t("li",[e._v("Maintenance - Update your BTCPay to the latest version and clean your BTCPay by deleting unused docker images.")]),e._v(" "),t("li",[e._v("Logs - Displays most recent logs of the BTCPay Server.")]),e._v(" "),t("li",[e._v("Files - After enabling this feature in Services, upload external files and access them via URL.")])]),e._v(" "),t("h2",{attrs:{id:"account"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#account"}},[e._v("#")]),e._v(" Account")]),e._v(" "),t("p",[e._v("Manage your BTCPay Server account.\nChange anything related to your user-account.\nSetup Two-Factor Authentication and manage API keys.")]),e._v(" "),t("h2",{attrs:{id:"join-the-btcpay-community"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#join-the-btcpay-community"}},[e._v("#")]),e._v(" Join The BTCPay Community")]),e._v(" "),t("p",[e._v("If you have questions, try searching our "),t("RouterLink",{attrs:{to:"/FAQ/"}},[e._v("FAQ Section")]),e._v(" or join the "),t("RouterLink",{attrs:{to:"/Community/"}},[e._v("BTCPay Community")]),e._v(" and share questions and ideas for improvement.")],1),e._v(" "),t("p",[e._v("If you are a developer, take a look at the "),t("RouterLink",{attrs:{to:"/Development/LocalDevelopment/"}},[e._v("Local Development")]),e._v(" guide and help us with any "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("open issues"),t("OutboundLink")],1),e._v(" on Github. If you would like to contribute to BTCPay in other ways, check out the "),t("RouterLink",{attrs:{to:"/Contribute/"}},[e._v("Contribution Guide")]),e._v(" for ideas.")],1)])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{589:function(e,t,a){e.exports=a.p+"assets/img/welcome-store.0b77b754.jpg"},590:function(e,t,a){e.exports=a.p+"assets/img/selected-store.5628bf9e.jpg"},591:function(e,t,a){e.exports=a.p+"assets/img/walktrough-payouts1.779e4d06.jpg"},592:function(e,t,a){e.exports=a.p+"assets/img/preview-paybutton.ac9cebb4.jpg"},796:function(e,t,a){"use strict";a.r(t);var o=a(9),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"btcpay-server-walkthrough"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#btcpay-server-walkthrough"}},[e._v("#")]),e._v(" BTCPay Server Walkthrough")]),e._v(" "),t("p",[e._v("This page walks you through the "),t("strong",[e._v("BTCPay user interface")]),e._v(" and shows how to navigate through the different options.")]),e._v(" "),t("p",[e._v("Watch the video below for an interactive overview of the features.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/ZIfJyq9RimM/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=ZIfJyq9RimM",title:"BTCPay Server Walkthrough","data-id":"ZIfJyq9RimM"}},[t("iframe",{attrs:{title:"BTCPay Server Walkthrough","data-src":"https://www.youtube-nocookie.com/embed/ZIfJyq9RimM?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("p",[e._v("After you've created an account on the BTCPay Server instance hosted by yourself or a third party, you'll be greeted by your store's new home or, as we call it, your "),t("code",[e._v("dashboard")]),e._v(".")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(589),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("p",[e._v("All the settings in the left menu are meant for the Current Store you selected at the top.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(590),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#notifications"}},[e._v("Notifications")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Dashboard/"}},[e._v("Dashboard")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#store"}},[e._v("Settings")]),e._v(" "),t("strong",[e._v("store settings")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#wallets"}},[e._v("Wallets")]),e._v(" "),t("ul",[t("li",[e._v("Bitcoin")]),e._v(" "),t("li",[e._v("Lightning")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#payments"}},[e._v("Payments")]),e._v(" "),t("ul",[t("li",[e._v("Invoices")]),e._v(" "),t("li",[e._v("Requests")]),e._v(" "),t("li",[e._v("Pull Payments")]),e._v(" "),t("li",[e._v("Payouts")]),e._v(" "),t("li",[e._v("Pay Button")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#apps"}},[e._v("Apps")]),e._v(" "),t("ul",[t("li",[e._v("New App")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#plugins"}},[e._v("Plugins")]),e._v(" "),t("ul",[t("li",[e._v("Manage Plugins")])])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#server-settings"}},[e._v("Server Settings")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Walkthrough/#account"}},[e._v("Account")])],1)]),e._v(" "),t("h2",{attrs:{id:"store"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#store"}},[e._v("#")]),e._v(" Store")]),e._v(" "),t("p",[e._v("Inside BTCPay, you can "),t("strong",[e._v("create and manage an unlimited number of stores")]),e._v(". Each store has its own wallet, can create apps (Point of Sale or Payment Buttons and Crowdfunds) or be paired with external e-commerce software through one of the integrations available. Admin does not have control over the private keys of the other user's stores. For more information, check "),t("RouterLink",{attrs:{to:"/FAQ/Stores/"}},[e._v("Stores FAQ")])],1),e._v(" "),t("ul",[t("li",[e._v("Store settings - Configure global payment settings and customize the payment experience for your customers.")]),e._v(" "),t("li",[e._v("Rates - Set the source for cryptocurrency to fiat "),t("RouterLink",{attrs:{to:"/FAQ/Stores/#how-to-change-the-exchange-rate-provider-for-invoices"}},[e._v("exchange rates for your store")]),e._v(".")],1),e._v(" "),t("li",[e._v("Checkout experience - "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/#how-to-modify-the-checkout-page"}},[e._v("Customize the appearance")]),e._v(" of the checkout page, choose default coin, etc.")],1),e._v(" "),t("li",[e._v("Access Tokens - Tokens for "),t("RouterLink",{attrs:{to:"/WhatsNext/#connecting-your-btcpay-store-to-your-e-commerce-platform"}},[e._v("pairing the store to an integration")])],1),e._v(" "),t("li",[e._v("Users - Enable other users with a registered BTCPay account to access your store as either guest or owner.")]),e._v(" "),t("li",[e._v("Pay Button - "),t("RouterLink",{attrs:{to:"/WhatsNext/#creating-the-pay-button"}},[e._v("Create a payment button")]),e._v(" you can easily embed into your website.")],1)]),e._v(" "),t("h2",{attrs:{id:"notifications"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#notifications"}},[e._v("#")]),e._v(" Notifications")]),e._v(" "),t("p",[e._v("Notifications inform the user that "),t("strong",[e._v("an event has occurred on the BTCPay Server instance")]),e._v(".\nSuch event could be a received or failed payment, an overpaid or underpaid invoice, a new BTCPay version and more.")]),e._v(" "),t("p",[e._v("By clicking on the icon, you can access the "),t("code",[e._v("Notifications")]),e._v(" page, where you can view past notifications and optionally delete them.\nLearn more about all BTCPay notifications "),t("RouterLink",{attrs:{to:"/Notifications/"}},[e._v("here")]),e._v(".")],1),e._v(" "),t("h2",{attrs:{id:"dashboard"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#dashboard"}},[e._v("#")]),e._v(" Dashboard")]),e._v(" "),t("p",[e._v("In dashboard you will see the stores wallet balance, a overview of invoices and quickly see your crowdfunds top perks.\nThere's 5 main tiles in the Dashboard.")]),e._v(" "),t("ul",[t("li",[e._v("A quick view on the wallet balance")]),e._v(" "),t("li",[e._v("Transaction and payout activity")]),e._v(" "),t("li",[e._v("Recent Transactions")]),e._v(" "),t("li",[e._v("Recent Invoices")]),e._v(" "),t("li",[e._v("Current running Crowdfunds")])]),e._v(" "),t("p",[e._v("Continue to read more about "),t("RouterLink",{attrs:{to:"/Dashboard/"}},[e._v("Dashboard")])],1),e._v(" "),t("h2",{attrs:{id:"wallets"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#wallets"}},[e._v("#")]),e._v(" Wallets")]),e._v(" "),t("h3",{attrs:{id:"bitcoin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bitcoin"}},[e._v("#")]),e._v(" Bitcoin")]),e._v(" "),t("p",[e._v("Depending how many different payment methods you've setup, inside the wallets tab you'll see a wallet for each of the payment methods. Bitcoin on-chain wallet allows you to manage received funds. BTCPay's wallet is feature-rich and has privacy features built-in. Furthermore it has a full hardware wallet integration, so you can manage your funds with compatible hardware wallet directly from your BTCPay. Check "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("wallet page")]),e._v(" for more information.")],1),e._v(" "),t("p",[e._v("Elements of the internal BTCPay Wallet are:")]),e._v(" "),t("ul",[t("li",[e._v("Transaction - This shows your entire transaction history.")]),e._v(" "),t("li",[e._v("Send - Used for sending funds out of your wallet (has to be signed and confirmed on a compatible hardware wallet).")]),e._v(" "),t("li",[e._v("Receive - Used to generate a new address manually.")]),e._v(" "),t("li",[e._v("Rescan - Enables you to import old wallets into BTCPay more easily and solves the gap limit issue most external wallets have.")]),e._v(" "),t("li",[e._v("Pull Payments - Used to create and manage Pull Payments. For more information on this feature, check "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("Pull Payments")]),e._v(".")],1),e._v(" "),t("li",[e._v("Payouts - Used to manage Pull Payment requests.")]),e._v(" "),t("li",[e._v("PSBT - Used to sign multi-signature transactions through the PSBT standard.")]),e._v(" "),t("li",[e._v("Settings - Used to view and adjust additional settings for your wallet.")])]),e._v(" "),t("h3",{attrs:{id:"lightning"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#lightning"}},[e._v("#")]),e._v(" Lightning")]),e._v(" "),t("p",[e._v("Additionaly, we recommend adding a lightning wallet. There are two options, connect an "),t("RouterLink",{attrs:{to:"/LightningNetwork/#connecting-your-internal-lightning-node-in-btcpay"}},[e._v("internal")]),e._v(" or connect an external "),t("RouterLink",{attrs:{to:"/LightningNetwork/"}},[e._v("Lightning node")]),e._v(".\nOnce completed, the Lightning wallet function becomes active.")],1),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("Wallet")]),e._v(" or "),t("RouterLink",{attrs:{to:"/FAQ/Wallet/"}},[e._v("Wallet FAQ")])],1),e._v(" "),t("h2",{attrs:{id:"payments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#payments"}},[e._v("#")]),e._v(" Payments")]),e._v(" "),t("h3",{attrs:{id:"invoices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#invoices"}},[e._v("#")]),e._v(" Invoices")]),e._v(" "),t("p",[e._v("All of the "),t("strong",[e._v("invoices")]),e._v(" for your user account will be displayed here. You can filter the invoices by the status, order, item, store or date. You can also create invoices manually. Invoices are sorted by date from new to old. You can open an individual invoice for more information. Use the export button to save a file (.json or .csv).")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Invoices/"}},[e._v("Invoices")])],1),e._v(" "),t("h3",{attrs:{id:"payment-requests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#payment-requests"}},[e._v("#")]),e._v(" Payment Requests")]),e._v(" "),t("p",[e._v("Each store can have an unlimited number of "),t("strong",[e._v("payment requests")]),e._v(" displayed here. Payment requests are dynamic invoices that can be shared by URL and paid at any time using current BTC exchange rates. Here you can edit and view your payment requests. You can see invoice details for your payment requests and clone previously created payment requests.")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/PaymentRequests/"}},[e._v("Payment Requests")])],1),e._v(" "),t("h3",{attrs:{id:"pull-payments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pull-payments"}},[e._v("#")]),e._v(" Pull Payments")]),e._v(" "),t("p",[e._v("The feature of "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("pull payments")]),e._v(" is one we see fit for options like\nA subscription service, refunds, time-based billing for freelancers, patronage, or a a withdrawal service.")],1),e._v(" "),t("p",[e._v("For a detailed description of the concept, please visit the "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("Pull Payments")])],1),e._v(" "),t("h3",{attrs:{id:"payouts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#payouts"}},[e._v("#")]),e._v(" Payouts")]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("payouts")]),e._v(" view gives an overview of the current pull payments and their status.\nIf, for example, a refund has been issued and the claimant has accepted, this will show in Payouts.\nHere you will find the options to Approve and directly send the requested amount of the refund.\nWhen there are multiple instances of Pull payments, these can be selected and batched for sending out at once.\nIn a future version, we expect this to have scheduling options.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(591),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("h3",{attrs:{id:"pay-button"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pay-button"}},[e._v("#")]),e._v(" Pay Button")]),e._v(" "),t("p",[e._v("You can easily embed a donation or a payment button into an HTML of your website.\nWhen the customer or a visitor clicks on the button, BTCPay displays a checkout page and an invoice for them.")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Apps/#payment-button"}},[e._v("Create a payment button")])],1),e._v(" "),t("figure",[t("img",{attrs:{src:a(592),alt:"BTCPay Server Navigation",title:"BTCPay Server Navigation"}})]),e._v(" "),t("h2",{attrs:{id:"apps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apps"}},[e._v("#")]),e._v(" Apps")]),e._v(" "),t("p",[e._v("Each store has access to different apps. "),t("strong",[e._v("Applications built on top of BTCPay")]),e._v(" extend the "),t("RouterLink",{attrs:{to:"/UseCase/"}},[e._v("use case")]),e._v(" of the software and cater to other types of users. Here, you can create a new app, connect it to the store, and customize it. A good example is the Point of Sale app, which you can use to receive payments in physical stores or even donations.")],1),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/Apps/"}},[e._v("Apps")]),e._v(" or "),t("RouterLink",{attrs:{to:"/FAQ/Apps/"}},[e._v("Apps FAQ")])],1),e._v(" "),t("h2",{attrs:{id:"plugins"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugins"}},[e._v("#")]),e._v(" Plugins")]),e._v(" "),t("p",[e._v("Manage your store-used plugins right from this view.\nThe available plugins for the user will show in the side menu.")]),e._v(" "),t("p",[e._v("For more information, check "),t("RouterLink",{attrs:{to:"/CustomIntegration/"}},[e._v("Integrations")]),e._v("\nor one of the pre build plugins like :")],1),e._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/WooCommerce/"}},[e._v("WooCommerce")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Shopify/"}},[e._v("Shopify")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Magento/"}},[e._v("Magento")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/PrestaShop/"}},[e._v("Prestashop")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Drupal/"}},[e._v("Drupal")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/Zapier/"}},[e._v("Zapier")])],1)]),e._v(" "),t("h2",{attrs:{id:"server-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#server-settings"}},[e._v("#")]),e._v(" Server settings")]),e._v(" "),t("p",[t("strong",[e._v("Server settings")]),e._v(" is something only a server admin can access. If you're using someone else's server, you won't see Server Settings. Inside the settings, you can perform tasks such as controlling users, rates, updating the server, etc. For more information, check "),t("RouterLink",{attrs:{to:"/FAQ/ServerSettings/"}},[e._v("Server Settings FAQ")])],1),e._v(" "),t("ul",[t("li",[e._v("Users - Add, remove or manage users of your BTCPay Server.")]),e._v(" "),t("li",[e._v("Email server - If you want users to verify their e-mail address when registering set up the SMTP settings.")]),e._v(" "),t("li",[e._v("Policies - Enable or disable user registration, e-mail verification, search engine indexing, display apps on website root.")]),e._v(" "),t("li",[e._v("Services - gRPC, REST, and RTL are used for connecting your LN node, SSH keys, and uploaded file storage setup.")]),e._v(" "),t("li",[e._v("Theme - Customize the front-end appearance of your BTCPay Server.")]),e._v(" "),t("li",[e._v("Maintenance - Update your BTCPay to the latest version and clean your BTCPay by deleting unused docker images.")]),e._v(" "),t("li",[e._v("Logs - Displays most recent logs of the BTCPay Server.")]),e._v(" "),t("li",[e._v("Files - After enabling this feature in Services, upload external files and access them via URL.")])]),e._v(" "),t("h2",{attrs:{id:"account"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#account"}},[e._v("#")]),e._v(" Account")]),e._v(" "),t("p",[e._v("Manage your BTCPay Server account.\nChange anything related to your user-account.\nSetup Two-Factor Authentication and manage API keys.")]),e._v(" "),t("h2",{attrs:{id:"join-the-btcpay-community"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#join-the-btcpay-community"}},[e._v("#")]),e._v(" Join The BTCPay Community")]),e._v(" "),t("p",[e._v("If you have questions, try searching our "),t("RouterLink",{attrs:{to:"/FAQ/"}},[e._v("FAQ Section")]),e._v(" or join the "),t("RouterLink",{attrs:{to:"/Community/"}},[e._v("BTCPay Community")]),e._v(" and share questions and ideas for improvement.")],1),e._v(" "),t("p",[e._v("If you are a developer, take a look at the "),t("RouterLink",{attrs:{to:"/Development/LocalDevelopment/"}},[e._v("Local Development")]),e._v(" guide and help us with any "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("open issues"),t("OutboundLink")],1),e._v(" on Github. If you would like to contribute to BTCPay in other ways, check out the "),t("RouterLink",{attrs:{to:"/Contribute/"}},[e._v("Contribution Guide")]),e._v(" for ideas.")],1)])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/5.a08613b3.js b/assets/js/5.33935e49.js similarity index 99% rename from assets/js/5.a08613b3.js rename to assets/js/5.33935e49.js index d7652b172d..bac808ae0f 100644 --- a/assets/js/5.a08613b3.js +++ b/assets/js/5.33935e49.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{511:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify1.a961b161.png"},512:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify2.aea0b1ac.png"},513:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify3.14ff79a8.png"},514:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify4.4f0a10ba.png"},515:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify5.9c789888.png"},516:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify6.b3df5c96.png"},517:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify7.74cbdef7.png"},518:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify8.03fc6a31.png"},519:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify9.c5dd42ec.png"},520:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify10.d1cd1d3e.png"},521:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify11.7825329b.jpg"},522:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify12.1c03a412.jpg"},523:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify13.d0551bae.png"},524:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify14.eb96845f.png"},525:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify15.dac5277c.png"},526:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify16.dca8f695.png"},527:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify17.fa8dddec.png"},528:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify18.e47c78da.png"},782:function(e,t,s){"use strict";s.r(t);var i=s(9),r=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"how-to-accept-bitcoin-in-shopify"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-accept-bitcoin-in-shopify"}},[e._v("#")]),e._v(" How to accept Bitcoin in Shopify")]),e._v(" "),t("p",[e._v("The following document guides you through "),t("strong",[e._v("setting up BTCPay Server with "),t("a",{attrs:{href:"https://www.shopify.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Shopify"),t("OutboundLink")],1)]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites:")]),e._v(" "),t("ul",[t("li",[e._v("Shopify account")]),e._v(" "),t("li",[e._v("BTCPay Server] - "),t("RouterLink",{attrs:{to:"/Deployment/"}},[e._v("self-hosted")]),e._v(" or run by a "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("third-party host")]),e._v(" v1.4.8 or later.")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/CreateStore/"}},[e._v("Created BTCPay Server store")]),e._v(" with "),t("RouterLink",{attrs:{to:"/WalletSetup/"}},[e._v("wallet set up")])],1)]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/jJjAyvgWVfk/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=jJjAyvgWVfk",title:"BTCPay Server - Shopify Video","data-id":"jJjAyvgWVfk"}},[t("iframe",{attrs:{title:"BTCPay Server - Shopify Video","data-src":"https://www.youtube-nocookie.com/embed/jJjAyvgWVfk?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Shopify might give false flags on deprecated API calls. The most likely answer we could find, due to a change by Shopify to specific fields of the "),t("code",[e._v("Order")]),e._v(" resource and is assumed to get used in BTCPay Server. Find more details "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues/4510",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"setting-up-btcpay-server-with-shopify"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setting-up-btcpay-server-with-shopify"}},[e._v("#")]),e._v(" Setting up BTCPay Server with Shopify")]),e._v(" "),t("ol",[t("li",[e._v("In Shopify, go to Apps > and at the bottom of the page click on the "),t("code",[e._v("Develop apps for your store")]),e._v(".")]),e._v(" "),t("li",[e._v("If prompted, click on "),t("code",[e._v("Allow custom app development")])]),e._v(" "),t("li",[t("code",[e._v("Create an app")]),e._v(" and name it")]),e._v(" "),t("li",[e._v("On the app page, in "),t("code",[e._v("Overview")]),e._v(" tab, click on the "),t("code",[e._v("Configure Admin API scopes")])]),e._v(" "),t("li",[e._v("In the filter admin access scopes type in "),t("code",[e._v("Orders")])]),e._v(" "),t("li",[e._v("In "),t("code",[e._v("Orders")]),e._v(" enable "),t("code",[e._v("read_orders")]),e._v(" and "),t("code",[e._v("write_orders")]),e._v(" and then click "),t("code",[e._v("Save")])]),e._v(" "),t("li",[e._v("Click on the "),t("code",[e._v("Install App")]),e._v(" in the top right corner and when pop-up window appears click "),t("code",[e._v("Install")])]),e._v(" "),t("li",[e._v("Reveal "),t("code",[e._v("Admin API access token")]),e._v(" and "),t("code",[e._v("copy")]),e._v(" it.")]),e._v(" "),t("li",[e._v("In your BTCPay Server, go to "),t("code",[e._v("Store > Settings > Integrations > Shopify")]),e._v(". and click "),t("code",[e._v("Setup")]),e._v(" button.")]),e._v(" "),t("li",[e._v("In second field, "),t("code",[e._v("API Secret Key")]),e._v(" the paste the "),t("code",[e._v("Admin API access token")])]),e._v(" "),t("li",[e._v("In the first field, "),t("code",[e._v("API key")]),e._v(" paste the "),t("code",[e._v("API key")]),e._v(" from Shopify.")]),e._v(" "),t("li",[e._v("In Shopify's "),t("code",[e._v("Store Settings > Checkout > Order status page > Additional Scripts")]),e._v(" paste the script provided by BTCPay Server on Shopify Integration page (including the opening and closing tag "),t("code",[e._v("<\/script>")]),e._v(".")]),e._v(" "),t("li",[e._v("In Shopify's "),t("code",[e._v("Store Settings > Payments > Manual payment methods")]),e._v(" add "),t("code",[e._v("manual payment method")]),e._v(" then click "),t("code",[e._v("create custom payment method")])]),e._v(" "),t("li",[e._v("In "),t("code",[e._v("Custom payment method name")]),e._v(" fill in "),t("code",[e._v("Bitcoin with BTCPay Server")]),e._v(", optionally you can fill in other fields, but it's not required. Note that the name should exactly "),t("code",[e._v("Bitcoin with BTCPay Server")])]),e._v(" "),t("li",[e._v("Hit "),t("code",[e._v("Activate")]),e._v(" and you've set up Shopify and BTCPay Server successfully.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Custom Payment method name "),t("strong",[e._v("must")]),e._v(" contain at least one of the following words: "),t("code",[e._v("bitcoin")]),e._v(", "),t("code",[e._v("btcpayserver")]),e._v(", "),t("code",[e._v("btcpay server")]),e._v(" or "),t("code",[e._v("btc")]),e._v(" to work.")])]),e._v(" "),t("p",[e._v("Below are step by step visuals describing the process outlined above.")]),e._v(" "),t("figure",[t("img",{attrs:{src:s(511),alt:"BTCPay Server shopify step 1",title:"BTCPay Server shopify step 1"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(512),alt:"BTCPay Server shopify step 2",title:"BTCPay Server shopify step 2"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(513),alt:"BTCPay Server shopify step 3",title:"BTCPay Server shopify step 3"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(514),alt:"BTCPay Server shopify step 4",title:"BTCPay Server shopify step 4"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(515),alt:"BTCPay Server shopify step 5",title:"BTCPay Server shopify step 5"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(516),alt:"BTCPay Server shopify step 6",title:"BTCPay Server shopify step 6"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(517),alt:"BTCPay Server shopify step 7",title:"BTCPay Server shopify step 7"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(518),alt:"BTCPay Server shopify step 8",title:"BTCPay Server shopify step 8"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(519),alt:"BTCPay Server shopify step 9",title:"BTCPay Server shopify step 9"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(520),alt:"BTCPay Server shopify step 10",title:"BTCPay Server shopify step 10"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(521),alt:"BTCPay Server shopify step 11",title:"BTCPay Server shopify step 11"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(522),alt:"BTCPay Server shopify step 12",title:"BTCPay Server shopify step 12"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(523),alt:"BTCPay Server shopify step 13",title:"BTCPay Server shopify step 13"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(524),alt:"BTCPay Server shopify step 14",title:"BTCPay Server shopify step 14"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(525),alt:"BTCPay Server shopify step 15",title:"BTCPay Server shopify step 15"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(526),alt:"BTCPay Server shopify step 16",title:"BTCPay Server shopify step 16"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(527),alt:"BTCPay Server shopify step 17",title:"BTCPay Server shopify step 17"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(528),alt:"BTCPay Server shopify step 18",title:"BTCPay Server shopify step 18"}})])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{511:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify1.a961b161.png"},512:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify2.aea0b1ac.png"},513:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify3.14ff79a8.png"},514:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify4.4f0a10ba.png"},515:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify5.9c789888.png"},516:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify6.b3df5c96.png"},517:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify7.74cbdef7.png"},518:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify8.03fc6a31.png"},519:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify9.c5dd42ec.png"},520:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify10.d1cd1d3e.png"},521:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify11.7825329b.jpg"},522:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify12.1c03a412.jpg"},523:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify13.d0551bae.png"},524:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify14.eb96845f.png"},525:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify15.dac5277c.png"},526:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify16.dca8f695.png"},527:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify17.fa8dddec.png"},528:function(e,t,s){e.exports=s.p+"assets/img/btcpayshopify18.e47c78da.png"},781:function(e,t,s){"use strict";s.r(t);var i=s(9),r=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"how-to-accept-bitcoin-in-shopify"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-accept-bitcoin-in-shopify"}},[e._v("#")]),e._v(" How to accept Bitcoin in Shopify")]),e._v(" "),t("p",[e._v("The following document guides you through "),t("strong",[e._v("setting up BTCPay Server with "),t("a",{attrs:{href:"https://www.shopify.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Shopify"),t("OutboundLink")],1)]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites:")]),e._v(" "),t("ul",[t("li",[e._v("Shopify account")]),e._v(" "),t("li",[e._v("BTCPay Server] - "),t("RouterLink",{attrs:{to:"/Deployment/"}},[e._v("self-hosted")]),e._v(" or run by a "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("third-party host")]),e._v(" v1.4.8 or later.")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/CreateStore/"}},[e._v("Created BTCPay Server store")]),e._v(" with "),t("RouterLink",{attrs:{to:"/WalletSetup/"}},[e._v("wallet set up")])],1)]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/jJjAyvgWVfk/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=jJjAyvgWVfk",title:"BTCPay Server - Shopify Video","data-id":"jJjAyvgWVfk"}},[t("iframe",{attrs:{title:"BTCPay Server - Shopify Video","data-src":"https://www.youtube-nocookie.com/embed/jJjAyvgWVfk?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Shopify might give false flags on deprecated API calls. The most likely answer we could find, due to a change by Shopify to specific fields of the "),t("code",[e._v("Order")]),e._v(" resource and is assumed to get used in BTCPay Server. Find more details "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver/issues/4510",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"setting-up-btcpay-server-with-shopify"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setting-up-btcpay-server-with-shopify"}},[e._v("#")]),e._v(" Setting up BTCPay Server with Shopify")]),e._v(" "),t("ol",[t("li",[e._v("In Shopify, go to Apps > and at the bottom of the page click on the "),t("code",[e._v("Develop apps for your store")]),e._v(".")]),e._v(" "),t("li",[e._v("If prompted, click on "),t("code",[e._v("Allow custom app development")])]),e._v(" "),t("li",[t("code",[e._v("Create an app")]),e._v(" and name it")]),e._v(" "),t("li",[e._v("On the app page, in "),t("code",[e._v("Overview")]),e._v(" tab, click on the "),t("code",[e._v("Configure Admin API scopes")])]),e._v(" "),t("li",[e._v("In the filter admin access scopes type in "),t("code",[e._v("Orders")])]),e._v(" "),t("li",[e._v("In "),t("code",[e._v("Orders")]),e._v(" enable "),t("code",[e._v("read_orders")]),e._v(" and "),t("code",[e._v("write_orders")]),e._v(" and then click "),t("code",[e._v("Save")])]),e._v(" "),t("li",[e._v("Click on the "),t("code",[e._v("Install App")]),e._v(" in the top right corner and when pop-up window appears click "),t("code",[e._v("Install")])]),e._v(" "),t("li",[e._v("Reveal "),t("code",[e._v("Admin API access token")]),e._v(" and "),t("code",[e._v("copy")]),e._v(" it.")]),e._v(" "),t("li",[e._v("In your BTCPay Server, go to "),t("code",[e._v("Store > Settings > Integrations > Shopify")]),e._v(". and click "),t("code",[e._v("Setup")]),e._v(" button.")]),e._v(" "),t("li",[e._v("In second field, "),t("code",[e._v("API Secret Key")]),e._v(" the paste the "),t("code",[e._v("Admin API access token")])]),e._v(" "),t("li",[e._v("In the first field, "),t("code",[e._v("API key")]),e._v(" paste the "),t("code",[e._v("API key")]),e._v(" from Shopify.")]),e._v(" "),t("li",[e._v("In Shopify's "),t("code",[e._v("Store Settings > Checkout > Order status page > Additional Scripts")]),e._v(" paste the script provided by BTCPay Server on Shopify Integration page (including the opening and closing tag "),t("code",[e._v("<\/script>")]),e._v(".")]),e._v(" "),t("li",[e._v("In Shopify's "),t("code",[e._v("Store Settings > Payments > Manual payment methods")]),e._v(" add "),t("code",[e._v("manual payment method")]),e._v(" then click "),t("code",[e._v("create custom payment method")])]),e._v(" "),t("li",[e._v("In "),t("code",[e._v("Custom payment method name")]),e._v(" fill in "),t("code",[e._v("Bitcoin with BTCPay Server")]),e._v(", optionally you can fill in other fields, but it's not required. Note that the name should exactly "),t("code",[e._v("Bitcoin with BTCPay Server")])]),e._v(" "),t("li",[e._v("Hit "),t("code",[e._v("Activate")]),e._v(" and you've set up Shopify and BTCPay Server successfully.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Custom Payment method name "),t("strong",[e._v("must")]),e._v(" contain at least one of the following words: "),t("code",[e._v("bitcoin")]),e._v(", "),t("code",[e._v("btcpayserver")]),e._v(", "),t("code",[e._v("btcpay server")]),e._v(" or "),t("code",[e._v("btc")]),e._v(" to work.")])]),e._v(" "),t("p",[e._v("Below are step by step visuals describing the process outlined above.")]),e._v(" "),t("figure",[t("img",{attrs:{src:s(511),alt:"BTCPay Server shopify step 1",title:"BTCPay Server shopify step 1"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(512),alt:"BTCPay Server shopify step 2",title:"BTCPay Server shopify step 2"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(513),alt:"BTCPay Server shopify step 3",title:"BTCPay Server shopify step 3"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(514),alt:"BTCPay Server shopify step 4",title:"BTCPay Server shopify step 4"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(515),alt:"BTCPay Server shopify step 5",title:"BTCPay Server shopify step 5"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(516),alt:"BTCPay Server shopify step 6",title:"BTCPay Server shopify step 6"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(517),alt:"BTCPay Server shopify step 7",title:"BTCPay Server shopify step 7"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(518),alt:"BTCPay Server shopify step 8",title:"BTCPay Server shopify step 8"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(519),alt:"BTCPay Server shopify step 9",title:"BTCPay Server shopify step 9"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(520),alt:"BTCPay Server shopify step 10",title:"BTCPay Server shopify step 10"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(521),alt:"BTCPay Server shopify step 11",title:"BTCPay Server shopify step 11"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(522),alt:"BTCPay Server shopify step 12",title:"BTCPay Server shopify step 12"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(523),alt:"BTCPay Server shopify step 13",title:"BTCPay Server shopify step 13"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(524),alt:"BTCPay Server shopify step 14",title:"BTCPay Server shopify step 14"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(525),alt:"BTCPay Server shopify step 15",title:"BTCPay Server shopify step 15"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(526),alt:"BTCPay Server shopify step 16",title:"BTCPay Server shopify step 16"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(527),alt:"BTCPay Server shopify step 17",title:"BTCPay Server shopify step 17"}})]),e._v(" "),t("figure",[t("img",{attrs:{src:s(528),alt:"BTCPay Server shopify step 18",title:"BTCPay Server shopify step 18"}})])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/53.e12604eb.js b/assets/js/53.1746666e.js similarity index 99% rename from assets/js/53.e12604eb.js rename to assets/js/53.1746666e.js index 94dc35b6af..15bf7675d3 100644 --- a/assets/js/53.e12604eb.js +++ b/assets/js/53.1746666e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{637:function(e,t,o){e.exports=o.p+"assets/img/zap-sample1.986ba1de.png"},638:function(e,t,o){e.exports=o.p+"assets/img/ExampleApiPermissions.ca8b30c0.jpeg"},803:function(e,t,o){"use strict";o.r(t);var a=o(9),r=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"easy-automation-for-btcpay-server-using-zapiercom-no-programming-skills-required"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#easy-automation-for-btcpay-server-using-zapiercom-no-programming-skills-required"}},[e._v("#")]),e._v(" Easy Automation for BTCPay Server using Zapier.com - No Programming Skills Required")]),e._v(" "),t("p",[e._v("BTCPay Server can be automated in an unlimited number of ways by using it in a "),t("a",{attrs:{href:"https://zapier.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("Zapier"),t("OutboundLink")],1),e._v(" workflow.\nZapier is a simple tool for non-technical people to set up automations, simply by connecting blocks.")]),e._v(" "),t("h2",{attrs:{id:"free-to-use"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#free-to-use"}},[e._v("#")]),e._v(" Free to Use")]),e._v(" "),t("p",[e._v('The BTCPay Server Zapier integration is free to use, but you do need a Zapier.com account.\nA free account lets you process 100 actions a month and have 3 workflows called "Zaps".')]),e._v(" "),t("h2",{attrs:{id:"what-does-it-do"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-does-it-do"}},[e._v("#")]),e._v(" What does it do?")]),e._v(" "),t("p",[e._v("The BTCPay Server integration on Zapier defines a number of triggers that can be used to tell other applications what to do. You can chain multiple actions and create an entire workflow.\nBesides triggers, there is also a list of actions to make BTCPay Server do something you want. This can be creating an invoice, for example. In this case the trigger can be something happening on BTCPay Server or in another app or because you received an email.")]),e._v(" "),t("p",[e._v("A simple automation looks like this:\n"),t("img",{attrs:{src:o(637),alt:"Sample Workflow in Zapier",title:"Sample Workflow in Zapier"}})]),e._v(" "),t("h2",{attrs:{id:"who-is-it-for"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#who-is-it-for"}},[e._v("#")]),e._v(" Who is it for?")]),e._v(" "),t("p",[e._v("Zapier is an easy way for non-technical people to automate their workflow. It is also highly flexible and allows you to experiment.")]),e._v(" "),t("p",[e._v("If you are expecting heavy loads however, hiring a developer and building your own custom integration may be cheaper in the long run.")]),e._v(" "),t("h2",{attrs:{id:"some-examples"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#some-examples"}},[e._v("#")]),e._v(" Some Examples")]),e._v(" "),t("ul",[t("li",[e._v('When an invoice is paid in BTCPay Server, automatically send a "Thank You" email.')]),e._v(" "),t("li",[e._v("When an invoice is settled, create a payment in your accounting software.")]),e._v(" "),t("li",[e._v("When an invoice is paid in BTCPay Server, wait 7 days and then automatically send an email to ask your customer to write a review for your store.")]),e._v(" "),t("li",[e._v("At the end of the day, automatically move 75% of your funds from a hot wallet to you cold wallet.")]),e._v(" "),t("li",[e._v("When an invoice expires, notify your sales team by sending a message in Slack.")]),e._v(" "),t("li",[e._v("Automatically add customer email addresses to your Mailchimp account or other newsletter system.")]),e._v(" "),t("li",[e._v("Automatically create a new payment request when a row is inserted in a Google Spreadsheet + send the payment link to your customer via email.")])]),e._v(" "),t("h2",{attrs:{id:"getting-started"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[e._v("#")]),e._v(" Getting Started")]),e._v(" "),t("p",[e._v("Head over to the "),t("a",{attrs:{href:"https://zapier.com/apps/btcpay-server/integrations",target:"_blank",rel:"noopener noreferrer"}},[e._v("integrations documentation"),t("OutboundLink")],1),e._v(" to get started. You will see some examples here + a list of all triggers and actions we support.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/RylpDWt30uc/hqdefault.jpg)"},attrs:{href:"https://youtu.be/RylpDWt30uc",title:"BTCPay Server - Zapier","data-id":"RylpDWt30uc"}},[t("iframe",{attrs:{title:"BTCPay Server - Zapier","data-src":"https://www.youtube-nocookie.com/embed/RylpDWt30uc?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("ul",[t("li",[e._v("An account at Zapier.com (free or paid)")]),e._v(" "),t("li",[e._v("A BTCPay Server instance where you have 1 or more stores")]),e._v(" "),t("li",[e._v("An API key that has access to the store and resources you want to automate (BEWARE: Never grant more permissions than is absolutely needed!). See below which permissions you should pick for your API key.")])]),e._v(" "),t("h2",{attrs:{id:"security-considerations"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#security-considerations"}},[e._v("#")]),e._v(" Security Considerations")]),e._v(" "),t("p",[e._v("With great power comes great responsibility. So when you automate your BTCPay Server, you should consider the things that could go wrong or get abused if someone were to get hold of your API Key.\nBecause you will be providing Zapier with your API key, we strongly encourage you to create an API key with as little permissions as possible.\nIf you are only going to automate a single store, make sure the API key only has access to the resources for that specific store.\nBTCPay Server allows you to configure access per store, so use it.")]),e._v(" "),t("h2",{attrs:{id:"which-permissions-should-i-choose-for-my-api-key"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#which-permissions-should-i-choose-for-my-api-key"}},[e._v("#")]),e._v(" Which permissions should I choose for my API key?")]),e._v(" "),t("p",[e._v("Choosing permissions depends on what you are going to do with Zapier. This list helps you make some choices.")]),e._v(" "),t("p",[e._v("If you want to use "),t("strong",[e._v("triggers")]),e._v(", you will need to have the permission "),t("code",[e._v("btcpay.store.webhooks.canmodifywebhooks")]),e._v(". It is easy to overlook this one, but Zapier gets its triggers from a webhook, so that must be allowed.")]),e._v(" "),t("p",[e._v("For the various actions we have, you will need different permissions, like if you want to create or modify an invoice, you will need the "),t("code",[e._v("btcpay.store.cancreateinvoice")]),e._v(" and "),t("code",[e._v("btcpay.store.canmodifyinvoices")]),e._v(" permissions.")]),e._v(" "),t("p",[e._v("Viewing stores and invoices is also a good idea to add anyway, so those would be "),t("code",[e._v("btcpay.store.canviewinvoices")]),e._v(" and "),t("code",[e._v("btcpay.store.canviewstoresettings")]),e._v(".")]),e._v(" "),t("p",[e._v("A good place to start would be these permissions:\n"),t("img",{attrs:{src:o(638),alt:"Example API Permissions",title:"Example API Permissions"}})]),e._v(" "),t("h2",{attrs:{id:"how-does-it-work-technically"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work-technically"}},[e._v("#")]),e._v(" How does it work technically?")]),e._v(" "),t("ul",[t("li",[e._v("Every trigger registers its own webhook in the store it is for. There are no global webhooks in BTCPay Server, only ones per store.")]),e._v(" "),t("li",[e._v("The webhook only handles the single event it is created for.")]),e._v(" "),t("li",[e._v("When you enable the Zap, the webhook is automatically created in BTCPay Server and when you disable, the webhook is deleted.")]),e._v(" "),t("li",[e._v("Each webhook uses its own secret, randomly generated by BTCPay Server.")]),e._v(" "),t("li",[e._v("The webhook's request signature "),t("code",[e._v("BTCPay-Sig")]),e._v(" is used to verify the identity of the sender.")])]),e._v(" "),t("h2",{attrs:{id:"troubleshooting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting"}},[e._v("#")]),e._v(" Troubleshooting")]),e._v(" "),t("h3",{attrs:{id:"i-got-a-403-forbidden-error-what-happened"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-got-a-403-forbidden-error-what-happened"}},[e._v("#")]),e._v(" I got a 403 Forbidden error, what happened?")]),e._v(" "),t("p",[e._v("You are most likely using an API key that does not have the required permissions. If you are using any of the triggers in Zapier, always make sure you have the "),t("code",[e._v("btcpay.store.webhooks.canmodifywebhooks")]),e._v(" permission.")]),e._v(" "),t("h3",{attrs:{id:"i-deleted-the-webhook-from-my-btcpay-server-store-by-mistake"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-deleted-the-webhook-from-my-btcpay-server-store-by-mistake"}},[e._v("#")]),e._v(" I deleted the webhook from my BTCPay Server store by mistake.")]),e._v(" "),t("p",[e._v("No worries. Just turn your Zap off and on again and the webhook will automatically be recreated in BTCPay Server.")]),e._v(" "),t("h2",{attrs:{id:"source-code-issues-and-feature-requests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#source-code-issues-and-feature-requests"}},[e._v("#")]),e._v(" Source Code, Issues and Feature Requests")]),e._v(" "),t("p",[e._v("The Zapier integration source code is available on GitHub at the "),t("a",{attrs:{href:"https://github.com/btcpayserver/zapier",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Server Zapier repository"),t("OutboundLink")],1),e._v(".\nYou can also log issues here and ask for missing features.\nIssues can also be reported through Zapier as you encounter them.")]),e._v(" "),t("h2",{attrs:{id:"credits-and-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#credits-and-support"}},[e._v("#")]),e._v(" Credits and Support")]),e._v(" "),t("p",[e._v("The BTCPay Server Zapier integration was developed by "),t("a",{attrs:{href:"https://www.storefront.be/en/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Storefront.be"),t("OutboundLink")],1),e._v(" in their ongoing effort to support this community.")]),e._v(" "),t("p",[e._v("If you are looking to hire professional support or could use a developer for a custom integration, feel free to reach out at "),t("a",{attrs:{href:"https://www.storefront.be/en/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Storefront.be"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("This repository contains the Zapier integration for BTCPay Server.\nThe Zapier integration allows you to use triggers from BTCPay Server (like when a new invoice was created, paid or expired) to trigger actions in other systems, like send an email, post a chat message, etc.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{637:function(e,t,o){e.exports=o.p+"assets/img/zap-sample1.986ba1de.png"},638:function(e,t,o){e.exports=o.p+"assets/img/ExampleApiPermissions.ca8b30c0.jpeg"},802:function(e,t,o){"use strict";o.r(t);var a=o(9),r=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"easy-automation-for-btcpay-server-using-zapiercom-no-programming-skills-required"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#easy-automation-for-btcpay-server-using-zapiercom-no-programming-skills-required"}},[e._v("#")]),e._v(" Easy Automation for BTCPay Server using Zapier.com - No Programming Skills Required")]),e._v(" "),t("p",[e._v("BTCPay Server can be automated in an unlimited number of ways by using it in a "),t("a",{attrs:{href:"https://zapier.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("Zapier"),t("OutboundLink")],1),e._v(" workflow.\nZapier is a simple tool for non-technical people to set up automations, simply by connecting blocks.")]),e._v(" "),t("h2",{attrs:{id:"free-to-use"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#free-to-use"}},[e._v("#")]),e._v(" Free to Use")]),e._v(" "),t("p",[e._v('The BTCPay Server Zapier integration is free to use, but you do need a Zapier.com account.\nA free account lets you process 100 actions a month and have 3 workflows called "Zaps".')]),e._v(" "),t("h2",{attrs:{id:"what-does-it-do"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-does-it-do"}},[e._v("#")]),e._v(" What does it do?")]),e._v(" "),t("p",[e._v("The BTCPay Server integration on Zapier defines a number of triggers that can be used to tell other applications what to do. You can chain multiple actions and create an entire workflow.\nBesides triggers, there is also a list of actions to make BTCPay Server do something you want. This can be creating an invoice, for example. In this case the trigger can be something happening on BTCPay Server or in another app or because you received an email.")]),e._v(" "),t("p",[e._v("A simple automation looks like this:\n"),t("img",{attrs:{src:o(637),alt:"Sample Workflow in Zapier",title:"Sample Workflow in Zapier"}})]),e._v(" "),t("h2",{attrs:{id:"who-is-it-for"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#who-is-it-for"}},[e._v("#")]),e._v(" Who is it for?")]),e._v(" "),t("p",[e._v("Zapier is an easy way for non-technical people to automate their workflow. It is also highly flexible and allows you to experiment.")]),e._v(" "),t("p",[e._v("If you are expecting heavy loads however, hiring a developer and building your own custom integration may be cheaper in the long run.")]),e._v(" "),t("h2",{attrs:{id:"some-examples"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#some-examples"}},[e._v("#")]),e._v(" Some Examples")]),e._v(" "),t("ul",[t("li",[e._v('When an invoice is paid in BTCPay Server, automatically send a "Thank You" email.')]),e._v(" "),t("li",[e._v("When an invoice is settled, create a payment in your accounting software.")]),e._v(" "),t("li",[e._v("When an invoice is paid in BTCPay Server, wait 7 days and then automatically send an email to ask your customer to write a review for your store.")]),e._v(" "),t("li",[e._v("At the end of the day, automatically move 75% of your funds from a hot wallet to you cold wallet.")]),e._v(" "),t("li",[e._v("When an invoice expires, notify your sales team by sending a message in Slack.")]),e._v(" "),t("li",[e._v("Automatically add customer email addresses to your Mailchimp account or other newsletter system.")]),e._v(" "),t("li",[e._v("Automatically create a new payment request when a row is inserted in a Google Spreadsheet + send the payment link to your customer via email.")])]),e._v(" "),t("h2",{attrs:{id:"getting-started"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[e._v("#")]),e._v(" Getting Started")]),e._v(" "),t("p",[e._v("Head over to the "),t("a",{attrs:{href:"https://zapier.com/apps/btcpay-server/integrations",target:"_blank",rel:"noopener noreferrer"}},[e._v("integrations documentation"),t("OutboundLink")],1),e._v(" to get started. You will see some examples here + a list of all triggers and actions we support.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/RylpDWt30uc/hqdefault.jpg)"},attrs:{href:"https://youtu.be/RylpDWt30uc",title:"BTCPay Server - Zapier","data-id":"RylpDWt30uc"}},[t("iframe",{attrs:{title:"BTCPay Server - Zapier","data-src":"https://www.youtube-nocookie.com/embed/RylpDWt30uc?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("ul",[t("li",[e._v("An account at Zapier.com (free or paid)")]),e._v(" "),t("li",[e._v("A BTCPay Server instance where you have 1 or more stores")]),e._v(" "),t("li",[e._v("An API key that has access to the store and resources you want to automate (BEWARE: Never grant more permissions than is absolutely needed!). See below which permissions you should pick for your API key.")])]),e._v(" "),t("h2",{attrs:{id:"security-considerations"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#security-considerations"}},[e._v("#")]),e._v(" Security Considerations")]),e._v(" "),t("p",[e._v("With great power comes great responsibility. So when you automate your BTCPay Server, you should consider the things that could go wrong or get abused if someone were to get hold of your API Key.\nBecause you will be providing Zapier with your API key, we strongly encourage you to create an API key with as little permissions as possible.\nIf you are only going to automate a single store, make sure the API key only has access to the resources for that specific store.\nBTCPay Server allows you to configure access per store, so use it.")]),e._v(" "),t("h2",{attrs:{id:"which-permissions-should-i-choose-for-my-api-key"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#which-permissions-should-i-choose-for-my-api-key"}},[e._v("#")]),e._v(" Which permissions should I choose for my API key?")]),e._v(" "),t("p",[e._v("Choosing permissions depends on what you are going to do with Zapier. This list helps you make some choices.")]),e._v(" "),t("p",[e._v("If you want to use "),t("strong",[e._v("triggers")]),e._v(", you will need to have the permission "),t("code",[e._v("btcpay.store.webhooks.canmodifywebhooks")]),e._v(". It is easy to overlook this one, but Zapier gets its triggers from a webhook, so that must be allowed.")]),e._v(" "),t("p",[e._v("For the various actions we have, you will need different permissions, like if you want to create or modify an invoice, you will need the "),t("code",[e._v("btcpay.store.cancreateinvoice")]),e._v(" and "),t("code",[e._v("btcpay.store.canmodifyinvoices")]),e._v(" permissions.")]),e._v(" "),t("p",[e._v("Viewing stores and invoices is also a good idea to add anyway, so those would be "),t("code",[e._v("btcpay.store.canviewinvoices")]),e._v(" and "),t("code",[e._v("btcpay.store.canviewstoresettings")]),e._v(".")]),e._v(" "),t("p",[e._v("A good place to start would be these permissions:\n"),t("img",{attrs:{src:o(638),alt:"Example API Permissions",title:"Example API Permissions"}})]),e._v(" "),t("h2",{attrs:{id:"how-does-it-work-technically"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work-technically"}},[e._v("#")]),e._v(" How does it work technically?")]),e._v(" "),t("ul",[t("li",[e._v("Every trigger registers its own webhook in the store it is for. There are no global webhooks in BTCPay Server, only ones per store.")]),e._v(" "),t("li",[e._v("The webhook only handles the single event it is created for.")]),e._v(" "),t("li",[e._v("When you enable the Zap, the webhook is automatically created in BTCPay Server and when you disable, the webhook is deleted.")]),e._v(" "),t("li",[e._v("Each webhook uses its own secret, randomly generated by BTCPay Server.")]),e._v(" "),t("li",[e._v("The webhook's request signature "),t("code",[e._v("BTCPay-Sig")]),e._v(" is used to verify the identity of the sender.")])]),e._v(" "),t("h2",{attrs:{id:"troubleshooting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting"}},[e._v("#")]),e._v(" Troubleshooting")]),e._v(" "),t("h3",{attrs:{id:"i-got-a-403-forbidden-error-what-happened"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-got-a-403-forbidden-error-what-happened"}},[e._v("#")]),e._v(" I got a 403 Forbidden error, what happened?")]),e._v(" "),t("p",[e._v("You are most likely using an API key that does not have the required permissions. If you are using any of the triggers in Zapier, always make sure you have the "),t("code",[e._v("btcpay.store.webhooks.canmodifywebhooks")]),e._v(" permission.")]),e._v(" "),t("h3",{attrs:{id:"i-deleted-the-webhook-from-my-btcpay-server-store-by-mistake"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-deleted-the-webhook-from-my-btcpay-server-store-by-mistake"}},[e._v("#")]),e._v(" I deleted the webhook from my BTCPay Server store by mistake.")]),e._v(" "),t("p",[e._v("No worries. Just turn your Zap off and on again and the webhook will automatically be recreated in BTCPay Server.")]),e._v(" "),t("h2",{attrs:{id:"source-code-issues-and-feature-requests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#source-code-issues-and-feature-requests"}},[e._v("#")]),e._v(" Source Code, Issues and Feature Requests")]),e._v(" "),t("p",[e._v("The Zapier integration source code is available on GitHub at the "),t("a",{attrs:{href:"https://github.com/btcpayserver/zapier",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Server Zapier repository"),t("OutboundLink")],1),e._v(".\nYou can also log issues here and ask for missing features.\nIssues can also be reported through Zapier as you encounter them.")]),e._v(" "),t("h2",{attrs:{id:"credits-and-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#credits-and-support"}},[e._v("#")]),e._v(" Credits and Support")]),e._v(" "),t("p",[e._v("The BTCPay Server Zapier integration was developed by "),t("a",{attrs:{href:"https://www.storefront.be/en/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Storefront.be"),t("OutboundLink")],1),e._v(" in their ongoing effort to support this community.")]),e._v(" "),t("p",[e._v("If you are looking to hire professional support or could use a developer for a custom integration, feel free to reach out at "),t("a",{attrs:{href:"https://www.storefront.be/en/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Storefront.be"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("This repository contains the Zapier integration for BTCPay Server.\nThe Zapier integration allows you to use triggers from BTCPay Server (like when a new invoice was created, paid or expired) to trigger actions in other systems, like send an email, post a chat message, etc.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/6.ec66ece3.js b/assets/js/6.29cc565d.js similarity index 99% rename from assets/js/6.ec66ece3.js rename to assets/js/6.29cc565d.js index b8672a5a70..c497541d0d 100644 --- a/assets/js/6.ec66ece3.js +++ b/assets/js/6.29cc565d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{619:function(e,t,o){e.exports=o.p+"assets/img/BTCPayInfographic.93db91b4.png"},620:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--01-plugin-search.d542b753.png"},621:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--02-activated-configure.3054c6da.png"},622:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--03-settings--api-key-redirect.dee3eb63.png"},623:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode1.30c2a467.jpg"},624:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--05-api-auth-select-store.8765a27a.png"},625:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--06-api-auth-authorize-button.7ba04186.png"},626:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--07-api-auth-after-redirect-prefilled.70d8472c.png"},627:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--08-api-auth-save-webhook-created.53d476f0.png"},628:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode2.6ceb841e.jpg"},629:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode3.967e4347.jpg"},630:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode4.4cb74b80.jpg"},631:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode5.a35ab95d.jpg"},632:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode6.fa94aa2e.jpg"},633:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--7-man-api--copy-store-id.6c1943ea.png"},634:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--15-man-api--btcpay-settings-fill.298e9de1.png"},635:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--15-man-api--btcpay-settings-save.1f329e19.png"},636:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--reqbin-403-test.62547f5f.png"},802:function(e,t,o){"use strict";o.r(t);var a=o(9),r=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"woocommerce-integration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#woocommerce-integration"}},[e._v("#")]),e._v(" WooCommerce integration")]),e._v(" "),t("p",[e._v("This document explains how to "),t("strong",[e._v("integrate BTCPay Server into your WooCommerce store")]),e._v(".\nIf you do not have a store yet, follow "),t("a",{attrs:{href:"https://web.archive.org/web/20221003083329/https://bitcoinshirt.co/how-to-create-store-accept-bitcoin/5/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this step by step article"),t("OutboundLink")],1),e._v(" to create one from scratch.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),t("p",[e._v("This guide refers to the BTCPay for WooCommerce V2 plugin. You can find instructions for the now unmaintained legacy plugin (based on BitPay API) "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver-doc/blob/cba96292ceea9483711ab53c479a98357383f857/docs/WooCommerce.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("p"),t("div",{staticClass:"table-of-contents"},[t("ul",[t("li",[t("a",{attrs:{href:"#requirements"}},[e._v("Requirements")])]),t("li",[t("a",{attrs:{href:"#1-install-btcpay-plugin"}},[e._v("1. Install BTCPay Plugin")]),t("ul",[t("li",[t("a",{attrs:{href:"#11-install-plugin-from-wordpress-admin-dashboard-recommended"}},[e._v("1.1 Install plugin from WordPress Admin Dashboard (recommended)")])]),t("li",[t("a",{attrs:{href:"#12-download-and-install-plugin-from-github"}},[e._v("1.2 Download and install plugin from GitHub")])])])]),t("li",[t("a",{attrs:{href:"#2-connecting-woocommerce-and-btcpay-server"}},[e._v("2. Connecting WooCommerce and BTCPay Server")]),t("ul",[t("li",[t("a",{attrs:{href:"#21-connect-using-the-api-key-wizard-recommended"}},[e._v("2.1 Connect using the API key wizard (recommended)")])]),t("li",[t("a",{attrs:{href:"#22-connect-by-manually-creating-the-api-key-and-permissions"}},[e._v("2.2 Connect by manually creating the API key and permissions")])])])]),t("li",[t("a",{attrs:{href:"#3-testing-the-checkout"}},[e._v("3. Testing the checkout")])]),t("li",[t("a",{attrs:{href:"#4-customizing-btcpay-woocommerce-v2"}},[e._v("4. Customizing BTCPay WooCommerce V2")]),t("ul",[t("li",[t("a",{attrs:{href:"#41-global-settings"}},[e._v("4.1 Global Settings")])]),t("li",[t("a",{attrs:{href:"#42-payment-gateway-specific"}},[e._v("4.2 Payment Gateway specific")])])])]),t("li",[t("a",{attrs:{href:"#troubleshooting"}},[e._v("Troubleshooting")]),t("ul",[t("li",[t("a",{attrs:{href:"#error-call-to-undefined-function-btcpayserver-http-curl-init"}},[e._v("Error: Call to undefined function BTCPayServer\\Http\\curl_init()")])]),t("li",[t("a",{attrs:{href:"#the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[e._v("The order states do not update although the invoice has been paid")])]),t("li",[t("a",{attrs:{href:"#i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"}},[e._v("I get an error during checkout but not sure what the problem is.")])]),t("li",[t("a",{attrs:{href:"#i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[e._v("I have troubles with using the plugin or some other related questions")])]),t("li",[t("a",{attrs:{href:"#create-a-new-api-key"}},[e._v("Create a new API key")])]),t("li",[t("a",{attrs:{href:"#i-messed-around-with-the-webhook-how-to-fix"}},[e._v("I messed around with the webhook, how to fix")])])])]),t("li",[t("a",{attrs:{href:"#deploying-woocommerce-from-btcpay-server"}},[e._v("Deploying WooCommerce from BTCPay Server")])])])]),t("p"),e._v(" "),t("figure",[t("img",{attrs:{src:o(619),alt:"BTCPay - WooCommerce Infographic",title:"BTCPay - WooCommerce Infographic"}})]),e._v(" "),t("p",[e._v("To integrate BTCPay Server into an existing WooCommerce store, follow the steps below and/or watch this video:")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/ULcocDKZ1Mw/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=ULcocDKZ1Mw",title:"BTCPay - WooCommerce","data-id":"ULcocDKZ1Mw"}},[t("iframe",{attrs:{title:"BTCPay - WooCommerce","data-src":"https://www.youtube-nocookie.com/embed/ULcocDKZ1Mw?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("p",[e._v("Please ensure that you meet the following requirements before installing this plugin.")]),e._v(" "),t("ul",[t("li",[e._v("PHP version 7.4 or newer")]),e._v(" "),t("li",[e._v("The cURL, gd, intl, json, and mbstring PHP extensions are available")]),e._v(" "),t("li",[e._v("A WooCommerce website ("),t("a",{attrs:{href:"https://woocommerce.com/document/installing-uninstalling-woocommerce/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Installation instructions"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"#deploying-woocommerce-from-btcpay-server"}},[e._v("directly on BTCPay Server")]),e._v(")")]),e._v(" "),t("li",[e._v("You have a BTCPay Server version 1.3.0 or later, either "),t("RouterLink",{attrs:{to:"/Deployment/"}},[e._v("self-hosted")]),e._v(" or "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("hosted by a third-party")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/RegisterAccount/"}},[e._v("You've a registered account on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/CreateStore/"}},[e._v("You've a BTCPay store on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/WalletSetup/"}},[e._v("You've a wallet connected to your store")])],1)]),e._v(" "),t("h2",{attrs:{id:"1-install-btcpay-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1-install-btcpay-plugin"}},[e._v("#")]),e._v(" 1. Install BTCPay Plugin")]),e._v(" "),t("p",[e._v("There are three ways to "),t("strong",[e._v("download BTCPay for WooCommerce V2 plugin")]),e._v(":")]),e._v(" "),t("ul",[t("li",[e._v("From within WordPress via the Admin Dashboard (recommended, see below)")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://wordpress.org/plugins/btcpay-greenfield-for-woocommerce/",target:"_blank",rel:"noopener noreferrer"}},[e._v("WordPress Repository"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/woocommerce-greenfield-plugin/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Repository"),t("OutboundLink")],1)])]),e._v(" "),t("h3",{attrs:{id:"11-install-plugin-from-wordpress-admin-dashboard-recommended"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#11-install-plugin-from-wordpress-admin-dashboard-recommended"}},[e._v("#")]),e._v(" 1.1 Install plugin from WordPress Admin Dashboard (recommended)")]),e._v(" "),t("ol",[t("li",[e._v("WordPress > Plugins > Add New.")]),e._v(" "),t("li",[e._v('In Search, type "BTCPay V2".')]),e._v(" "),t("li",[e._v("Install and activate.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(620),alt:"BTCPay WordPress V2: Plugin installation",title:"BTCPay WordPress V2: Plugin installation"}})]),e._v(" "),t("h3",{attrs:{id:"12-download-and-install-plugin-from-github"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#12-download-and-install-plugin-from-github"}},[e._v("#")]),e._v(" 1.2 Download and install plugin from GitHub")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/btcpayserver/woocommerce-greenfield-plugin/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("Download the latest BTCPay plugin"),t("OutboundLink")],1),e._v(", upload it in .zip format to your WordPress site and activate it.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/6QcTWHRKZag/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=6QcTWHRKZag",title:"BTCPay Server Woo Plugin","data-id":"6QcTWHRKZag"}},[t("iframe",{attrs:{title:"BTCPay Server Woo Plugin","data-src":"https://www.youtube-nocookie.com/embed/6QcTWHRKZag?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"2-connecting-woocommerce-and-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#2-connecting-woocommerce-and-btcpay-server"}},[e._v("#")]),e._v(" 2. Connecting WooCommerce and BTCPay Server")]),e._v(" "),t("p",[e._v("BTCPay for WooCommerce V2 plugin is a "),t("strong",[e._v("bridge between your BTCPay Server (payment processor) and your e-commerce store")]),e._v(".\nNo matter if you're using a self-hosted or third-party solution, the connection process is identical.")]),e._v(" "),t("p",[e._v('You can either click on the notifications link saying "'),t("strong",[e._v("please configure the plugin here")]),e._v('" (see screenshot below), or:')]),e._v(" "),t("ul",[t("li",[e._v("Go to your store dashboard.")]),e._v(" "),t("li",[e._v("WooCommerce > Settings.")]),e._v(" "),t("li",[e._v("Click [BTCPay Settings] tab.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(621),alt:"BTCPay WordPress V2: Link to BTCPay Settings",title:"BTCPay WordPress V2: Link to BTCPay Settings"}})]),e._v(" "),t("h3",{attrs:{id:"21-connect-using-the-api-key-wizard-recommended"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#21-connect-using-the-api-key-wizard-recommended"}},[e._v("#")]),e._v(" 2.1 Connect using the API key wizard (recommended)")]),e._v(" "),t("ol",[t("li",[t("p",[e._v('In the field "'),t("strong",[e._v("BTCPay Server URL")]),e._v('", enter the full URL of your host (including the https) – https://btcpay.mydomain.com')])]),e._v(" "),t("li",[t("p",[e._v('Click on the link below the "'),t("strong",[e._v("BTCPay Api Key")]),e._v('" field that says "*'),t("em",[e._v("click here to generate API keys")]),e._v('" (you will be redirected to BTCPay Server "Authorization request" page.\n'),t("img",{attrs:{src:o(622),alt:"BTCPay WordPress V2: Link to BTCPay Settings",title:"BTCPay WordPress V2: Link to BTCPay Settings"}})])]),e._v(" "),t("li",[t("p",[e._v("If you are not logged in to your BTCPay Server instance, do so now. (optional)\n"),t("img",{attrs:{src:o(623),alt:"BTCPay WordPress V2: Login to BTCPay Server",title:"BTCPay WordPress V2: Login to BTCPay Server"}})])]),e._v(" "),t("li",[t("p",[e._v("Select the store you want to connect to (if you only have one store it will get autoselected).\n"),t("img",{attrs:{src:o(624),alt:"BTCPay WordPress V2: Select store",title:"BTCPay WordPress V2: Select store"}})])]),e._v(" "),t("li",[t("p",[e._v("All required permissions are prefilled already, you just need to click [Authorize app]\n"),t("img",{attrs:{src:o(625),alt:"BTCPay WordPress V2: Click on authorize app",title:"BTCPay WordPress V2: Click on authorize app"}})])]),e._v(" "),t("li",[t("p",[e._v('You will get redirected back to your WooCommerce store and the API key and Store ID will be prefilled. Additionally, the webhook will have been created automatically for you. Check the "Webhook status" field to show "Webhook setup automatically." followed by an ID.\n'),t("img",{attrs:{src:o(626),alt:"BTCPay WordPress V2: Redirected back to plugin settings",title:"BTCPay WordPress V2: Redirected back to plugin settings"}})])]),e._v(" "),t("li",[t("p",[e._v("Before doing any further configuration click on "),t("strong",[e._v("[Save]")]),e._v(" to be sure all is set.\n"),t("img",{attrs:{src:o(627),alt:"BTCPay WordPress V2: Webhook created",title:"BTCPay WordPress V2: Webhook created"}})])])]),e._v(" "),t("p",[e._v('Congratulations, you are almost set. To make the Bitcoin payment gateway show up on your checkout. In the sidebar go to "WooCommerce" -> "Settings", click on the "Payments" tab and enable the "BTCPay (default)" payment gateway.')]),e._v(" "),t("p",[e._v('Continue with "3. Testing the checkout" below to make sure all works as expected.')]),e._v(" "),t("h3",{attrs:{id:"22-connect-by-manually-creating-the-api-key-and-permissions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#22-connect-by-manually-creating-the-api-key-and-permissions"}},[e._v("#")]),e._v(" 2.2 Connect by manually creating the API key and permissions")]),e._v(" "),t("p",[e._v("If you can't use the wizard mentioned in the previous section you can also generate the API key manually.")]),e._v(" "),t("ol",[t("li",[e._v("Click on "),t("em",[e._v("[Account]")]),e._v(" -> "),t("em",[e._v("Manage Account")]),e._v(" on the bottom left\n"),t("img",{attrs:{src:o(628),alt:"BTCPay WordPress V2: Manage Account",title:"BTCPay WordPress V2: Manage Account"}})]),e._v(" "),t("li",[e._v("Go to the tab "),t("em",[e._v('"API Keys"')])]),e._v(" "),t("li",[e._v("Click "),t("em",[e._v("[Generate Key]")]),e._v(" to select permissions.\n"),t("img",{attrs:{src:o(629),alt:"BTCPay WordPress V2: API Keys overview",title:"BTCPay WordPress V2: API Keys overview"}})]),e._v(" "),t("li",[e._v("Click on the "),t("em",[e._v('"Select specific stores"')]),e._v(" link for the following permissions: "),t("code",[e._v("View invoices")]),e._v(", "),t("code",[e._v("Create invoice")]),e._v(", "),t("code",[e._v("Modify invoices")]),e._v(", "),t("code",[e._v("Modify stores webhooks")]),e._v(", "),t("code",[e._v("View your stores")]),e._v(", "),t("code",[e._v("Create non-approved pull payments")]),e._v(" (used for refunds)\n"),t("img",{attrs:{src:o(630),alt:"BTCPay WordPress V2: API Keys Permissions",title:"BTCPay WordPress V2: API Keys Permissions"}})]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Generate API Key]")]),e._v(" "),t("img",{attrs:{src:o(631),alt:"BTCPay WordPress V2: API Keys Save",title:"BTCPay WordPress V2: API Keys Save"}})]),e._v(" "),t("li",[e._v("Copy the generated API Key to your WordPress "),t("em",[e._v("BTCPay Settings")]),e._v(" form (Advanced settings)\n"),t("img",{attrs:{src:o(632),alt:"BTCPay WordPress V2: Copy API Key",title:"BTCPay WordPress V2: Copy API Key"}})]),e._v(" "),t("li",[e._v("Copy the store ID to your WordPress "),t("em",[e._v("BTCPay Settings")]),e._v(" form (Advanced settings)\n"),t("img",{attrs:{src:o(633),alt:"BTCPay WordPress V2: Copy Store ID",title:"BTCPay WordPress V2: Copy Store ID"}})]),e._v(" "),t("li",[e._v("On the BTCPay Settings form:")])]),e._v(" "),t("ul",[t("li",[e._v("Enter "),t("em",[e._v("BTCPay Server URL")]),e._v(" (URL of your BTCPay Server instance, where you just created the API key)")]),e._v(" "),t("li",[e._v('Click the "Advanced settings" checkbox to enter '),t("em",[e._v("BTCPay Server API Key")]),e._v(" and "),t("em",[e._v("Store ID")]),e._v(" (leave "),t("em",[e._v("Webhook secret")]),e._v(" empty)")]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Save]")]),e._v(" at the bottom of the page\n"),t("img",{attrs:{src:o(634),alt:"BTCPay WordPress V2: Save BTCPay Settings form",title:"BTCPay WordPress V2: Save BTCPay Settings form"}})])]),e._v(" "),t("ol",{attrs:{start:"9"}},[t("li",[e._v('Make sure you see the notification "'),t("em",[e._v("BTCPay Server: Successfully registered a new webhook on BTCPay Server")]),e._v('" and '),t("em",[e._v("Setup status")]),e._v(" and "),t("em",[e._v("Webhook status")]),e._v(" are green.\n"),t("img",{attrs:{src:o(635),alt:"BTCPay WordPress V2: Save BTCPay Settings form saved",title:"BTCPay WordPress V2: Save BTCPay Settings form saved"}})])]),e._v(" "),t("p",[e._v('Congratulations, you are almost set. To make the Bitcoin payment gateway show up on your checkout. In the sidebar go to "WooCommerce" -> "Settings", click on the "Payments" tab and enable the "BTCPay (default)" payment gateway.')]),e._v(" "),t("p",[e._v('Continue with "3. Testing the checkout" below to make sure all works as expected.')]),e._v(" "),t("h2",{attrs:{id:"3-testing-the-checkout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#3-testing-the-checkout"}},[e._v("#")]),e._v(" 3. Testing the checkout")]),e._v(" "),t("p",[e._v("Making a small test-purchase from your store will give you peace of mind.\nAlways make sure that everything is set up correctly before going live.\nThe final video guides you through the steps of setting a gap limit in your Electrum wallet and testing the checkout process.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/Fi3pYpzGmmo/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=Fi3pYpzGmmo",title:"BTCPay Server Checkout","data-id":"Fi3pYpzGmmo"}},[t("iframe",{attrs:{title:"BTCPay Server Checkout","data-src":"https://www.youtube-nocookie.com/embed/Fi3pYpzGmmo?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"4-customizing-btcpay-woocommerce-v2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#4-customizing-btcpay-woocommerce-v2"}},[e._v("#")]),e._v(" 4. Customizing BTCPay WooCommerce V2")]),e._v(" "),t("h3",{attrs:{id:"41-global-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#41-global-settings"}},[e._v("#")]),e._v(" 4.1 Global Settings")]),e._v(" "),t("p",[e._v("Can be found at "),t("em",[e._v("WooCommerce -> Settings -> Tab [BTCPay Settings]")])]),e._v(" "),t("p",[t("strong",[e._v("BTCPay Server URL")])]),e._v(" "),t("p",[e._v("URL to your BTCPay Server instance, including protocol e.g. "),t("code",[e._v("https://btcpay.yourdomain.com")]),e._v(".")]),e._v(" "),t("p",[t("strong",[e._v("BTCPay API Key")])]),e._v(" "),t("p",[e._v("Your API Key. (Was auto-generated in the steps before).")]),e._v(" "),t("p",[t("strong",[e._v("Store ID")])]),e._v(" "),t("p",[e._v("The store ID of your BTCPay Server store. Can be found on the store settings page.")]),e._v(" "),t("p",[t("strong",[e._v("Default Customer Message")])]),e._v(" "),t("p",[e._v('Here you can customize the customer message shown after selecting BTCPay payment gateway on checkout. This can be overwritten on the payment gateway settings for each gateway if you use the "Separate payment gateways" option.')]),e._v(" "),t("p",[t("strong",[e._v('Invoice pass to "Settled" state after')])]),e._v(" "),t("p",[e._v("Set after how many confirmations a payment is considered fully paid and settled. Defaults to what is configured on BTCPay store settings.")]),e._v(" "),t("p",[t("strong",[e._v("BTCPay Order Statuses")])]),e._v(" "),t("p",[e._v("Depending on your business model and store settings, you may want to configure your order statuses.\nYou can set BTCPay to trigger certain order status in WooCommerce automatically.")]),e._v(" "),t("ul",[t("li",[t("em",[e._v("New")]),e._v(" - order placed, not paid yet.")]),e._v(" "),t("li",[t("em",[e._v("Paid")]),e._v(" - order paid, not enough confirmations on the blockchain, yet.")]),e._v(" "),t("li",[t("em",[e._v("Settled")]),e._v(" - order paid, confirmed on the blockchain.")]),e._v(" "),t("li",[t("em",[e._v("Settled (paid over)")]),e._v(" - order paid, confirmed on the blockchain but paid over.")]),e._v(" "),t("li",[t("em",[e._v("Invalid")]),e._v(" - order paid, did not get a sufficient number of confirmations in a pre-defined time-frame set in BTCPay store settings, or manually marked invalid.")]),e._v(" "),t("li",[t("em",[e._v("Expired")]),e._v(" - invoice expired, order not paid.")]),e._v(" "),t("li",[t("em",[e._v("Expired with partial payment")]),e._v(" - invoice expired and paid partially")])]),e._v(" "),t("p",[e._v('Take time to think about how you wish to automate these statuses.\nIf you do not wish certain BTCPay status to trigger WooCommerce order status, you can leave it as default "- no mapping / defaults -".')]),e._v(" "),t("p",[e._v('Note: you should keep the "Settled" order status to "- no mapping / defaults-" if you sell digital and physical products. For digital products WooCommerce will automatically skip the "Processing" status and go directly to "Completed" for those orders only containing digital products.')]),e._v(" "),t("p",[e._v('Another example, if a merchant wants to send an email notifying the customer that the payment has been received, but the order will be processed upon confirmation, the merchant would have to set order status for "Paid" to "On hold". Then, the merchant would have to customize and trigger email for "On hold" status of the order in WooCommerce.')]),e._v(" "),t("p",[e._v("It takes some time to find a perfect formula, so users should test things out before going live.")]),e._v(" "),t("p",[t("strong",[e._v("Modal checkout")])]),e._v(" "),t("p",[e._v("Enable this option if you want the BTCPay Server invoice to be shown directly on the checkout page (and do not redirect customers to your BTCPay Server instance).")]),e._v(" "),t("p",[t("strong",[e._v("Separate Payment Gateways")])]),e._v(" "),t("p",[e._v("If this option is enabled the plugin will generate one separate payment gateway per supported payment method on BTCPay Server. E.g. if you have BTC, LightningNetwork and maybe Liquid Assets enabled on your BTCPay Server store, then you will have a separate gateway available for each. This allows many new use cases like discount per gateway or country based restrictions. More details "),t("RouterLink",{attrs:{to:"/FAQ/Integrations/#how-to-configure-additional-token-support"}},[e._v("here")]),e._v(".")],1),e._v(" "),t("p",[t("strong",[e._v("Send customer data to BTCPayServer")])]),e._v(" "),t("p",[e._v("By default "),t("em",[e._v("no")]),e._v(" customer data beside email is sent to BTCPay Server. If you want to send customer address data to BTCPay Server you can enable it here.")]),e._v(" "),t("p",[t("strong",[e._v("Debug Log")])]),e._v(" "),t("p",[e._v("This option is helpful in case you have a problem and need more information on what is going on. The logs can be then found under WooCommerce -> Status -> Log. Make sure you disable this again after debugging as it will fill up your filesystem with logs.")]),e._v(" "),t("h3",{attrs:{id:"42-payment-gateway-specific"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#42-payment-gateway-specific"}},[e._v("#")]),e._v(" 4.2 Payment Gateway specific")]),e._v(" "),t("p",[e._v('Depending on wheter you have above mentioned "Separate Payment Gateways" enabled you will have one or more Payment Gateways available to configure in the payment gateway settings via '),t("em",[e._v("WooCommerce -> Settings -> Tab [Payments]")])]),e._v(" "),t("p",[e._v("On all payment gateways you can set the following options:")]),e._v(" "),t("p",[t("strong",[e._v("Title")]),e._v('\nThe shown payment gateway text on the checkout page. Defaults to "BTCPay (Bitcoin, Lightning Network, ...)".')]),e._v(" "),t("p",[t("strong",[e._v("Customer Message")])]),e._v(" "),t("p",[e._v("Here you can customize message shown after selecting BTCPay payment gateway.")]),e._v(" "),t("p",[t("strong",[e._v("Gateway Icon")])]),e._v(" "),t("p",[e._v("Upload or select a custom icon to be shown next to the payment gateway during checkout. Defaults to BTCPay logo.")]),e._v(" "),t("h4",{attrs:{id:"421-btcpay-default"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#421-btcpay-default"}},[e._v("#")]),e._v(" 4.2.1 BTCPay (default)")]),e._v(" "),t("p",[e._v("Additional options only available for the default payment gateway:")]),e._v(" "),t("p",[t("strong",[e._v("Enforce payment tokens")])]),e._v(" "),t("p",[e._v('With "Separate Payment Gateways" feature enabled in BTCPay Settings you can use this option to enforce only payment tokens. This means that the created invoice will '),t("em",[e._v("only")]),e._v(' include tokens of type "payment" and '),t("em",[e._v("not any")]),e._v(' of type "promotion". See difference of token types '),t("RouterLink",{attrs:{to:"/FAQ/Integrations/#how-to-configure-additional-token-support#token-types"}},[e._v("here")])],1),e._v(" "),t("h4",{attrs:{id:"422-separate-payment-gateways"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#422-separate-payment-gateways"}},[e._v("#")]),e._v(" 4.2.2 Separate Payment Gateways")]),e._v(" "),t("p",[e._v("Additional options only available for the separate payment gateways (if that feature is enabled):")]),e._v(" "),t("p",[t("strong",[e._v("Token Type")])]),e._v(" "),t("p",[e._v('By default type "payment" is selected. But if you have Liquid Assets with your own issued asset/token (e.g. used as voucher) you can select "promotion" here. Those are processed differently than normal payment tokens. Details can be found '),t("RouterLink",{attrs:{to:"/FAQ/Integrations/#how-to-configure-additional-token-support#promotional-tokens-100-discount"}},[e._v("here")])],1),e._v(" "),t("h2",{attrs:{id:"troubleshooting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting"}},[e._v("#")]),e._v(" Troubleshooting")]),e._v(" "),t("h3",{attrs:{id:"error-call-to-undefined-function-btcpayserver-http-curl-init"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#error-call-to-undefined-function-btcpayserver-http-curl-init"}},[e._v("#")]),e._v(" Error: Call to undefined function BTCPayServer\\Http\\curl_init()")]),e._v(" "),t("p",[e._v("Please make sure your PHP version supports the cURL extension (as written in the requirements above). You can install it on Debian/Ubuntu by running the command "),t("code",[e._v("sudo apt install php-curl")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[e._v("#")]),e._v(" The order states do not update although the invoice has been paid")]),e._v(" "),t("p",[e._v("Please check first if the webhook is created under the BTCPay Server store settings. If there is no webhook created you can visit on your WooCommerce store BTCPay Settings tab under WooCommerce settings and hit the save button. This will create the webhook.")]),e._v(" "),t("p",[e._v('You may also check the details of your invoice if there were any errors on sending the webhook request. Some hosting providers, firewall setups or WordPress security plugins (like Wordfence) block POST requests to your WordPress site which lead to a http status of "403 Forbidden" or "503 Service Unavailable".')]),e._v(" "),t("p",[e._v("You can check and verify yourself if there is something blocking requests to your site in one of these two ways:")]),e._v(" "),t("p",[t("strong",[e._v("Check using a command line (Linux or MacOS):")]),e._v("\n(replace EXAMPLE.COM with your WordPress site URL)")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('curl -vX POST -H "Content-Type: application/json" \\\n -d \'{"data": "test"}\' https://EXAMPLE.COM/?wc-api=btcpaygf_default\n')])])]),t("p",[e._v('On the response, if you see that line "HTTP/1.1 500" or "HTTP/2 500" and the message "Webhook request validation failed" that means that your site is not blocking the request with a "403 Forbidden".')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('.... snip ....\n* We are completely uploaded and fine\n< HTTP/2 500\n< server: nginx\n< date: Sun, 05 Jun 2022 16:55:08 GMT\n< content-type: application/json; charset=UTF-8\n< x-powered-by: PHP/8.1.6\n< expires: Wed, 11 Jan 1984 05:00:00 GMT\n< cache-control: no-cache, must-revalidate, max-age=0\n<\n* Connection #0 to host example.com left intact\n{"code":"wp_die","message":"Webhook request validation failed.","data":{"status":500},"additional_errors":[]}\n')])])]),t("p",[e._v('On the other side, if you see that line "HTTP/1.1 403 Forbidden" or "HTTP/2 403" then something is blocking data sent to your WordPress site. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests.')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(".... snip ....\n* upload completely sent off: 16 out of 16 bytes\n< HTTP/1.1 403 Forbidden\n< access-control-allow-origin: *\n< Content-Type: application/json; charset=UTF-8\n< X-Cloud-Trace-Context: 4f07d5b2e5c2f05949d04421a8e2dd6a\n< Date: Thu, 17 Feb 2022 10:06:50 GMT\n< Server: Google Frontend\n< Content-Length: 26\n")])])]),t("p",[t("strong",[e._v("Check using an online service (if you do not have a command line available:")])]),e._v(" "),t("ul",[t("li",[e._v("Go to "),t("a",{attrs:{href:"https://reqbin.com/post-online",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://reqbin.com/post-online"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Enter your domain: "),t("code",[e._v("https://EXAMPLE.COM/?wc-api=btcpaygf_default")]),e._v("\n(replace EXAMPLE.COM with your WordPress site URL)")]),e._v(" "),t("li",[e._v('Make sure "POST" is selected')]),e._v(" "),t("li",[e._v("Click [Send]")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(636),alt:"BTCPay WordPress V2: Debug 403 error with reqbin.com",title:"BTCPay WordPress V2: Debug 403 error with reqbin.com"}})]),e._v(" "),t("p",[e._v('If you see "Status 403 (Forbidden)" then POST requests to your site are blocked for some reason. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests.')]),e._v(" "),t("h3",{attrs:{id:"i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"}},[e._v("#")]),e._v(" I get an error during checkout but not sure what the problem is.")]),e._v(" "),t("p",[e._v("In your BTCPay Settings in your admin dashboard: "),t("em",[e._v("WooCommerce -> Settings: Tab [BTCPay Settings]")]),e._v(" you can enable debug mode by setting the checkbox on that option.")]),e._v(" "),t("p",[e._v("You can now find more detailed Logs when you click the [View Logs] button or you go to "),t("em",[e._v("WooCommerce -> Status: Tab [Logs]")]),e._v(" and select the most recent btcpay logs.")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Warning")]),e._v(" "),t("p",[e._v("Please make sure that you disable the debugging mode again after you finished investigating, otherwise your site performance may be impacted and also write lots of logging data in your filesystem for no reason.")])]),e._v(" "),t("p",[e._v("Additionally you can also look into your webservers error logs if you find any error that is related to BTCPay plugin.")]),e._v(" "),t("h3",{attrs:{id:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[e._v("#")]),e._v(" I have troubles with using the plugin or some other related questions")]),e._v(" "),t("p",[e._v("Feel free to join our support channel over at "),t("a",{attrs:{href:"https://chat.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://chat.btcpayserver.org/"),t("OutboundLink")],1),e._v(" if you need help or have any further questions.")]),e._v(" "),t("h3",{attrs:{id:"create-a-new-api-key"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#create-a-new-api-key"}},[e._v("#")]),e._v(" Create a new API key")]),e._v(" "),t("p",[e._v("If you have been using the WooCommerce V2 plugin prior to version 2.0.0, your API key won't have the required permissions to issue refunds via pull-payments. If you want to use that feature, you can create a new API key (editing an API key is not currently supported). You can use the above described "),t("a",{attrs:{href:"#21-connect-using-the-api-key-wizard--recommended-"}},[e._v("2.1 Connect using API key wizard")]),e._v(" or the "),t("a",{attrs:{href:"#22-connect-by-manually-creating-the-api-key-and-permissions"}},[e._v("manual API key generation")]),e._v(". The configured webhook will continue to work, and no change is needed.")]),e._v(" "),t("h3",{attrs:{id:"i-messed-around-with-the-webhook-how-to-fix"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-messed-around-with-the-webhook-how-to-fix"}},[e._v("#")]),e._v(" I messed around with the webhook, how to fix")]),e._v(" "),t("p",[e._v("Suppose you accidentally changed the WooCommerce webhook, and it is not working anymore. In that case, you can quickly force a re-creation of it when you delete the API key on BTCPay Server and then go to the BTCPay Server Settings (on your WordPress site) and hit save again. You should see a message that the webhook was successfully created.")]),e._v(" "),t("h2",{attrs:{id:"deploying-woocommerce-from-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#deploying-woocommerce-from-btcpay-server"}},[e._v("#")]),e._v(" Deploying WooCommerce from BTCPay Server")]),e._v(" "),t("p",[e._v("If you already have BTCPay Server, you can very easily start WooCommerce from your existing environment.")]),e._v(" "),t("ol",[t("li",[t("p",[e._v("Point the external IP of the virtual machine where your BTCPay is hosted to your store domain, for example store.yourdomain.com.")])]),e._v(" "),t("li",[t("p",[e._v("Log into your BTCPay server as root.")])])]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n")])])]),t("ol",{attrs:{start:"3"}},[t("li",[e._v("Set up WooCommerce variables. You can add "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver-docker/blob/master/docker-compose-generator/docker-fragments/opt-add-woocommerce.yml",target:"_blank",rel:"noopener noreferrer"}},[e._v("optional variables"),t("OutboundLink")],1),e._v(" as well.")])]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("export")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),e._v(';opt-add-woocommerce"')]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("export")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("WOOCOMMERCE_HOST")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"yourstoredomain.com"')]),e._v("\n")])])]),t("ol",{attrs:{start:"4"}},[t("li",[e._v("Lastly, just run BTCPay Setup script which will add the set up variables.")])]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v(".")]),e._v(" ./btcpay-setup.sh -i\n")])])]),t("ol",{attrs:{start:"5"}},[t("li",[e._v("Go to your store's domain name, in our example that's store.yourdomain.com and follow the WordPress installation wizard.")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{619:function(e,t,o){e.exports=o.p+"assets/img/BTCPayInfographic.93db91b4.png"},620:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--01-plugin-search.d542b753.png"},621:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--02-activated-configure.3054c6da.png"},622:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--03-settings--api-key-redirect.dee3eb63.png"},623:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode1.30c2a467.jpg"},624:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--05-api-auth-select-store.8765a27a.png"},625:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--06-api-auth-authorize-button.7ba04186.png"},626:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--07-api-auth-after-redirect-prefilled.70d8472c.png"},627:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--08-api-auth-save-webhook-created.53d476f0.png"},628:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode2.6ceb841e.jpg"},629:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode3.967e4347.jpg"},630:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode4.4cb74b80.jpg"},631:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode5.a35ab95d.jpg"},632:function(e,t,o){e.exports=o.p+"assets/img/btcpayWooLmode6.fa94aa2e.jpg"},633:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--7-man-api--copy-store-id.6c1943ea.png"},634:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--15-man-api--btcpay-settings-fill.298e9de1.png"},635:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--15-man-api--btcpay-settings-save.1f329e19.png"},636:function(e,t,o){e.exports=o.p+"assets/img/btcpay-wc-2--reqbin-403-test.62547f5f.png"},801:function(e,t,o){"use strict";o.r(t);var a=o(9),r=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"woocommerce-integration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#woocommerce-integration"}},[e._v("#")]),e._v(" WooCommerce integration")]),e._v(" "),t("p",[e._v("This document explains how to "),t("strong",[e._v("integrate BTCPay Server into your WooCommerce store")]),e._v(".\nIf you do not have a store yet, follow "),t("a",{attrs:{href:"https://web.archive.org/web/20221003083329/https://bitcoinshirt.co/how-to-create-store-accept-bitcoin/5/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this step by step article"),t("OutboundLink")],1),e._v(" to create one from scratch.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),t("p",[e._v("This guide refers to the BTCPay for WooCommerce V2 plugin. You can find instructions for the now unmaintained legacy plugin (based on BitPay API) "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver-doc/blob/cba96292ceea9483711ab53c479a98357383f857/docs/WooCommerce.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("p"),t("div",{staticClass:"table-of-contents"},[t("ul",[t("li",[t("a",{attrs:{href:"#requirements"}},[e._v("Requirements")])]),t("li",[t("a",{attrs:{href:"#1-install-btcpay-plugin"}},[e._v("1. Install BTCPay Plugin")]),t("ul",[t("li",[t("a",{attrs:{href:"#11-install-plugin-from-wordpress-admin-dashboard-recommended"}},[e._v("1.1 Install plugin from WordPress Admin Dashboard (recommended)")])]),t("li",[t("a",{attrs:{href:"#12-download-and-install-plugin-from-github"}},[e._v("1.2 Download and install plugin from GitHub")])])])]),t("li",[t("a",{attrs:{href:"#2-connecting-woocommerce-and-btcpay-server"}},[e._v("2. Connecting WooCommerce and BTCPay Server")]),t("ul",[t("li",[t("a",{attrs:{href:"#21-connect-using-the-api-key-wizard-recommended"}},[e._v("2.1 Connect using the API key wizard (recommended)")])]),t("li",[t("a",{attrs:{href:"#22-connect-by-manually-creating-the-api-key-and-permissions"}},[e._v("2.2 Connect by manually creating the API key and permissions")])])])]),t("li",[t("a",{attrs:{href:"#3-testing-the-checkout"}},[e._v("3. Testing the checkout")])]),t("li",[t("a",{attrs:{href:"#4-customizing-btcpay-woocommerce-v2"}},[e._v("4. Customizing BTCPay WooCommerce V2")]),t("ul",[t("li",[t("a",{attrs:{href:"#41-global-settings"}},[e._v("4.1 Global Settings")])]),t("li",[t("a",{attrs:{href:"#42-payment-gateway-specific"}},[e._v("4.2 Payment Gateway specific")])])])]),t("li",[t("a",{attrs:{href:"#troubleshooting"}},[e._v("Troubleshooting")]),t("ul",[t("li",[t("a",{attrs:{href:"#error-call-to-undefined-function-btcpayserver-http-curl-init"}},[e._v("Error: Call to undefined function BTCPayServer\\Http\\curl_init()")])]),t("li",[t("a",{attrs:{href:"#the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[e._v("The order states do not update although the invoice has been paid")])]),t("li",[t("a",{attrs:{href:"#i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"}},[e._v("I get an error during checkout but not sure what the problem is.")])]),t("li",[t("a",{attrs:{href:"#i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[e._v("I have troubles with using the plugin or some other related questions")])]),t("li",[t("a",{attrs:{href:"#create-a-new-api-key"}},[e._v("Create a new API key")])]),t("li",[t("a",{attrs:{href:"#i-messed-around-with-the-webhook-how-to-fix"}},[e._v("I messed around with the webhook, how to fix")])])])]),t("li",[t("a",{attrs:{href:"#deploying-woocommerce-from-btcpay-server"}},[e._v("Deploying WooCommerce from BTCPay Server")])])])]),t("p"),e._v(" "),t("figure",[t("img",{attrs:{src:o(619),alt:"BTCPay - WooCommerce Infographic",title:"BTCPay - WooCommerce Infographic"}})]),e._v(" "),t("p",[e._v("To integrate BTCPay Server into an existing WooCommerce store, follow the steps below and/or watch this video:")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/ULcocDKZ1Mw/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=ULcocDKZ1Mw",title:"BTCPay - WooCommerce","data-id":"ULcocDKZ1Mw"}},[t("iframe",{attrs:{title:"BTCPay - WooCommerce","data-src":"https://www.youtube-nocookie.com/embed/ULcocDKZ1Mw?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("p",[e._v("Please ensure that you meet the following requirements before installing this plugin.")]),e._v(" "),t("ul",[t("li",[e._v("PHP version 7.4 or newer")]),e._v(" "),t("li",[e._v("The cURL, gd, intl, json, and mbstring PHP extensions are available")]),e._v(" "),t("li",[e._v("A WooCommerce website ("),t("a",{attrs:{href:"https://woocommerce.com/document/installing-uninstalling-woocommerce/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Installation instructions"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"#deploying-woocommerce-from-btcpay-server"}},[e._v("directly on BTCPay Server")]),e._v(")")]),e._v(" "),t("li",[e._v("You have a BTCPay Server version 1.3.0 or later, either "),t("RouterLink",{attrs:{to:"/Deployment/"}},[e._v("self-hosted")]),e._v(" or "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("hosted by a third-party")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/RegisterAccount/"}},[e._v("You've a registered account on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/CreateStore/"}},[e._v("You've a BTCPay store on the instance")])],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/WalletSetup/"}},[e._v("You've a wallet connected to your store")])],1)]),e._v(" "),t("h2",{attrs:{id:"1-install-btcpay-plugin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1-install-btcpay-plugin"}},[e._v("#")]),e._v(" 1. Install BTCPay Plugin")]),e._v(" "),t("p",[e._v("There are three ways to "),t("strong",[e._v("download BTCPay for WooCommerce V2 plugin")]),e._v(":")]),e._v(" "),t("ul",[t("li",[e._v("From within WordPress via the Admin Dashboard (recommended, see below)")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://wordpress.org/plugins/btcpay-greenfield-for-woocommerce/",target:"_blank",rel:"noopener noreferrer"}},[e._v("WordPress Repository"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/woocommerce-greenfield-plugin/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Repository"),t("OutboundLink")],1)])]),e._v(" "),t("h3",{attrs:{id:"11-install-plugin-from-wordpress-admin-dashboard-recommended"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#11-install-plugin-from-wordpress-admin-dashboard-recommended"}},[e._v("#")]),e._v(" 1.1 Install plugin from WordPress Admin Dashboard (recommended)")]),e._v(" "),t("ol",[t("li",[e._v("WordPress > Plugins > Add New.")]),e._v(" "),t("li",[e._v('In Search, type "BTCPay V2".')]),e._v(" "),t("li",[e._v("Install and activate.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(620),alt:"BTCPay WordPress V2: Plugin installation",title:"BTCPay WordPress V2: Plugin installation"}})]),e._v(" "),t("h3",{attrs:{id:"12-download-and-install-plugin-from-github"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#12-download-and-install-plugin-from-github"}},[e._v("#")]),e._v(" 1.2 Download and install plugin from GitHub")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/btcpayserver/woocommerce-greenfield-plugin/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("Download the latest BTCPay plugin"),t("OutboundLink")],1),e._v(", upload it in .zip format to your WordPress site and activate it.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/6QcTWHRKZag/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=6QcTWHRKZag",title:"BTCPay Server Woo Plugin","data-id":"6QcTWHRKZag"}},[t("iframe",{attrs:{title:"BTCPay Server Woo Plugin","data-src":"https://www.youtube-nocookie.com/embed/6QcTWHRKZag?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"2-connecting-woocommerce-and-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#2-connecting-woocommerce-and-btcpay-server"}},[e._v("#")]),e._v(" 2. Connecting WooCommerce and BTCPay Server")]),e._v(" "),t("p",[e._v("BTCPay for WooCommerce V2 plugin is a "),t("strong",[e._v("bridge between your BTCPay Server (payment processor) and your e-commerce store")]),e._v(".\nNo matter if you're using a self-hosted or third-party solution, the connection process is identical.")]),e._v(" "),t("p",[e._v('You can either click on the notifications link saying "'),t("strong",[e._v("please configure the plugin here")]),e._v('" (see screenshot below), or:')]),e._v(" "),t("ul",[t("li",[e._v("Go to your store dashboard.")]),e._v(" "),t("li",[e._v("WooCommerce > Settings.")]),e._v(" "),t("li",[e._v("Click [BTCPay Settings] tab.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(621),alt:"BTCPay WordPress V2: Link to BTCPay Settings",title:"BTCPay WordPress V2: Link to BTCPay Settings"}})]),e._v(" "),t("h3",{attrs:{id:"21-connect-using-the-api-key-wizard-recommended"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#21-connect-using-the-api-key-wizard-recommended"}},[e._v("#")]),e._v(" 2.1 Connect using the API key wizard (recommended)")]),e._v(" "),t("ol",[t("li",[t("p",[e._v('In the field "'),t("strong",[e._v("BTCPay Server URL")]),e._v('", enter the full URL of your host (including the https) – https://btcpay.mydomain.com')])]),e._v(" "),t("li",[t("p",[e._v('Click on the link below the "'),t("strong",[e._v("BTCPay Api Key")]),e._v('" field that says "*'),t("em",[e._v("click here to generate API keys")]),e._v('" (you will be redirected to BTCPay Server "Authorization request" page.\n'),t("img",{attrs:{src:o(622),alt:"BTCPay WordPress V2: Link to BTCPay Settings",title:"BTCPay WordPress V2: Link to BTCPay Settings"}})])]),e._v(" "),t("li",[t("p",[e._v("If you are not logged in to your BTCPay Server instance, do so now. (optional)\n"),t("img",{attrs:{src:o(623),alt:"BTCPay WordPress V2: Login to BTCPay Server",title:"BTCPay WordPress V2: Login to BTCPay Server"}})])]),e._v(" "),t("li",[t("p",[e._v("Select the store you want to connect to (if you only have one store it will get autoselected).\n"),t("img",{attrs:{src:o(624),alt:"BTCPay WordPress V2: Select store",title:"BTCPay WordPress V2: Select store"}})])]),e._v(" "),t("li",[t("p",[e._v("All required permissions are prefilled already, you just need to click [Authorize app]\n"),t("img",{attrs:{src:o(625),alt:"BTCPay WordPress V2: Click on authorize app",title:"BTCPay WordPress V2: Click on authorize app"}})])]),e._v(" "),t("li",[t("p",[e._v('You will get redirected back to your WooCommerce store and the API key and Store ID will be prefilled. Additionally, the webhook will have been created automatically for you. Check the "Webhook status" field to show "Webhook setup automatically." followed by an ID.\n'),t("img",{attrs:{src:o(626),alt:"BTCPay WordPress V2: Redirected back to plugin settings",title:"BTCPay WordPress V2: Redirected back to plugin settings"}})])]),e._v(" "),t("li",[t("p",[e._v("Before doing any further configuration click on "),t("strong",[e._v("[Save]")]),e._v(" to be sure all is set.\n"),t("img",{attrs:{src:o(627),alt:"BTCPay WordPress V2: Webhook created",title:"BTCPay WordPress V2: Webhook created"}})])])]),e._v(" "),t("p",[e._v('Congratulations, you are almost set. To make the Bitcoin payment gateway show up on your checkout. In the sidebar go to "WooCommerce" -> "Settings", click on the "Payments" tab and enable the "BTCPay (default)" payment gateway.')]),e._v(" "),t("p",[e._v('Continue with "3. Testing the checkout" below to make sure all works as expected.')]),e._v(" "),t("h3",{attrs:{id:"22-connect-by-manually-creating-the-api-key-and-permissions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#22-connect-by-manually-creating-the-api-key-and-permissions"}},[e._v("#")]),e._v(" 2.2 Connect by manually creating the API key and permissions")]),e._v(" "),t("p",[e._v("If you can't use the wizard mentioned in the previous section you can also generate the API key manually.")]),e._v(" "),t("ol",[t("li",[e._v("Click on "),t("em",[e._v("[Account]")]),e._v(" -> "),t("em",[e._v("Manage Account")]),e._v(" on the bottom left\n"),t("img",{attrs:{src:o(628),alt:"BTCPay WordPress V2: Manage Account",title:"BTCPay WordPress V2: Manage Account"}})]),e._v(" "),t("li",[e._v("Go to the tab "),t("em",[e._v('"API Keys"')])]),e._v(" "),t("li",[e._v("Click "),t("em",[e._v("[Generate Key]")]),e._v(" to select permissions.\n"),t("img",{attrs:{src:o(629),alt:"BTCPay WordPress V2: API Keys overview",title:"BTCPay WordPress V2: API Keys overview"}})]),e._v(" "),t("li",[e._v("Click on the "),t("em",[e._v('"Select specific stores"')]),e._v(" link for the following permissions: "),t("code",[e._v("View invoices")]),e._v(", "),t("code",[e._v("Create invoice")]),e._v(", "),t("code",[e._v("Modify invoices")]),e._v(", "),t("code",[e._v("Modify stores webhooks")]),e._v(", "),t("code",[e._v("View your stores")]),e._v(", "),t("code",[e._v("Create non-approved pull payments")]),e._v(" (used for refunds)\n"),t("img",{attrs:{src:o(630),alt:"BTCPay WordPress V2: API Keys Permissions",title:"BTCPay WordPress V2: API Keys Permissions"}})]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Generate API Key]")]),e._v(" "),t("img",{attrs:{src:o(631),alt:"BTCPay WordPress V2: API Keys Save",title:"BTCPay WordPress V2: API Keys Save"}})]),e._v(" "),t("li",[e._v("Copy the generated API Key to your WordPress "),t("em",[e._v("BTCPay Settings")]),e._v(" form (Advanced settings)\n"),t("img",{attrs:{src:o(632),alt:"BTCPay WordPress V2: Copy API Key",title:"BTCPay WordPress V2: Copy API Key"}})]),e._v(" "),t("li",[e._v("Copy the store ID to your WordPress "),t("em",[e._v("BTCPay Settings")]),e._v(" form (Advanced settings)\n"),t("img",{attrs:{src:o(633),alt:"BTCPay WordPress V2: Copy Store ID",title:"BTCPay WordPress V2: Copy Store ID"}})]),e._v(" "),t("li",[e._v("On the BTCPay Settings form:")])]),e._v(" "),t("ul",[t("li",[e._v("Enter "),t("em",[e._v("BTCPay Server URL")]),e._v(" (URL of your BTCPay Server instance, where you just created the API key)")]),e._v(" "),t("li",[e._v('Click the "Advanced settings" checkbox to enter '),t("em",[e._v("BTCPay Server API Key")]),e._v(" and "),t("em",[e._v("Store ID")]),e._v(" (leave "),t("em",[e._v("Webhook secret")]),e._v(" empty)")]),e._v(" "),t("li",[e._v("Click on "),t("em",[e._v("[Save]")]),e._v(" at the bottom of the page\n"),t("img",{attrs:{src:o(634),alt:"BTCPay WordPress V2: Save BTCPay Settings form",title:"BTCPay WordPress V2: Save BTCPay Settings form"}})])]),e._v(" "),t("ol",{attrs:{start:"9"}},[t("li",[e._v('Make sure you see the notification "'),t("em",[e._v("BTCPay Server: Successfully registered a new webhook on BTCPay Server")]),e._v('" and '),t("em",[e._v("Setup status")]),e._v(" and "),t("em",[e._v("Webhook status")]),e._v(" are green.\n"),t("img",{attrs:{src:o(635),alt:"BTCPay WordPress V2: Save BTCPay Settings form saved",title:"BTCPay WordPress V2: Save BTCPay Settings form saved"}})])]),e._v(" "),t("p",[e._v('Congratulations, you are almost set. To make the Bitcoin payment gateway show up on your checkout. In the sidebar go to "WooCommerce" -> "Settings", click on the "Payments" tab and enable the "BTCPay (default)" payment gateway.')]),e._v(" "),t("p",[e._v('Continue with "3. Testing the checkout" below to make sure all works as expected.')]),e._v(" "),t("h2",{attrs:{id:"3-testing-the-checkout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#3-testing-the-checkout"}},[e._v("#")]),e._v(" 3. Testing the checkout")]),e._v(" "),t("p",[e._v("Making a small test-purchase from your store will give you peace of mind.\nAlways make sure that everything is set up correctly before going live.\nThe final video guides you through the steps of setting a gap limit in your Electrum wallet and testing the checkout process.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/Fi3pYpzGmmo/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=Fi3pYpzGmmo",title:"BTCPay Server Checkout","data-id":"Fi3pYpzGmmo"}},[t("iframe",{attrs:{title:"BTCPay Server Checkout","data-src":"https://www.youtube-nocookie.com/embed/Fi3pYpzGmmo?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"4-customizing-btcpay-woocommerce-v2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#4-customizing-btcpay-woocommerce-v2"}},[e._v("#")]),e._v(" 4. Customizing BTCPay WooCommerce V2")]),e._v(" "),t("h3",{attrs:{id:"41-global-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#41-global-settings"}},[e._v("#")]),e._v(" 4.1 Global Settings")]),e._v(" "),t("p",[e._v("Can be found at "),t("em",[e._v("WooCommerce -> Settings -> Tab [BTCPay Settings]")])]),e._v(" "),t("p",[t("strong",[e._v("BTCPay Server URL")])]),e._v(" "),t("p",[e._v("URL to your BTCPay Server instance, including protocol e.g. "),t("code",[e._v("https://btcpay.yourdomain.com")]),e._v(".")]),e._v(" "),t("p",[t("strong",[e._v("BTCPay API Key")])]),e._v(" "),t("p",[e._v("Your API Key. (Was auto-generated in the steps before).")]),e._v(" "),t("p",[t("strong",[e._v("Store ID")])]),e._v(" "),t("p",[e._v("The store ID of your BTCPay Server store. Can be found on the store settings page.")]),e._v(" "),t("p",[t("strong",[e._v("Default Customer Message")])]),e._v(" "),t("p",[e._v('Here you can customize the customer message shown after selecting BTCPay payment gateway on checkout. This can be overwritten on the payment gateway settings for each gateway if you use the "Separate payment gateways" option.')]),e._v(" "),t("p",[t("strong",[e._v('Invoice pass to "Settled" state after')])]),e._v(" "),t("p",[e._v("Set after how many confirmations a payment is considered fully paid and settled. Defaults to what is configured on BTCPay store settings.")]),e._v(" "),t("p",[t("strong",[e._v("BTCPay Order Statuses")])]),e._v(" "),t("p",[e._v("Depending on your business model and store settings, you may want to configure your order statuses.\nYou can set BTCPay to trigger certain order status in WooCommerce automatically.")]),e._v(" "),t("ul",[t("li",[t("em",[e._v("New")]),e._v(" - order placed, not paid yet.")]),e._v(" "),t("li",[t("em",[e._v("Paid")]),e._v(" - order paid, not enough confirmations on the blockchain, yet.")]),e._v(" "),t("li",[t("em",[e._v("Settled")]),e._v(" - order paid, confirmed on the blockchain.")]),e._v(" "),t("li",[t("em",[e._v("Settled (paid over)")]),e._v(" - order paid, confirmed on the blockchain but paid over.")]),e._v(" "),t("li",[t("em",[e._v("Invalid")]),e._v(" - order paid, did not get a sufficient number of confirmations in a pre-defined time-frame set in BTCPay store settings, or manually marked invalid.")]),e._v(" "),t("li",[t("em",[e._v("Expired")]),e._v(" - invoice expired, order not paid.")]),e._v(" "),t("li",[t("em",[e._v("Expired with partial payment")]),e._v(" - invoice expired and paid partially")])]),e._v(" "),t("p",[e._v('Take time to think about how you wish to automate these statuses.\nIf you do not wish certain BTCPay status to trigger WooCommerce order status, you can leave it as default "- no mapping / defaults -".')]),e._v(" "),t("p",[e._v('Note: you should keep the "Settled" order status to "- no mapping / defaults-" if you sell digital and physical products. For digital products WooCommerce will automatically skip the "Processing" status and go directly to "Completed" for those orders only containing digital products.')]),e._v(" "),t("p",[e._v('Another example, if a merchant wants to send an email notifying the customer that the payment has been received, but the order will be processed upon confirmation, the merchant would have to set order status for "Paid" to "On hold". Then, the merchant would have to customize and trigger email for "On hold" status of the order in WooCommerce.')]),e._v(" "),t("p",[e._v("It takes some time to find a perfect formula, so users should test things out before going live.")]),e._v(" "),t("p",[t("strong",[e._v("Modal checkout")])]),e._v(" "),t("p",[e._v("Enable this option if you want the BTCPay Server invoice to be shown directly on the checkout page (and do not redirect customers to your BTCPay Server instance).")]),e._v(" "),t("p",[t("strong",[e._v("Separate Payment Gateways")])]),e._v(" "),t("p",[e._v("If this option is enabled the plugin will generate one separate payment gateway per supported payment method on BTCPay Server. E.g. if you have BTC, LightningNetwork and maybe Liquid Assets enabled on your BTCPay Server store, then you will have a separate gateway available for each. This allows many new use cases like discount per gateway or country based restrictions. More details "),t("RouterLink",{attrs:{to:"/FAQ/Integrations/#how-to-configure-additional-token-support"}},[e._v("here")]),e._v(".")],1),e._v(" "),t("p",[t("strong",[e._v("Send customer data to BTCPayServer")])]),e._v(" "),t("p",[e._v("By default "),t("em",[e._v("no")]),e._v(" customer data beside email is sent to BTCPay Server. If you want to send customer address data to BTCPay Server you can enable it here.")]),e._v(" "),t("p",[t("strong",[e._v("Debug Log")])]),e._v(" "),t("p",[e._v("This option is helpful in case you have a problem and need more information on what is going on. The logs can be then found under WooCommerce -> Status -> Log. Make sure you disable this again after debugging as it will fill up your filesystem with logs.")]),e._v(" "),t("h3",{attrs:{id:"42-payment-gateway-specific"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#42-payment-gateway-specific"}},[e._v("#")]),e._v(" 4.2 Payment Gateway specific")]),e._v(" "),t("p",[e._v('Depending on wheter you have above mentioned "Separate Payment Gateways" enabled you will have one or more Payment Gateways available to configure in the payment gateway settings via '),t("em",[e._v("WooCommerce -> Settings -> Tab [Payments]")])]),e._v(" "),t("p",[e._v("On all payment gateways you can set the following options:")]),e._v(" "),t("p",[t("strong",[e._v("Title")]),e._v('\nThe shown payment gateway text on the checkout page. Defaults to "BTCPay (Bitcoin, Lightning Network, ...)".')]),e._v(" "),t("p",[t("strong",[e._v("Customer Message")])]),e._v(" "),t("p",[e._v("Here you can customize message shown after selecting BTCPay payment gateway.")]),e._v(" "),t("p",[t("strong",[e._v("Gateway Icon")])]),e._v(" "),t("p",[e._v("Upload or select a custom icon to be shown next to the payment gateway during checkout. Defaults to BTCPay logo.")]),e._v(" "),t("h4",{attrs:{id:"421-btcpay-default"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#421-btcpay-default"}},[e._v("#")]),e._v(" 4.2.1 BTCPay (default)")]),e._v(" "),t("p",[e._v("Additional options only available for the default payment gateway:")]),e._v(" "),t("p",[t("strong",[e._v("Enforce payment tokens")])]),e._v(" "),t("p",[e._v('With "Separate Payment Gateways" feature enabled in BTCPay Settings you can use this option to enforce only payment tokens. This means that the created invoice will '),t("em",[e._v("only")]),e._v(' include tokens of type "payment" and '),t("em",[e._v("not any")]),e._v(' of type "promotion". See difference of token types '),t("RouterLink",{attrs:{to:"/FAQ/Integrations/#how-to-configure-additional-token-support#token-types"}},[e._v("here")])],1),e._v(" "),t("h4",{attrs:{id:"422-separate-payment-gateways"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#422-separate-payment-gateways"}},[e._v("#")]),e._v(" 4.2.2 Separate Payment Gateways")]),e._v(" "),t("p",[e._v("Additional options only available for the separate payment gateways (if that feature is enabled):")]),e._v(" "),t("p",[t("strong",[e._v("Token Type")])]),e._v(" "),t("p",[e._v('By default type "payment" is selected. But if you have Liquid Assets with your own issued asset/token (e.g. used as voucher) you can select "promotion" here. Those are processed differently than normal payment tokens. Details can be found '),t("RouterLink",{attrs:{to:"/FAQ/Integrations/#how-to-configure-additional-token-support#promotional-tokens-100-discount"}},[e._v("here")])],1),e._v(" "),t("h2",{attrs:{id:"troubleshooting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#troubleshooting"}},[e._v("#")]),e._v(" Troubleshooting")]),e._v(" "),t("h3",{attrs:{id:"error-call-to-undefined-function-btcpayserver-http-curl-init"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#error-call-to-undefined-function-btcpayserver-http-curl-init"}},[e._v("#")]),e._v(" Error: Call to undefined function BTCPayServer\\Http\\curl_init()")]),e._v(" "),t("p",[e._v("Please make sure your PHP version supports the cURL extension (as written in the requirements above). You can install it on Debian/Ubuntu by running the command "),t("code",[e._v("sudo apt install php-curl")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-order-states-do-not-update-although-the-invoice-has-been-paid"}},[e._v("#")]),e._v(" The order states do not update although the invoice has been paid")]),e._v(" "),t("p",[e._v("Please check first if the webhook is created under the BTCPay Server store settings. If there is no webhook created you can visit on your WooCommerce store BTCPay Settings tab under WooCommerce settings and hit the save button. This will create the webhook.")]),e._v(" "),t("p",[e._v('You may also check the details of your invoice if there were any errors on sending the webhook request. Some hosting providers, firewall setups or WordPress security plugins (like Wordfence) block POST requests to your WordPress site which lead to a http status of "403 Forbidden" or "503 Service Unavailable".')]),e._v(" "),t("p",[e._v("You can check and verify yourself if there is something blocking requests to your site in one of these two ways:")]),e._v(" "),t("p",[t("strong",[e._v("Check using a command line (Linux or MacOS):")]),e._v("\n(replace EXAMPLE.COM with your WordPress site URL)")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('curl -vX POST -H "Content-Type: application/json" \\\n -d \'{"data": "test"}\' https://EXAMPLE.COM/?wc-api=btcpaygf_default\n')])])]),t("p",[e._v('On the response, if you see that line "HTTP/1.1 500" or "HTTP/2 500" and the message "Webhook request validation failed" that means that your site is not blocking the request with a "403 Forbidden".')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('.... snip ....\n* We are completely uploaded and fine\n< HTTP/2 500\n< server: nginx\n< date: Sun, 05 Jun 2022 16:55:08 GMT\n< content-type: application/json; charset=UTF-8\n< x-powered-by: PHP/8.1.6\n< expires: Wed, 11 Jan 1984 05:00:00 GMT\n< cache-control: no-cache, must-revalidate, max-age=0\n<\n* Connection #0 to host example.com left intact\n{"code":"wp_die","message":"Webhook request validation failed.","data":{"status":500},"additional_errors":[]}\n')])])]),t("p",[e._v('On the other side, if you see that line "HTTP/1.1 403 Forbidden" or "HTTP/2 403" then something is blocking data sent to your WordPress site. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests.')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(".... snip ....\n* upload completely sent off: 16 out of 16 bytes\n< HTTP/1.1 403 Forbidden\n< access-control-allow-origin: *\n< Content-Type: application/json; charset=UTF-8\n< X-Cloud-Trace-Context: 4f07d5b2e5c2f05949d04421a8e2dd6a\n< Date: Thu, 17 Feb 2022 10:06:50 GMT\n< Server: Google Frontend\n< Content-Length: 26\n")])])]),t("p",[t("strong",[e._v("Check using an online service (if you do not have a command line available:")])]),e._v(" "),t("ul",[t("li",[e._v("Go to "),t("a",{attrs:{href:"https://reqbin.com/post-online",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://reqbin.com/post-online"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Enter your domain: "),t("code",[e._v("https://EXAMPLE.COM/?wc-api=btcpaygf_default")]),e._v("\n(replace EXAMPLE.COM with your WordPress site URL)")]),e._v(" "),t("li",[e._v('Make sure "POST" is selected')]),e._v(" "),t("li",[e._v("Click [Send]")])]),e._v(" "),t("figure",[t("img",{attrs:{src:o(636),alt:"BTCPay WordPress V2: Debug 403 error with reqbin.com",title:"BTCPay WordPress V2: Debug 403 error with reqbin.com"}})]),e._v(" "),t("p",[e._v('If you see "Status 403 (Forbidden)" then POST requests to your site are blocked for some reason. You should ask your hosting provider or make sure no firewall or plugin is blocking the requests.')]),e._v(" "),t("h3",{attrs:{id:"i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"}},[e._v("#")]),e._v(" I get an error during checkout but not sure what the problem is.")]),e._v(" "),t("p",[e._v("In your BTCPay Settings in your admin dashboard: "),t("em",[e._v("WooCommerce -> Settings: Tab [BTCPay Settings]")]),e._v(" you can enable debug mode by setting the checkbox on that option.")]),e._v(" "),t("p",[e._v("You can now find more detailed Logs when you click the [View Logs] button or you go to "),t("em",[e._v("WooCommerce -> Status: Tab [Logs]")]),e._v(" and select the most recent btcpay logs.")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Warning")]),e._v(" "),t("p",[e._v("Please make sure that you disable the debugging mode again after you finished investigating, otherwise your site performance may be impacted and also write lots of logging data in your filesystem for no reason.")])]),e._v(" "),t("p",[e._v("Additionally you can also look into your webservers error logs if you find any error that is related to BTCPay plugin.")]),e._v(" "),t("h3",{attrs:{id:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}},[e._v("#")]),e._v(" I have troubles with using the plugin or some other related questions")]),e._v(" "),t("p",[e._v("Feel free to join our support channel over at "),t("a",{attrs:{href:"https://chat.btcpayserver.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://chat.btcpayserver.org/"),t("OutboundLink")],1),e._v(" if you need help or have any further questions.")]),e._v(" "),t("h3",{attrs:{id:"create-a-new-api-key"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#create-a-new-api-key"}},[e._v("#")]),e._v(" Create a new API key")]),e._v(" "),t("p",[e._v("If you have been using the WooCommerce V2 plugin prior to version 2.0.0, your API key won't have the required permissions to issue refunds via pull-payments. If you want to use that feature, you can create a new API key (editing an API key is not currently supported). You can use the above described "),t("a",{attrs:{href:"#21-connect-using-the-api-key-wizard--recommended-"}},[e._v("2.1 Connect using API key wizard")]),e._v(" or the "),t("a",{attrs:{href:"#22-connect-by-manually-creating-the-api-key-and-permissions"}},[e._v("manual API key generation")]),e._v(". The configured webhook will continue to work, and no change is needed.")]),e._v(" "),t("h3",{attrs:{id:"i-messed-around-with-the-webhook-how-to-fix"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#i-messed-around-with-the-webhook-how-to-fix"}},[e._v("#")]),e._v(" I messed around with the webhook, how to fix")]),e._v(" "),t("p",[e._v("Suppose you accidentally changed the WooCommerce webhook, and it is not working anymore. In that case, you can quickly force a re-creation of it when you delete the API key on BTCPay Server and then go to the BTCPay Server Settings (on your WordPress site) and hit save again. You should see a message that the webhook was successfully created.")]),e._v(" "),t("h2",{attrs:{id:"deploying-woocommerce-from-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#deploying-woocommerce-from-btcpay-server"}},[e._v("#")]),e._v(" Deploying WooCommerce from BTCPay Server")]),e._v(" "),t("p",[e._v("If you already have BTCPay Server, you can very easily start WooCommerce from your existing environment.")]),e._v(" "),t("ol",[t("li",[t("p",[e._v("Point the external IP of the virtual machine where your BTCPay is hosted to your store domain, for example store.yourdomain.com.")])]),e._v(" "),t("li",[t("p",[e._v("Log into your BTCPay server as root.")])])]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("su")]),e._v(" -\n")])])]),t("ol",{attrs:{start:"3"}},[t("li",[e._v("Set up WooCommerce variables. You can add "),t("a",{attrs:{href:"https://github.com/btcpayserver/btcpayserver-docker/blob/master/docker-compose-generator/docker-fragments/opt-add-woocommerce.yml",target:"_blank",rel:"noopener noreferrer"}},[e._v("optional variables"),t("OutboundLink")],1),e._v(" as well.")])]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("export")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$BTCPAYGEN_ADDITIONAL_FRAGMENTS")]),e._v(';opt-add-woocommerce"')]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("export")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("WOOCOMMERCE_HOST")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"yourstoredomain.com"')]),e._v("\n")])])]),t("ol",{attrs:{start:"4"}},[t("li",[e._v("Lastly, just run BTCPay Setup script which will add the set up variables.")])]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v(".")]),e._v(" ./btcpay-setup.sh -i\n")])])]),t("ol",{attrs:{start:"5"}},[t("li",[e._v("Go to your store's domain name, in our example that's store.yourdomain.com and follow the WordPress installation wizard.")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/75.e42b55af.js b/assets/js/75.10af581a.js similarity index 99% rename from assets/js/75.e42b55af.js rename to assets/js/75.10af581a.js index ceaaaae405..ba5f20f76f 100644 --- a/assets/js/75.e42b55af.js +++ b/assets/js/75.10af581a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{556:function(e,t,r){e.exports=r.p+"assets/img/BTCPayUseCasev2-1.3b5b3052.png"},792:function(e,t,r){"use strict";r.r(t);var a=r(9),o=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"who-can-use-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#who-can-use-btcpay-server"}},[e._v("#")]),e._v(" Who can use BTCPay Server?")]),e._v(" "),t("p",[e._v("The versatility and flexibility of BTCPay Server attract different types of users. "),t("strong",[e._v("Anyone")]),e._v(" can use BTCPay Server.")]),e._v(" "),t("p",[e._v("We're ensuring an open future for businesses and individuals regardless of geographic, political or financial barriers.")]),e._v(" "),t("p",[e._v("Below are the most common use cases for BTCPay Server:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Merchants")]),e._v(" who sell products and services online or in person")]),e._v(" "),t("li",[e._v("Self-sovereign "),t("strong",[e._v("individuals")]),e._v(" wanting to protect their wealth and manage their funds and full bitcoin node")]),e._v(" "),t("li",[t("strong",[e._v("Charities and non-profits")]),e._v(" looking to accept donations or crowdfund their dream project")]),e._v(" "),t("li",[t("strong",[e._v("Developers")]),e._v(" building on top of bitcoin and bleeding-edge payment infrastructure")]),e._v(" "),t("li",[e._v("Members of "),t("strong",[e._v("local communities")]),e._v(" willing to onboard people to their BTCPay instance and offer payment processing as a service or for free, creating a circular economy.")]),e._v(" "),t("li",[t("strong",[e._v("Exchanges")]),e._v(" offering instant conversions for the users of BTCPay Server")]),e._v(" "),t("li",[t("strong",[e._v("Hosting providers")]),e._v(" offering BTCPay as a cloud service or ready-to-use hardware.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:r(556),alt:"BTCPay UseCase Infographic",title:"BTCPay UseCase Infographic"}})]),e._v(" "),t("p",[e._v("The software usage is by no means limited to the groups of users mentioned in this document.")]),e._v(" "),t("h2",{attrs:{id:"merchants"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#merchants"}},[e._v("#")]),e._v(" Merchants")]),e._v(" "),t("p",[e._v("Merchants accepting bitcoin payments online or in person are the primary user group of a BTCPay Server.")]),e._v(" "),t("p",[e._v("By choosing BTCPay Server to process payments, merchants are:")]),e._v(" "),t("ul",[t("li",[e._v("Saving money (BTCPay is free with no fees or subscriptions)")]),e._v(" "),t("li",[e._v("Cutting out the middle-man (If self-hosted payments go directly to their wallet)")]),e._v(" "),t("li",[e._v("Enhancing privacy for their customers (no address re-use, no information leaks to the third party servers if they're self-hosting BTCPay Server)")]),e._v(" "),t("li",[e._v("Saving time (easy integration with popular e-commerce platforms)")]),e._v(" "),t("li",[e._v("Protecting themselves from interference in their business (self-sovereignty)")])]),e._v(" "),t("h3",{attrs:{id:"online-stores"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#online-stores"}},[e._v("#")]),e._v(" Online stores")]),e._v(" "),t("p",[e._v("Merchants selling goods or services over the internet, usually pick an online e-commerce plugin we offer for multiple popular e-commerce platforms "),t("RouterLink",{attrs:{to:"/WooCommerce/"}},[e._v("WooCommerce")]),e._v(", "),t("RouterLink",{attrs:{to:"/Shopify/"}},[e._v("Shopify")]),e._v(", "),t("RouterLink",{attrs:{to:"/PrestaShop/"}},[e._v("PrestaShop")]),e._v(", "),t("RouterLink",{attrs:{to:"/Magento/"}},[e._v("Magento")]),e._v(" "),t("RouterLink",{attrs:{to:"/Drupal/"}},[e._v("Drupal")]),e._v(", "),t("a",{attrs:{href:"https://github.com/lampsolutions/LampSBtcPayShopware",target:"_blank",rel:"noopener noreferrer"}},[e._v("Shopaware"),t("OutboundLink")],1),e._v(" or other. Install a plugin for the CMS of your choice, and connect it to a self-hosted BTCPay or one hosted by a third party.")],1),e._v(" "),t("p",[e._v("BTCPay Server's checkout is no different from any other payment gateway. The customer gets an invoice. They pay it by scanning a QR code or by copy-pasting the amount and the bitcoin address. When their payment is confirmed, you're notified via the e-commerce software and can ship the item.")]),e._v(" "),t("h3",{attrs:{id:"physical-stores"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#physical-stores"}},[e._v("#")]),e._v(" Physical stores")]),e._v(" "),t("p",[e._v("For in-person retailers, BTCPay Server has a "),t("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[e._v("web-based Point of Sale")]),e._v(". Similar to the online store, the customer is presented with an invoice that he can pay on the spot. The "),t("strong",[e._v("POS app")]),e._v(" can be run on any web-connected device.")],1),e._v(" "),t("p",[e._v("Take a look at "),t("a",{attrs:{href:"https://mainnet.demo.btcpayserver.org/apps/3utBTfSKkW4gK7aQMd2hW5Bh9Fpa/pos",target:"_blank",rel:"noopener noreferrer"}},[e._v("our demo POS app"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"self-sovereign-individuals"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#self-sovereign-individuals"}},[e._v("#")]),e._v(" Self-sovereign individuals")]),e._v(" "),t("p",[t("strong",[e._v("Privacy-minded individuals")]),e._v(" can use BTCPay Server's internal wallet for their everyday bitcoin transactions without providing a private key. For self-hosted servers, the "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("internal wallet")]),e._v(" relies on a full node, significantly enhancing privacy. "),t("RouterLink",{attrs:{to:"/HardwareWalletIntegration/"}},[e._v("Hardware wallet integration")]),e._v(" allows the usage of a hardware wallet with a "),t("a",{attrs:{href:"https://en.bitcoin.it/wiki/Full_node",target:"_blank",rel:"noopener noreferrer"}},[e._v("full node"),t("OutboundLink")],1),e._v(" and avoids leaks to a third-party server.")],1),e._v(" "),t("h2",{attrs:{id:"freelancers-bill-pay"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#freelancers-bill-pay"}},[e._v("#")]),e._v(" Freelancers & bill pay")]),e._v(" "),t("p",[t("strong",[e._v("Freelancers")]),e._v(" can "),t("em",[e._v("request")]),e._v(" for payment by sharing a "),t("RouterLink",{attrs:{to:"/PaymentRequests/"}},[e._v("Payment Request")]),e._v(". The content and appearance of the payment request are customizable. With or without expiry, customers can pay the request at any time. BTCPay Server automatically updates the exchange rate when the customer pays the payment request when it's convenient for them. Merchants or freelancers can use payment requests for bill pay services. Payment requests can even be used to quickly request money from friends.")],1),e._v(" "),t("p",[e._v("Merchants can "),t("em",[e._v("provide")]),e._v(" payment by sharing a "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("Pull Payment")]),e._v(". This is a long-lived payment offer that the freelancer can pull funds from at their convenience. The merchant can specify the total amount and approve a partial or full request for payment.")],1),e._v(" "),t("h2",{attrs:{id:"charities-non-profits"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#charities-non-profits"}},[e._v("#")]),e._v(" Charities & non-profits")]),e._v(" "),t("p",[e._v("Charities, non-profits, content creators, and other organizations that want to accept bitcoin donations in a more private way than the traditional static bitcoin address method can utilize the "),t("RouterLink",{attrs:{to:"/WhatsNext/#creating-the-pay-button"}},[e._v("Pay Button")]),e._v(", "),t("RouterLink",{attrs:{to:"/WhatsNext/#creating-the-point-of-sale-app"}},[e._v("POS app")]),e._v(" or "),t("RouterLink",{attrs:{to:"/Apps/#crowdfunding-app"}},[e._v("Crowdfunding app")]),e._v(" for a better user experience.")],1),e._v(" "),t("p",[e._v("Benefits of using BTCPay for accepting donations:")]),e._v(" "),t("ul",[t("li",[e._v("Saving money (no fees, no subscriptions)")]),e._v(" "),t("li",[e._v("Cutting out the middle-man (Payments go directly to their wallet)")]),e._v(" "),t("li",[e._v("Enhancing privacy for them and their donors (no address re-use, no IP leaks to third parties)")])]),e._v(" "),t("p",[e._v("It's essential to mention that BTCPay Server prevents address reuse, as many people have been reusing addresses for donations in the past. Here is why you SHOULD NOT reuse a Bitcoin address:")]),e._v(" "),t("ul",[t("li",[e._v("Privacy: reusing the same address for donations not only makes it incredibly easy to link it to your identity, but it also compromises the privacy of your donors and every person that interacts with you")]),e._v(" "),t("li",[e._v("Security: by compromising your privacy, address reuse increases your attack surface, as people that want to steal from you or harm you would have A LOT of information about you and your donors")]),e._v(" "),t("li",[e._v('High fees: fees for a Bitcoin transaction are calculated according to the "size" of a transaction (which has nothing to do with the amount being sent). By reusing addresses, you are building huge transactions involving many inputs, that will cost you a lot in fees when you want to move them')])]),e._v(" "),t("p",[e._v("You can read more about address reuse on the "),t("a",{attrs:{href:"https://en.bitcoin.it/wiki/Address_reuse",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bitcoin Wiki"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"developers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#developers"}},[e._v("#")]),e._v(" Developers")]),e._v(" "),t("p",[e._v("By deploying an instance, developers get a full tech stack to develop on top of Bitcoin. They can build things using the "),t("a",{attrs:{href:"https://docs.btcpayserver.org/API/Greenfield/v1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Greenfield API"),t("OutboundLink")],1),e._v(" or build free or premium plugins for BTCPay users. Since BTCPay is an open-source organization, they can also get involved and "),t("RouterLink",{attrs:{to:"/Contribute/"}},[e._v("contribute")]),e._v(" and help us improve the software.")],1),e._v(" "),t("h2",{attrs:{id:"local-communities"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#local-communities"}},[e._v("#")]),e._v(" Local communities")]),e._v(" "),t("p",[e._v("People self-hosting a BTCPay Server instance, can enable registration for other users and become a "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("third-party host")]),e._v(" for family, friends or their local community allowing them to accept Bitcoin by piggybacking on the host's instance. This allows motivated community members to onboard local communities and fuel hyperbitcoinization locally.")],1),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/9n81qnzlPf8/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=9n81qnzlPf8",title:"BTCPay Server for local communities","data-id":"9n81qnzlPf8"}},[t("iframe",{attrs:{title:"BTCPay Server for local communities","data-src":"https://www.youtube-nocookie.com/embed/9n81qnzlPf8?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"cryptocurrency-exchanges"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#cryptocurrency-exchanges"}},[e._v("#")]),e._v(" Cryptocurrency exchanges")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://directory.btcpayserver.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("number of merchants"),t("OutboundLink")],1),e._v(" using BTCPay Server grows each day, and cryptocurrency exchanges could benefit from it by developing integrations with BTCPay and allow offer instant conversion of payments into local fiat currencies.")]),e._v(" "),t("h2",{attrs:{id:"hosting-providers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hosting-providers"}},[e._v("#")]),e._v(" Hosting providers")]),e._v(" "),t("p",[e._v("Hosting providers can (and some already have) create easy 1-click BTCPay deployment solutions for their customers. With the growing interest in BTCPay Server, hosting companies can tap into this source of new customers and make money by hosting easily-deployable BTCPay instances for merchants.")]),e._v(" "),t("hr"),e._v(" "),t("p",[e._v("These are some of the many ways in which you can use BTCPay. Unleash your creativity and feel free to build your own solutions to solve problems.")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{556:function(e,t,r){e.exports=r.p+"assets/img/BTCPayUseCasev2-1.3b5b3052.png"},791:function(e,t,r){"use strict";r.r(t);var a=r(9),o=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"who-can-use-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#who-can-use-btcpay-server"}},[e._v("#")]),e._v(" Who can use BTCPay Server?")]),e._v(" "),t("p",[e._v("The versatility and flexibility of BTCPay Server attract different types of users. "),t("strong",[e._v("Anyone")]),e._v(" can use BTCPay Server.")]),e._v(" "),t("p",[e._v("We're ensuring an open future for businesses and individuals regardless of geographic, political or financial barriers.")]),e._v(" "),t("p",[e._v("Below are the most common use cases for BTCPay Server:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Merchants")]),e._v(" who sell products and services online or in person")]),e._v(" "),t("li",[e._v("Self-sovereign "),t("strong",[e._v("individuals")]),e._v(" wanting to protect their wealth and manage their funds and full bitcoin node")]),e._v(" "),t("li",[t("strong",[e._v("Charities and non-profits")]),e._v(" looking to accept donations or crowdfund their dream project")]),e._v(" "),t("li",[t("strong",[e._v("Developers")]),e._v(" building on top of bitcoin and bleeding-edge payment infrastructure")]),e._v(" "),t("li",[e._v("Members of "),t("strong",[e._v("local communities")]),e._v(" willing to onboard people to their BTCPay instance and offer payment processing as a service or for free, creating a circular economy.")]),e._v(" "),t("li",[t("strong",[e._v("Exchanges")]),e._v(" offering instant conversions for the users of BTCPay Server")]),e._v(" "),t("li",[t("strong",[e._v("Hosting providers")]),e._v(" offering BTCPay as a cloud service or ready-to-use hardware.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:r(556),alt:"BTCPay UseCase Infographic",title:"BTCPay UseCase Infographic"}})]),e._v(" "),t("p",[e._v("The software usage is by no means limited to the groups of users mentioned in this document.")]),e._v(" "),t("h2",{attrs:{id:"merchants"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#merchants"}},[e._v("#")]),e._v(" Merchants")]),e._v(" "),t("p",[e._v("Merchants accepting bitcoin payments online or in person are the primary user group of a BTCPay Server.")]),e._v(" "),t("p",[e._v("By choosing BTCPay Server to process payments, merchants are:")]),e._v(" "),t("ul",[t("li",[e._v("Saving money (BTCPay is free with no fees or subscriptions)")]),e._v(" "),t("li",[e._v("Cutting out the middle-man (If self-hosted payments go directly to their wallet)")]),e._v(" "),t("li",[e._v("Enhancing privacy for their customers (no address re-use, no information leaks to the third party servers if they're self-hosting BTCPay Server)")]),e._v(" "),t("li",[e._v("Saving time (easy integration with popular e-commerce platforms)")]),e._v(" "),t("li",[e._v("Protecting themselves from interference in their business (self-sovereignty)")])]),e._v(" "),t("h3",{attrs:{id:"online-stores"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#online-stores"}},[e._v("#")]),e._v(" Online stores")]),e._v(" "),t("p",[e._v("Merchants selling goods or services over the internet, usually pick an online e-commerce plugin we offer for multiple popular e-commerce platforms "),t("RouterLink",{attrs:{to:"/WooCommerce/"}},[e._v("WooCommerce")]),e._v(", "),t("RouterLink",{attrs:{to:"/Shopify/"}},[e._v("Shopify")]),e._v(", "),t("RouterLink",{attrs:{to:"/PrestaShop/"}},[e._v("PrestaShop")]),e._v(", "),t("RouterLink",{attrs:{to:"/Magento/"}},[e._v("Magento")]),e._v(" "),t("RouterLink",{attrs:{to:"/Drupal/"}},[e._v("Drupal")]),e._v(", "),t("a",{attrs:{href:"https://github.com/lampsolutions/LampSBtcPayShopware",target:"_blank",rel:"noopener noreferrer"}},[e._v("Shopaware"),t("OutboundLink")],1),e._v(" or other. Install a plugin for the CMS of your choice, and connect it to a self-hosted BTCPay or one hosted by a third party.")],1),e._v(" "),t("p",[e._v("BTCPay Server's checkout is no different from any other payment gateway. The customer gets an invoice. They pay it by scanning a QR code or by copy-pasting the amount and the bitcoin address. When their payment is confirmed, you're notified via the e-commerce software and can ship the item.")]),e._v(" "),t("h3",{attrs:{id:"physical-stores"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#physical-stores"}},[e._v("#")]),e._v(" Physical stores")]),e._v(" "),t("p",[e._v("For in-person retailers, BTCPay Server has a "),t("RouterLink",{attrs:{to:"/Apps/#point-of-sale-app"}},[e._v("web-based Point of Sale")]),e._v(". Similar to the online store, the customer is presented with an invoice that he can pay on the spot. The "),t("strong",[e._v("POS app")]),e._v(" can be run on any web-connected device.")],1),e._v(" "),t("p",[e._v("Take a look at "),t("a",{attrs:{href:"https://mainnet.demo.btcpayserver.org/apps/3utBTfSKkW4gK7aQMd2hW5Bh9Fpa/pos",target:"_blank",rel:"noopener noreferrer"}},[e._v("our demo POS app"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"self-sovereign-individuals"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#self-sovereign-individuals"}},[e._v("#")]),e._v(" Self-sovereign individuals")]),e._v(" "),t("p",[t("strong",[e._v("Privacy-minded individuals")]),e._v(" can use BTCPay Server's internal wallet for their everyday bitcoin transactions without providing a private key. For self-hosted servers, the "),t("RouterLink",{attrs:{to:"/Wallet/"}},[e._v("internal wallet")]),e._v(" relies on a full node, significantly enhancing privacy. "),t("RouterLink",{attrs:{to:"/HardwareWalletIntegration/"}},[e._v("Hardware wallet integration")]),e._v(" allows the usage of a hardware wallet with a "),t("a",{attrs:{href:"https://en.bitcoin.it/wiki/Full_node",target:"_blank",rel:"noopener noreferrer"}},[e._v("full node"),t("OutboundLink")],1),e._v(" and avoids leaks to a third-party server.")],1),e._v(" "),t("h2",{attrs:{id:"freelancers-bill-pay"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#freelancers-bill-pay"}},[e._v("#")]),e._v(" Freelancers & bill pay")]),e._v(" "),t("p",[t("strong",[e._v("Freelancers")]),e._v(" can "),t("em",[e._v("request")]),e._v(" for payment by sharing a "),t("RouterLink",{attrs:{to:"/PaymentRequests/"}},[e._v("Payment Request")]),e._v(". The content and appearance of the payment request are customizable. With or without expiry, customers can pay the request at any time. BTCPay Server automatically updates the exchange rate when the customer pays the payment request when it's convenient for them. Merchants or freelancers can use payment requests for bill pay services. Payment requests can even be used to quickly request money from friends.")],1),e._v(" "),t("p",[e._v("Merchants can "),t("em",[e._v("provide")]),e._v(" payment by sharing a "),t("RouterLink",{attrs:{to:"/PullPayments/"}},[e._v("Pull Payment")]),e._v(". This is a long-lived payment offer that the freelancer can pull funds from at their convenience. The merchant can specify the total amount and approve a partial or full request for payment.")],1),e._v(" "),t("h2",{attrs:{id:"charities-non-profits"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#charities-non-profits"}},[e._v("#")]),e._v(" Charities & non-profits")]),e._v(" "),t("p",[e._v("Charities, non-profits, content creators, and other organizations that want to accept bitcoin donations in a more private way than the traditional static bitcoin address method can utilize the "),t("RouterLink",{attrs:{to:"/WhatsNext/#creating-the-pay-button"}},[e._v("Pay Button")]),e._v(", "),t("RouterLink",{attrs:{to:"/WhatsNext/#creating-the-point-of-sale-app"}},[e._v("POS app")]),e._v(" or "),t("RouterLink",{attrs:{to:"/Apps/#crowdfunding-app"}},[e._v("Crowdfunding app")]),e._v(" for a better user experience.")],1),e._v(" "),t("p",[e._v("Benefits of using BTCPay for accepting donations:")]),e._v(" "),t("ul",[t("li",[e._v("Saving money (no fees, no subscriptions)")]),e._v(" "),t("li",[e._v("Cutting out the middle-man (Payments go directly to their wallet)")]),e._v(" "),t("li",[e._v("Enhancing privacy for them and their donors (no address re-use, no IP leaks to third parties)")])]),e._v(" "),t("p",[e._v("It's essential to mention that BTCPay Server prevents address reuse, as many people have been reusing addresses for donations in the past. Here is why you SHOULD NOT reuse a Bitcoin address:")]),e._v(" "),t("ul",[t("li",[e._v("Privacy: reusing the same address for donations not only makes it incredibly easy to link it to your identity, but it also compromises the privacy of your donors and every person that interacts with you")]),e._v(" "),t("li",[e._v("Security: by compromising your privacy, address reuse increases your attack surface, as people that want to steal from you or harm you would have A LOT of information about you and your donors")]),e._v(" "),t("li",[e._v('High fees: fees for a Bitcoin transaction are calculated according to the "size" of a transaction (which has nothing to do with the amount being sent). By reusing addresses, you are building huge transactions involving many inputs, that will cost you a lot in fees when you want to move them')])]),e._v(" "),t("p",[e._v("You can read more about address reuse on the "),t("a",{attrs:{href:"https://en.bitcoin.it/wiki/Address_reuse",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bitcoin Wiki"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"developers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#developers"}},[e._v("#")]),e._v(" Developers")]),e._v(" "),t("p",[e._v("By deploying an instance, developers get a full tech stack to develop on top of Bitcoin. They can build things using the "),t("a",{attrs:{href:"https://docs.btcpayserver.org/API/Greenfield/v1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Greenfield API"),t("OutboundLink")],1),e._v(" or build free or premium plugins for BTCPay users. Since BTCPay is an open-source organization, they can also get involved and "),t("RouterLink",{attrs:{to:"/Contribute/"}},[e._v("contribute")]),e._v(" and help us improve the software.")],1),e._v(" "),t("h2",{attrs:{id:"local-communities"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#local-communities"}},[e._v("#")]),e._v(" Local communities")]),e._v(" "),t("p",[e._v("People self-hosting a BTCPay Server instance, can enable registration for other users and become a "),t("RouterLink",{attrs:{to:"/Deployment/ThirdPartyHosting/"}},[e._v("third-party host")]),e._v(" for family, friends or their local community allowing them to accept Bitcoin by piggybacking on the host's instance. This allows motivated community members to onboard local communities and fuel hyperbitcoinization locally.")],1),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/9n81qnzlPf8/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=9n81qnzlPf8",title:"BTCPay Server for local communities","data-id":"9n81qnzlPf8"}},[t("iframe",{attrs:{title:"BTCPay Server for local communities","data-src":"https://www.youtube-nocookie.com/embed/9n81qnzlPf8?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("h2",{attrs:{id:"cryptocurrency-exchanges"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#cryptocurrency-exchanges"}},[e._v("#")]),e._v(" Cryptocurrency exchanges")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://directory.btcpayserver.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("number of merchants"),t("OutboundLink")],1),e._v(" using BTCPay Server grows each day, and cryptocurrency exchanges could benefit from it by developing integrations with BTCPay and allow offer instant conversion of payments into local fiat currencies.")]),e._v(" "),t("h2",{attrs:{id:"hosting-providers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#hosting-providers"}},[e._v("#")]),e._v(" Hosting providers")]),e._v(" "),t("p",[e._v("Hosting providers can (and some already have) create easy 1-click BTCPay deployment solutions for their customers. With the growing interest in BTCPay Server, hosting companies can tap into this source of new customers and make money by hosting easily-deployable BTCPay instances for merchants.")]),e._v(" "),t("hr"),e._v(" "),t("p",[e._v("These are some of the many ways in which you can use BTCPay. Unleash your creativity and feel free to build your own solutions to solve problems.")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/76.6fba73ca.js b/assets/js/76.4d232163.js similarity index 99% rename from assets/js/76.6fba73ca.js rename to assets/js/76.4d232163.js index 2492bae207..6cc22b8114 100644 --- a/assets/js/76.6fba73ca.js +++ b/assets/js/76.4d232163.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{557:function(e,t,a){e.exports=a.p+"assets/img/Sequence.94c7564b.svg"},794:function(e,t,a){"use strict";a.r(t);var r=a(9),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[t("a",{attrs:{href:"https://www.nuget.org/packages/BTCPayServer.Hwi",target:"_blank",rel:"noopener noreferrer"}},[t("img",{attrs:{src:"https://img.shields.io/nuget/v/BTCPayServer.Hwi.svg",alt:"NuGet",title:"NuGet"}}),t("OutboundLink")],1),e._v(" "),t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/actions?query=workflow%3ACI",target:"_blank",rel:"noopener noreferrer"}},[t("img",{attrs:{src:"https://github.com/btcpayserver/BTCPayServer.Vault/workflows/CI/badge.svg",alt:"Build status",title:"Build status"}}),t("OutboundLink")],1)]),e._v(" "),t("h1",{attrs:{id:"btcpayservervault"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#btcpayservervault"}},[e._v("#")]),e._v(" BTCPayServer.Vault")]),e._v(" "),t("p",[e._v("This project is composed of two parts:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/tree/master/BTCPayServer.Hwi",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPayServer.Hwi"),t("OutboundLink")],1),e._v(": An easy to use library ("),t("a",{attrs:{href:"https://www.nuget.org/packages/BTCPayServer.Hwi",target:"_blank",rel:"noopener noreferrer"}},[e._v("nuget"),t("OutboundLink")],1),e._v(") wrapping the command line interface of the "),t("a",{attrs:{href:"https://github.com/bitcoin-core/HWI",target:"_blank",rel:"noopener noreferrer"}},[e._v("hwi project"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/tree/master/BTCPayServer.Vault",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPayServer.Vault"),t("OutboundLink")],1),e._v(": A simple local web server providing access to the hardware wallet physically connected to your computer via hwi.")])]),e._v(" "),t("p",[e._v("The video below explains how to use BTCPay Vault with BTCPay Server.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/s4qbGxef43A/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=s4qbGxef43A",title:"YouTube","data-id":"s4qbGxef43A"}},[t("iframe",{attrs:{title:"YouTube","data-src":"https://www.youtube-nocookie.com/embed/s4qbGxef43A?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://blog.btcpayserver.org/btcpay-vault/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Vault announcement"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"why-btcpayserver-vault"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#why-btcpayserver-vault"}},[e._v("#")]),e._v(" Why BTCPayServer Vault")]),e._v(" "),t("p",[e._v("BTCPayServer Vault allows web applications to access your hardware wallet, this enables a better integrated user experience.")]),e._v(" "),t("h2",{attrs:{id:"how-to-install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-install"}},[e._v("#")]),e._v(" How to install")]),e._v(" "),t("h3",{attrs:{id:"direct-download"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#direct-download"}},[e._v("#")]),e._v(" Direct download")]),e._v(" "),t("p",[e._v("The binaries are on our "),t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[e._v("release page"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"via-brew-macos-only"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#via-brew-macos-only"}},[e._v("#")]),e._v(" Via brew (macOS only)")]),e._v(" "),t("p",[e._v("You can use brew:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("brew "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" btcpayserver-vault\n")])])]),t("h2",{attrs:{id:"how-does-btcpayserver-vault-work"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-does-btcpayserver-vault-work"}},[e._v("#")]),e._v(" How does BTCPayServer Vault work")]),e._v(" "),t("p",[e._v("When running the BTCPayServer Vault, a local webserver is hosted on "),t("code",[e._v("http://127.0.0.1:65092")]),e._v(" which web applications, via your local browser, can connect to in order to interact with your hardware wallet.")]),e._v(" "),t("p",[e._v("The protocol is fairly simple:")]),e._v(" "),t("p",[e._v("First, the web application needs to make a permission request to the Vault by sending a HTTP request "),t("code",[e._v("GET")]),e._v(" to "),t("code",[e._v("http://127.0.0.1:65092/hwi-bridge/v1/request-permission")])]),e._v(" "),t("p",[e._v("This will prompt the user to grant access to the web application and if the user accepts, the request returns HTTP 200. Note that internally, the Vault relies on the "),t("code",[e._v("ORIGIN")]),e._v(" HTTP header to identify the web application requesting access.\nIf the access was granted previously, the request returns HTTP 200.")]),e._v(" "),t("p",[e._v("Second, the web application can query the hardware through "),t("code",[e._v("POST")]),e._v(" requests to "),t("code",[e._v("http://127.0.0.1:65092/hwi-bridge/v1")]),e._v(".")]),e._v(" "),t("div",{staticClass:"language-json extra-class"},[t("pre",{pre:!0,attrs:{class:"language-json"}},[t("code",[t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"params"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"param1"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"param2"')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n")])])]),t("p",[e._v("Those parameters are then passed as-is to "),t("a",{attrs:{href:"https://github.com/bitcoin-core/HWI",target:"_blank",rel:"noopener noreferrer"}},[e._v("hwi"),t("OutboundLink")],1),e._v(" and the result is returned as a string.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(557),alt:"NuGet",title:"NuGet"}})]),e._v(" "),t("h2",{attrs:{id:"is-it-safe"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#is-it-safe"}},[e._v("#")]),e._v(" Is it safe?")]),e._v(" "),t("p",[e._v("Hardware wallets have been created to protect your money, even if your computer was compromised.")]),e._v(" "),t("p",[e._v("However, while it protects your money, it will not protect your privacy if you allow an untrusted application to access your public keys.\nThis is why BTCPayServer Vault always ask permission to user first before allowing any web application to access your hardware wallet.")]),e._v(" "),t("h2",{attrs:{id:"how-to-build"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-build"}},[e._v("#")]),e._v(" How to build?")]),e._v(" "),t("p",[e._v("This is a two step process:")]),e._v(" "),t("ol",[t("li",[e._v("Install the latest version of the "),t("a",{attrs:{href:"https://dotnet.microsoft.com/download/dotnet-core/6.0",target:"_blank",rel:"noopener noreferrer"}},[e._v(".NET Core 6.0 SDK"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Run "),t("code",[e._v("dotnet build")])])]),e._v(" "),t("p",[e._v("If you want to run it for testing:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" BTCPayServer.Vault\ndotnet run\n")])])]),t("h2",{attrs:{id:"documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#documentation"}},[e._v("#")]),e._v(" Documentation")]),e._v(" "),t("p",[e._v("Video below explains how to use BTCPay Vault with BTCPay Server.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/s4qbGxef43A/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=s4qbGxef43A",title:"YouTube","data-id":"s4qbGxef43A"}},[t("iframe",{attrs:{title:"YouTube","data-src":"https://www.youtube-nocookie.com/embed/s4qbGxef43A?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://blog.btcpayserver.org/btcpay-vault/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Vault announcement"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"/Vault"}},[e._v("Using BTCPay Vault with BTCPay Server")])])]),e._v(" "),t("h2",{attrs:{id:"licence"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#licence"}},[e._v("#")]),e._v(" Licence")]),e._v(" "),t("p",[e._v("This project is under MIT License.")]),e._v(" "),t("h2",{attrs:{id:"special-thanks"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#special-thanks"}},[e._v("#")]),e._v(" Special thanks")]),e._v(" "),t("p",[e._v("Special thanks to "),t("a",{attrs:{href:"https://github.com/zkSNACKs/WalletWasabi",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Wallet"),t("OutboundLink")],1),e._v(", this code is based on their work, and as well to the bitcoin developers and "),t("a",{attrs:{href:"https://github.com/achow101",target:"_blank",rel:"noopener noreferrer"}},[e._v("achow101"),t("OutboundLink")],1),e._v(" for the "),t("a",{attrs:{href:"https://github.com/bitcoin-core/HWI",target:"_blank",rel:"noopener noreferrer"}},[e._v("HWI Project"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{557:function(e,t,a){e.exports=a.p+"assets/img/Sequence.94c7564b.svg"},793:function(e,t,a){"use strict";a.r(t);var r=a(9),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[t("a",{attrs:{href:"https://www.nuget.org/packages/BTCPayServer.Hwi",target:"_blank",rel:"noopener noreferrer"}},[t("img",{attrs:{src:"https://img.shields.io/nuget/v/BTCPayServer.Hwi.svg",alt:"NuGet",title:"NuGet"}}),t("OutboundLink")],1),e._v(" "),t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/actions?query=workflow%3ACI",target:"_blank",rel:"noopener noreferrer"}},[t("img",{attrs:{src:"https://github.com/btcpayserver/BTCPayServer.Vault/workflows/CI/badge.svg",alt:"Build status",title:"Build status"}}),t("OutboundLink")],1)]),e._v(" "),t("h1",{attrs:{id:"btcpayservervault"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#btcpayservervault"}},[e._v("#")]),e._v(" BTCPayServer.Vault")]),e._v(" "),t("p",[e._v("This project is composed of two parts:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/tree/master/BTCPayServer.Hwi",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPayServer.Hwi"),t("OutboundLink")],1),e._v(": An easy to use library ("),t("a",{attrs:{href:"https://www.nuget.org/packages/BTCPayServer.Hwi",target:"_blank",rel:"noopener noreferrer"}},[e._v("nuget"),t("OutboundLink")],1),e._v(") wrapping the command line interface of the "),t("a",{attrs:{href:"https://github.com/bitcoin-core/HWI",target:"_blank",rel:"noopener noreferrer"}},[e._v("hwi project"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/tree/master/BTCPayServer.Vault",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPayServer.Vault"),t("OutboundLink")],1),e._v(": A simple local web server providing access to the hardware wallet physically connected to your computer via hwi.")])]),e._v(" "),t("p",[e._v("The video below explains how to use BTCPay Vault with BTCPay Server.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/s4qbGxef43A/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=s4qbGxef43A",title:"YouTube","data-id":"s4qbGxef43A"}},[t("iframe",{attrs:{title:"YouTube","data-src":"https://www.youtube-nocookie.com/embed/s4qbGxef43A?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://blog.btcpayserver.org/btcpay-vault/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Vault announcement"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"why-btcpayserver-vault"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#why-btcpayserver-vault"}},[e._v("#")]),e._v(" Why BTCPayServer Vault")]),e._v(" "),t("p",[e._v("BTCPayServer Vault allows web applications to access your hardware wallet, this enables a better integrated user experience.")]),e._v(" "),t("h2",{attrs:{id:"how-to-install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-install"}},[e._v("#")]),e._v(" How to install")]),e._v(" "),t("h3",{attrs:{id:"direct-download"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#direct-download"}},[e._v("#")]),e._v(" Direct download")]),e._v(" "),t("p",[e._v("The binaries are on our "),t("a",{attrs:{href:"https://github.com/btcpayserver/BTCPayServer.Vault/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[e._v("release page"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"via-brew-macos-only"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#via-brew-macos-only"}},[e._v("#")]),e._v(" Via brew (macOS only)")]),e._v(" "),t("p",[e._v("You can use brew:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("brew "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" btcpayserver-vault\n")])])]),t("h2",{attrs:{id:"how-does-btcpayserver-vault-work"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-does-btcpayserver-vault-work"}},[e._v("#")]),e._v(" How does BTCPayServer Vault work")]),e._v(" "),t("p",[e._v("When running the BTCPayServer Vault, a local webserver is hosted on "),t("code",[e._v("http://127.0.0.1:65092")]),e._v(" which web applications, via your local browser, can connect to in order to interact with your hardware wallet.")]),e._v(" "),t("p",[e._v("The protocol is fairly simple:")]),e._v(" "),t("p",[e._v("First, the web application needs to make a permission request to the Vault by sending a HTTP request "),t("code",[e._v("GET")]),e._v(" to "),t("code",[e._v("http://127.0.0.1:65092/hwi-bridge/v1/request-permission")])]),e._v(" "),t("p",[e._v("This will prompt the user to grant access to the web application and if the user accepts, the request returns HTTP 200. Note that internally, the Vault relies on the "),t("code",[e._v("ORIGIN")]),e._v(" HTTP header to identify the web application requesting access.\nIf the access was granted previously, the request returns HTTP 200.")]),e._v(" "),t("p",[e._v("Second, the web application can query the hardware through "),t("code",[e._v("POST")]),e._v(" requests to "),t("code",[e._v("http://127.0.0.1:65092/hwi-bridge/v1")]),e._v(".")]),e._v(" "),t("div",{staticClass:"language-json extra-class"},[t("pre",{pre:!0,attrs:{class:"language-json"}},[t("code",[t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"params"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"param1"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"param2"')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n")])])]),t("p",[e._v("Those parameters are then passed as-is to "),t("a",{attrs:{href:"https://github.com/bitcoin-core/HWI",target:"_blank",rel:"noopener noreferrer"}},[e._v("hwi"),t("OutboundLink")],1),e._v(" and the result is returned as a string.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(557),alt:"NuGet",title:"NuGet"}})]),e._v(" "),t("h2",{attrs:{id:"is-it-safe"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#is-it-safe"}},[e._v("#")]),e._v(" Is it safe?")]),e._v(" "),t("p",[e._v("Hardware wallets have been created to protect your money, even if your computer was compromised.")]),e._v(" "),t("p",[e._v("However, while it protects your money, it will not protect your privacy if you allow an untrusted application to access your public keys.\nThis is why BTCPayServer Vault always ask permission to user first before allowing any web application to access your hardware wallet.")]),e._v(" "),t("h2",{attrs:{id:"how-to-build"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-build"}},[e._v("#")]),e._v(" How to build?")]),e._v(" "),t("p",[e._v("This is a two step process:")]),e._v(" "),t("ol",[t("li",[e._v("Install the latest version of the "),t("a",{attrs:{href:"https://dotnet.microsoft.com/download/dotnet-core/6.0",target:"_blank",rel:"noopener noreferrer"}},[e._v(".NET Core 6.0 SDK"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Run "),t("code",[e._v("dotnet build")])])]),e._v(" "),t("p",[e._v("If you want to run it for testing:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" BTCPayServer.Vault\ndotnet run\n")])])]),t("h2",{attrs:{id:"documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#documentation"}},[e._v("#")]),e._v(" Documentation")]),e._v(" "),t("p",[e._v("Video below explains how to use BTCPay Vault with BTCPay Server.")]),e._v(" "),t("a",{staticClass:"ytEmbed",staticStyle:{"background-image":"url(https://img.youtube.com/vi/s4qbGxef43A/hqdefault.jpg)"},attrs:{href:"https://www.youtube.com/watch?v=s4qbGxef43A",title:"YouTube","data-id":"s4qbGxef43A"}},[t("iframe",{attrs:{title:"YouTube","data-src":"https://www.youtube-nocookie.com/embed/s4qbGxef43A?&autoplay=1&autohide=1&modestbranding=1&color=white&rel=0",frameborder:"0",allow:"autoplay;encrypted-media;picture-in-picture",allowfullscreen:""}})]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://blog.btcpayserver.org/btcpay-vault/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BTCPay Vault announcement"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"/Vault"}},[e._v("Using BTCPay Vault with BTCPay Server")])])]),e._v(" "),t("h2",{attrs:{id:"licence"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#licence"}},[e._v("#")]),e._v(" Licence")]),e._v(" "),t("p",[e._v("This project is under MIT License.")]),e._v(" "),t("h2",{attrs:{id:"special-thanks"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#special-thanks"}},[e._v("#")]),e._v(" Special thanks")]),e._v(" "),t("p",[e._v("Special thanks to "),t("a",{attrs:{href:"https://github.com/zkSNACKs/WalletWasabi",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Wallet"),t("OutboundLink")],1),e._v(", this code is based on their work, and as well to the bitcoin developers and "),t("a",{attrs:{href:"https://github.com/achow101",target:"_blank",rel:"noopener noreferrer"}},[e._v("achow101"),t("OutboundLink")],1),e._v(" for the "),t("a",{attrs:{href:"https://github.com/bitcoin-core/HWI",target:"_blank",rel:"noopener noreferrer"}},[e._v("HWI Project"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/8.56569c46.js b/assets/js/8.9a7ebfa4.js similarity index 99% rename from assets/js/8.56569c46.js rename to assets/js/8.9a7ebfa4.js index 9a6b7af177..a49299c9d1 100644 --- a/assets/js/8.56569c46.js +++ b/assets/js/8.9a7ebfa4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{602:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWallet.cf4e2496.png"},603:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletWalletName.30589d48.png"},604:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletRecoveryWords.f6439a9a.png"},605:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletConfirmRecoveryWords.57de256b.png"},606:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletAddPassword.8d118edd.png"},607:function(e,t,a){e.exports=a.p+"assets/img/WasabiCoinjoinStrategy.ff19005a.png"},608:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletSuccess.6d0a141d.png"},609:function(e,t,a){e.exports=a.p+"assets/img/WasabiOpenWallet.89e9b6c6.png"},610:function(e,t,a){e.exports=a.p+"assets/img/WasabiFindWalletInfo.31e473b0.png"},611:function(e,t,a){e.exports=a.p+"assets/img/WasabiExtendedAccountPublicKey.ba483e11.png"},612:function(e,t,a){e.exports=a.p+"assets/img/storedashboard-create.dd17384e.jpg"},613:function(e,t,a){e.exports=a.p+"assets/img/storedashboard-connect.2cb6ddd6.jpg"},614:function(e,t,a){e.exports=a.p+"assets/img/select-xpub.934e885a.jpg"},615:function(e,t,a){e.exports=a.p+"assets/img/xpub-form.bcf062f7.jpg"},616:function(e,t,a){e.exports=a.p+"assets/img/WasabiReceive.8cba4d4a.png"},617:function(e,t,a){e.exports=a.p+"assets/img/compare-address.4fd6e815.jpg"},618:function(e,t,a){e.exports=a.p+"assets/img/wallet-connected.41bdc209.jpg"},800:function(e,t,a){"use strict";a.r(t);var s=a(9),o=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"connecting-wasabi-wallet-to-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#connecting-wasabi-wallet-to-btcpay-server"}},[e._v("#")]),e._v(" Connecting Wasabi Wallet to BTCPay Server")]),e._v(" "),t("p",[e._v("This document shows how to "),t("strong",[e._v("connect "),t("a",{attrs:{href:"https://wasabiwallet.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Wallet"),t("OutboundLink")],1),e._v(" to BTCPay Server")]),e._v(".")]),e._v(" "),t("ol",[t("li",[e._v("Create a Store in BTCPay Server")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://wasabiwallet.io/#download",target:"_blank",rel:"noopener noreferrer"}},[e._v("Download Wasabi Wallet"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://docs.wasabiwallet.io/using-wasabi/InstallPackage.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Install Wasabi Wallet"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"wasabi-wallet-setup"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#wasabi-wallet-setup"}},[e._v("#")]),e._v(" Wasabi Wallet Setup")]),e._v(" "),t("p",[e._v("After installation, open the Wasabi Wallet by clicking on the icon on your desktop.")]),e._v(" "),t("h2",{attrs:{id:"quick-setup"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#quick-setup"}},[e._v("#")]),e._v(" Quick Setup")]),e._v(" "),t("ol",[t("li",[e._v("Create a new wallet in Wasabi")]),e._v(" "),t("li",[e._v("In Wasabi, copy the "),t("strong",[e._v("Extended Account Public Key")]),e._v(" at "),t("code",[e._v("Wallet Info")]),e._v(".")]),e._v(" "),t("li",[e._v("In BTCPay Server, Store > Settings > Wallet > Setup > Connect an existing wallet > Enter extended public key")]),e._v(" "),t("li",[e._v("In Wasabi, generate a new address at "),t("code",[e._v("Receive")]),e._v(".")]),e._v(" "),t("li",[e._v("Confirm that the addresses in Wasabi and BTCPay Server match.")])]),e._v(" "),t("h2",{attrs:{id:"step-by-step"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step"}},[e._v("#")]),e._v(" Step by Step")]),e._v(" "),t("p",[e._v("At the first launch of Wasabi, the "),t("code",[e._v("Add wallet")]),e._v(" dialog will be opened automatically.\nSelect "),t("code",[e._v("Create new wallet")]),e._v(" to generate a new wallet.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(602),alt:"Wasabi Add Wallet",title:"Wasabi Add Wallet"}})]),e._v(" "),t("p",[e._v("Give your wallet a name, for example "),t("code",[e._v("BTCPay Server Wallet")]),e._v(".")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(603),alt:"Wasabi Add Wallet Name",title:"Wasabi Add Wallet Name"}})]),e._v(" "),t("p",[e._v("Write down the Recovery Words in the correct order.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(604),alt:"Wasabi Add Wallet Recovery Words",title:"Wasabi Add Wallet Recovery Words"}})]),e._v(" "),t("p",[e._v("Confirm 3 of the 12 recovery words.\nThis is a quick test to make sure that you have written them down.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(605),alt:"Wasabi Add Wallet Confirm Recovery Words",title:"Wasabi Add Wallet Confirm Recovery Words"}})]),e._v(" "),t("p",[e._v("Add a password.\nThe password is used as a passphrase and it cannot be changed later on.")]),e._v(" "),t("div",{staticClass:"custom-block danger"},[t("p",{staticClass:"custom-block-title"},[e._v("Both The Recovery words AND the password are needed to recover this wallet")]),e._v(" "),t("p",[e._v("Make sure to have a backup of the recovery words and the password.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(606),alt:"Wasabi Add Wallet Add Password",title:"Wasabi Add Wallet Add Password"}})]),e._v(" "),t("p",[t("strong",[e._v("IMPORTANT NOTE:")]),e._v(" Write down your recovery words in the order you see them on the screen. Write them down a piece of paper and store them somewhere secure. Take your time and triple-check each word. Do not store your seed in a digital format (photograph, text document). Whoever has access to your seed and your password can access your funds. Make sure you have a proper backup of the Recovery Words and the Password.")]),e._v(" "),t("p",[e._v("Select a Coinjoin Strategy.\nWasabi automatically coinjoins all your funds.\nIf you don't want to coinjoin your funds, you can disable coinjoin later by disabling "),t("code",[e._v("Automatically start coinjoin")]),e._v(" in the Coinjoin Settings.\nFor more info about coinjoins and the related settings, please refer to the "),t("a",{attrs:{href:"https://docs.wasabiwallet.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Documentation"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(607),alt:"Wasabi Coinjoin Strategy",title:"Wasabi Coinjoin Strategy"}})]),e._v(" "),t("p",[e._v("The wallet has been successfully created!")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(608),alt:"Wasabi Add Wallet Success",title:"Wasabi Add Wallet Success"}})]),e._v(" "),t("p",[e._v("Open the new wallet by entering the password.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(609),alt:"Wasabi Open Wallet",title:"Wasabi Open Wallet"}})]),e._v(" "),t("p",[e._v("The wallet will load (it might take some time).\nAfter the loading is done and the wallet is opened, click on the 3 dots at the top right corner to go to "),t("code",[e._v("Wallet Info")]),e._v(" .")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(610),alt:"Wasabi Find Wallet Info",title:"Wasabi Find Wallet Info"}})]),e._v(" "),t("p",[e._v("Select and "),t("strong",[e._v("copy")]),e._v(" the "),t("code",[e._v("Extended Account Public Key")]),e._v(". This is the "),t("strong",[e._v("public")]),e._v(" key from which BTCPay will derive addresses. This cannot be used to derive private keys and spend the bitcoin.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(611),alt:"Wasabi Extended Account Public Key",title:"Wasabi Extended Account Public Key"}})]),e._v(" "),t("h2",{attrs:{id:"setup-store-wallet"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setup-store-wallet"}},[e._v("#")]),e._v(" Setup store wallet")]),e._v(" "),t("ol",[t("li",[e._v("Assuming you created a store and are now in the Dashboard. Click on "),t("code",[e._v("Set up a wallet")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(612),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"2"}},[t("li",[e._v("As you did the above steps in wasabi, Click "),t("code",[e._v("Connect an existing wallet")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(613),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"3"}},[t("li",[e._v("Choose "),t("code",[e._v("Enter extended public key")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(614),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"4"}},[t("li",[e._v("Paste the "),t("code",[e._v("Extended Account Public Key")]),e._v(" into derivation scheme field as it is, without adding anything else and click "),t("code",[e._v("Continue")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(615),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"5"}},[t("li",[e._v("Return to the Wasabi Wallet. Click the "),t("code",[e._v("Receive")]),e._v(" button and generate a new address.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(616),alt:"Wasabi Receive",title:"Wasabi Receive"}})]),e._v(" "),t("ol",{attrs:{start:"6"}},[t("li",[e._v("Compare the address you see in Wasabi Wallet to addresses shown in BTCPay Server. Find a match, "),t("code",[e._v("continue")]),e._v(".")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(617),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"7"}},[t("li",[e._v("When you found a match, your wallet is now connected to the store.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(618),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("h3",{attrs:{id:"connecting-wasabi-to-btcpay-server-full-node-if-youre-self-hosting-btcpay"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#connecting-wasabi-to-btcpay-server-full-node-if-youre-self-hosting-btcpay"}},[e._v("#")]),e._v(" Connecting Wasabi to BTCPay Server Full Node (If you're self-hosting BTCPay)")]),e._v(" "),t("p",[e._v("After the wallets are connected, it is highly recommended to "),t("strong",[e._v("connect Wasabi Wallet to your full node in BTCPay")]),e._v(". The process is easy but can only be done if you self-host BTCPay and are logged in as "),t("code",[e._v("Admin")]),e._v(". Tor has to be enabled in BTCPay (it is enabled by default). This process enhances privacy even further.")]),e._v(" "),t("p",[e._v("In BTCPay, go Server Settings > Services > "),t("strong",[e._v("Full node P2P > See Information")]),e._v(".\nOn the BTCP-P2P page, click on the "),t("code",[e._v("Show Confidential QR Code")]),e._v(". Bellow the QR Code, there's a link "),t("code",[e._v("See QR Code information by clicking here")]),e._v(", so click on the link to reveal your string. Copy the string but remove "),t("code",[e._v("bitcoin-p2p://")]),e._v(" part.")]),e._v(" "),t("p",[e._v("In Wasabi, go to the Bitcoin tab at "),t("code",[e._v("Settings")]),e._v(" and paste the endpoint in "),t("code",[e._v("Bitcoin P2P Endpoint")]),e._v(".")]),e._v(" "),t("p",[e._v("Restart Wasabi to apply the changes.")]),e._v(" "),t("h3",{attrs:{id:"configuring-the-gap-limit-in-wasabi"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#configuring-the-gap-limit-in-wasabi"}},[e._v("#")]),e._v(" Configuring the Gap Limit in Wasabi")]),e._v(" "),t("p",[e._v("At the search bar on top, click on "),t("code",[e._v("Wallet Folder")]),e._v(". Shortly the "),t("code",[e._v("json")]),e._v(" file will be shown in a sub-folder. Open that file with a text editor like notepad.\nFind the line "),t("code",[e._v('"MinGapLimit": 21,')]),e._v(" and change it to "),t("code",[e._v('"MinGapLimit": 100,')]),e._v(" and save the file.")]),e._v(" "),t("p",[e._v("There's no good answer to how much you should set the gap limit to. Most merchants set 100-200. If you're a big merchant with high transaction volume, you can try with even a higher gap limit.")]),e._v(" "),t("p",[e._v("For more details about the "),t("RouterLink",{attrs:{to:"/FAQ/Wallet/#missing-payments-in-my-software-or-hardware-wallet"}},[e._v("Gap Limit, check the FAQ")]),e._v(".")],1),e._v(" "),t("p",[t("strong",[e._v("Wasabi Wallet and BTCPay Server are now connected")]),e._v(". Any payments received to your BTCPay will be visible in Wasabi, where you can further spend or mix them.")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{602:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWallet.cf4e2496.png"},603:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletWalletName.30589d48.png"},604:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletRecoveryWords.f6439a9a.png"},605:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletConfirmRecoveryWords.57de256b.png"},606:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletAddPassword.8d118edd.png"},607:function(e,t,a){e.exports=a.p+"assets/img/WasabiCoinjoinStrategy.ff19005a.png"},608:function(e,t,a){e.exports=a.p+"assets/img/WasabiAddWalletSuccess.6d0a141d.png"},609:function(e,t,a){e.exports=a.p+"assets/img/WasabiOpenWallet.89e9b6c6.png"},610:function(e,t,a){e.exports=a.p+"assets/img/WasabiFindWalletInfo.31e473b0.png"},611:function(e,t,a){e.exports=a.p+"assets/img/WasabiExtendedAccountPublicKey.ba483e11.png"},612:function(e,t,a){e.exports=a.p+"assets/img/storedashboard-create.dd17384e.jpg"},613:function(e,t,a){e.exports=a.p+"assets/img/storedashboard-connect.2cb6ddd6.jpg"},614:function(e,t,a){e.exports=a.p+"assets/img/select-xpub.934e885a.jpg"},615:function(e,t,a){e.exports=a.p+"assets/img/xpub-form.bcf062f7.jpg"},616:function(e,t,a){e.exports=a.p+"assets/img/WasabiReceive.8cba4d4a.png"},617:function(e,t,a){e.exports=a.p+"assets/img/compare-address.4fd6e815.jpg"},618:function(e,t,a){e.exports=a.p+"assets/img/wallet-connected.41bdc209.jpg"},799:function(e,t,a){"use strict";a.r(t);var s=a(9),o=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"connecting-wasabi-wallet-to-btcpay-server"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#connecting-wasabi-wallet-to-btcpay-server"}},[e._v("#")]),e._v(" Connecting Wasabi Wallet to BTCPay Server")]),e._v(" "),t("p",[e._v("This document shows how to "),t("strong",[e._v("connect "),t("a",{attrs:{href:"https://wasabiwallet.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Wallet"),t("OutboundLink")],1),e._v(" to BTCPay Server")]),e._v(".")]),e._v(" "),t("ol",[t("li",[e._v("Create a Store in BTCPay Server")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://wasabiwallet.io/#download",target:"_blank",rel:"noopener noreferrer"}},[e._v("Download Wasabi Wallet"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://docs.wasabiwallet.io/using-wasabi/InstallPackage.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Install Wasabi Wallet"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"wasabi-wallet-setup"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#wasabi-wallet-setup"}},[e._v("#")]),e._v(" Wasabi Wallet Setup")]),e._v(" "),t("p",[e._v("After installation, open the Wasabi Wallet by clicking on the icon on your desktop.")]),e._v(" "),t("h2",{attrs:{id:"quick-setup"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#quick-setup"}},[e._v("#")]),e._v(" Quick Setup")]),e._v(" "),t("ol",[t("li",[e._v("Create a new wallet in Wasabi")]),e._v(" "),t("li",[e._v("In Wasabi, copy the "),t("strong",[e._v("Extended Account Public Key")]),e._v(" at "),t("code",[e._v("Wallet Info")]),e._v(".")]),e._v(" "),t("li",[e._v("In BTCPay Server, Store > Settings > Wallet > Setup > Connect an existing wallet > Enter extended public key")]),e._v(" "),t("li",[e._v("In Wasabi, generate a new address at "),t("code",[e._v("Receive")]),e._v(".")]),e._v(" "),t("li",[e._v("Confirm that the addresses in Wasabi and BTCPay Server match.")])]),e._v(" "),t("h2",{attrs:{id:"step-by-step"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step"}},[e._v("#")]),e._v(" Step by Step")]),e._v(" "),t("p",[e._v("At the first launch of Wasabi, the "),t("code",[e._v("Add wallet")]),e._v(" dialog will be opened automatically.\nSelect "),t("code",[e._v("Create new wallet")]),e._v(" to generate a new wallet.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(602),alt:"Wasabi Add Wallet",title:"Wasabi Add Wallet"}})]),e._v(" "),t("p",[e._v("Give your wallet a name, for example "),t("code",[e._v("BTCPay Server Wallet")]),e._v(".")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(603),alt:"Wasabi Add Wallet Name",title:"Wasabi Add Wallet Name"}})]),e._v(" "),t("p",[e._v("Write down the Recovery Words in the correct order.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(604),alt:"Wasabi Add Wallet Recovery Words",title:"Wasabi Add Wallet Recovery Words"}})]),e._v(" "),t("p",[e._v("Confirm 3 of the 12 recovery words.\nThis is a quick test to make sure that you have written them down.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(605),alt:"Wasabi Add Wallet Confirm Recovery Words",title:"Wasabi Add Wallet Confirm Recovery Words"}})]),e._v(" "),t("p",[e._v("Add a password.\nThe password is used as a passphrase and it cannot be changed later on.")]),e._v(" "),t("div",{staticClass:"custom-block danger"},[t("p",{staticClass:"custom-block-title"},[e._v("Both The Recovery words AND the password are needed to recover this wallet")]),e._v(" "),t("p",[e._v("Make sure to have a backup of the recovery words and the password.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(606),alt:"Wasabi Add Wallet Add Password",title:"Wasabi Add Wallet Add Password"}})]),e._v(" "),t("p",[t("strong",[e._v("IMPORTANT NOTE:")]),e._v(" Write down your recovery words in the order you see them on the screen. Write them down a piece of paper and store them somewhere secure. Take your time and triple-check each word. Do not store your seed in a digital format (photograph, text document). Whoever has access to your seed and your password can access your funds. Make sure you have a proper backup of the Recovery Words and the Password.")]),e._v(" "),t("p",[e._v("Select a Coinjoin Strategy.\nWasabi automatically coinjoins all your funds.\nIf you don't want to coinjoin your funds, you can disable coinjoin later by disabling "),t("code",[e._v("Automatically start coinjoin")]),e._v(" in the Coinjoin Settings.\nFor more info about coinjoins and the related settings, please refer to the "),t("a",{attrs:{href:"https://docs.wasabiwallet.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Wasabi Documentation"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(607),alt:"Wasabi Coinjoin Strategy",title:"Wasabi Coinjoin Strategy"}})]),e._v(" "),t("p",[e._v("The wallet has been successfully created!")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(608),alt:"Wasabi Add Wallet Success",title:"Wasabi Add Wallet Success"}})]),e._v(" "),t("p",[e._v("Open the new wallet by entering the password.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(609),alt:"Wasabi Open Wallet",title:"Wasabi Open Wallet"}})]),e._v(" "),t("p",[e._v("The wallet will load (it might take some time).\nAfter the loading is done and the wallet is opened, click on the 3 dots at the top right corner to go to "),t("code",[e._v("Wallet Info")]),e._v(" .")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(610),alt:"Wasabi Find Wallet Info",title:"Wasabi Find Wallet Info"}})]),e._v(" "),t("p",[e._v("Select and "),t("strong",[e._v("copy")]),e._v(" the "),t("code",[e._v("Extended Account Public Key")]),e._v(". This is the "),t("strong",[e._v("public")]),e._v(" key from which BTCPay will derive addresses. This cannot be used to derive private keys and spend the bitcoin.")]),e._v(" "),t("figure",[t("img",{attrs:{src:a(611),alt:"Wasabi Extended Account Public Key",title:"Wasabi Extended Account Public Key"}})]),e._v(" "),t("h2",{attrs:{id:"setup-store-wallet"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setup-store-wallet"}},[e._v("#")]),e._v(" Setup store wallet")]),e._v(" "),t("ol",[t("li",[e._v("Assuming you created a store and are now in the Dashboard. Click on "),t("code",[e._v("Set up a wallet")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(612),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"2"}},[t("li",[e._v("As you did the above steps in wasabi, Click "),t("code",[e._v("Connect an existing wallet")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(613),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"3"}},[t("li",[e._v("Choose "),t("code",[e._v("Enter extended public key")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(614),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"4"}},[t("li",[e._v("Paste the "),t("code",[e._v("Extended Account Public Key")]),e._v(" into derivation scheme field as it is, without adding anything else and click "),t("code",[e._v("Continue")])])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(615),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"5"}},[t("li",[e._v("Return to the Wasabi Wallet. Click the "),t("code",[e._v("Receive")]),e._v(" button and generate a new address.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(616),alt:"Wasabi Receive",title:"Wasabi Receive"}})]),e._v(" "),t("ol",{attrs:{start:"6"}},[t("li",[e._v("Compare the address you see in Wasabi Wallet to addresses shown in BTCPay Server. Find a match, "),t("code",[e._v("continue")]),e._v(".")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(617),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("ol",{attrs:{start:"7"}},[t("li",[e._v("When you found a match, your wallet is now connected to the store.")])]),e._v(" "),t("figure",[t("img",{attrs:{src:a(618),alt:"Connect Wasabi Wallet to BTCPay Server",title:"Connect Wasabi Wallet to BTCPay Server"}})]),e._v(" "),t("h3",{attrs:{id:"connecting-wasabi-to-btcpay-server-full-node-if-youre-self-hosting-btcpay"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#connecting-wasabi-to-btcpay-server-full-node-if-youre-self-hosting-btcpay"}},[e._v("#")]),e._v(" Connecting Wasabi to BTCPay Server Full Node (If you're self-hosting BTCPay)")]),e._v(" "),t("p",[e._v("After the wallets are connected, it is highly recommended to "),t("strong",[e._v("connect Wasabi Wallet to your full node in BTCPay")]),e._v(". The process is easy but can only be done if you self-host BTCPay and are logged in as "),t("code",[e._v("Admin")]),e._v(". Tor has to be enabled in BTCPay (it is enabled by default). This process enhances privacy even further.")]),e._v(" "),t("p",[e._v("In BTCPay, go Server Settings > Services > "),t("strong",[e._v("Full node P2P > See Information")]),e._v(".\nOn the BTCP-P2P page, click on the "),t("code",[e._v("Show Confidential QR Code")]),e._v(". Bellow the QR Code, there's a link "),t("code",[e._v("See QR Code information by clicking here")]),e._v(", so click on the link to reveal your string. Copy the string but remove "),t("code",[e._v("bitcoin-p2p://")]),e._v(" part.")]),e._v(" "),t("p",[e._v("In Wasabi, go to the Bitcoin tab at "),t("code",[e._v("Settings")]),e._v(" and paste the endpoint in "),t("code",[e._v("Bitcoin P2P Endpoint")]),e._v(".")]),e._v(" "),t("p",[e._v("Restart Wasabi to apply the changes.")]),e._v(" "),t("h3",{attrs:{id:"configuring-the-gap-limit-in-wasabi"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#configuring-the-gap-limit-in-wasabi"}},[e._v("#")]),e._v(" Configuring the Gap Limit in Wasabi")]),e._v(" "),t("p",[e._v("At the search bar on top, click on "),t("code",[e._v("Wallet Folder")]),e._v(". Shortly the "),t("code",[e._v("json")]),e._v(" file will be shown in a sub-folder. Open that file with a text editor like notepad.\nFind the line "),t("code",[e._v('"MinGapLimit": 21,')]),e._v(" and change it to "),t("code",[e._v('"MinGapLimit": 100,')]),e._v(" and save the file.")]),e._v(" "),t("p",[e._v("There's no good answer to how much you should set the gap limit to. Most merchants set 100-200. If you're a big merchant with high transaction volume, you can try with even a higher gap limit.")]),e._v(" "),t("p",[e._v("For more details about the "),t("RouterLink",{attrs:{to:"/FAQ/Wallet/#missing-payments-in-my-software-or-hardware-wallet"}},[e._v("Gap Limit, check the FAQ")]),e._v(".")],1),e._v(" "),t("p",[t("strong",[e._v("Wasabi Wallet and BTCPay Server are now connected")]),e._v(". Any payments received to your BTCPay will be visible in Wasabi, where you can further spend or mix them.")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/app.82af6185.js b/assets/js/app.04daa845.js similarity index 92% rename from assets/js/app.82af6185.js rename to assets/js/app.04daa845.js index 8c2c99a44e..98224d5646 100644 --- a/assets/js/app.82af6185.js +++ b/assets/js/app.04daa845.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,a,l=t[0],s=t[1],c=t[2],p=0,d=[];p
    '};function o(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var s=n.render(!t),c=s.querySelector(r.barSelector),u=r.speed,p=r.easing;return s.offsetWidth,a((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,function(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,o}(e,u,p)),1===e?(l(s,{transition:"none",opacity:1}),s.offsetWidth,setTimeout((function(){l(s,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,a=t.querySelector(r.barSelector),s=e?"-100":i(n.status||0),u=document.querySelector(r.parent);return l(a,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&d(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&d(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var a=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()})),t[n]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+i)in n)return r;return t}(n))}function r(e,t,r){t=n(t),e.style[t]=r}return function(e,t){var n,o,i=arguments;if(2==i.length)for(n in t)void 0!==(o=t[n])&&t.hasOwnProperty(n)&&r(e,n,o);else r(e,i[1],i[2])}}();function s(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function u(e,t){var n,r=p(e);s(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t,n){var r=n(23),o=Function.prototype.call;e.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},function(e,t,n){var r=n(4);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(42),o=n(43);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(2),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},function(e,t,n){var r=n(0),o=n(51),i=n(6),a=n(54),l=n(48),s=n(47),c=o("wks"),u=r.Symbol,p=u&&u.for,d=s?u:u&&u.withoutSetter||a;e.exports=function(e){if(!i(c,e)||!l&&"string"!=typeof c[e]){var t="Symbol."+e;l&&i(u,e)?c[e]=u[e]:c[e]=s&&p?p(t):d(t)}return c[e]}},function(e,t,n){var r=n(0),o=n(29),i=r["__core-js_shared__"]||o("__core-js_shared__",{});e.exports=i},function(e,t,n){var r=n(0),o=Object.defineProperty;e.exports=function(e,t){try{o(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(0),o=n(7),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},function(e,t,n){var r=n(134),o=n(10),i=Object.prototype,a=i.hasOwnProperty,l=i.propertyIsEnumerable,s=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!l.call(e,"callee")};e.exports=s},function(e,t,n){var r=n(8)(n(5),"Map");e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(154),o=n(161),i=n(163),a=n(164),l=n(165);function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(3),o=n(38),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||(a.test(e)||!i.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var r=n(12),o=n(10);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},function(e,t){e.exports=function(e){return e}},function(e,t,n){var r=n(0),o=n(41).f,i=n(13),a=n(103),l=n(29),s=n(59),c=n(116);e.exports=function(e,t){var n,u,p,d,h,v=e.target,m=e.global,f=e.stat;if(n=m?r:f?r[v]||l(v,{}):(r[v]||{}).prototype)for(u in t){if(d=t[u],p=e.noTargetGet?(h=o(n,u))&&h.value:n[u],!c(m?u:v+(f?".":"#")+u,e.forced)&&void 0!==p){if(typeof d==typeof p)continue;s(d,p)}(e.sham||p&&p.sham)&&i(d,"sham",!0),a(n,u,d,e)}}},function(e,t,n){var r=n(11),o=n(22),i=n(95),a=n(24),l=n(25),s=n(44),c=n(6),u=n(55),p=Object.getOwnPropertyDescriptor;t.f=r?p:function(e,t){if(e=l(e),t=s(t),u)try{return p(e,t)}catch(e){}if(c(e,t))return a(!o(i.f,e,t),e[t])}},function(e,t,n){var r=n(0),o=n(2),i=n(4),a=n(26),l=r.Object,s=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?s(e,""):l(e)}:l},function(e,t,n){var r=n(0).TypeError;e.exports=function(e){if(null==e)throw r("Can't call method on "+e);return e}},function(e,t,n){var r=n(96),o=n(45);e.exports=function(e){var t=r(e,"string");return o(t)?t:t+""}},function(e,t,n){var r=n(0),o=n(15),i=n(1),a=n(46),l=n(47),s=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var t=o("Symbol");return i(t)&&a(t.prototype,s(e))}},function(e,t,n){var r=n(2);e.exports=r({}.isPrototypeOf)},function(e,t,n){var r=n(48);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){var r=n(49),o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},function(e,t,n){var r,o,i=n(0),a=n(97),l=i.process,s=i.Deno,c=l&&l.versions||s&&s.version,u=c&&c.v8;u&&(o=(r=u.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},function(e,t,n){var r=n(0),o=n(1),i=n(99),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},function(e,t,n){var r=n(52),o=n(28);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.20.3",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE",source:"https://github.com/zloirock/core-js"})},function(e,t){e.exports=!1},function(e,t,n){var r=n(0),o=n(43),i=r.Object;e.exports=function(e){return i(o(e))}},function(e,t,n){var r=n(2),o=0,i=Math.random(),a=r(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+a(++o+i,36)}},function(e,t,n){var r=n(11),o=n(4),i=n(101);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){var r=n(0),o=n(11),i=n(55),a=n(102),l=n(30),s=n(44),c=r.TypeError,u=Object.defineProperty,p=Object.getOwnPropertyDescriptor;t.f=o?a?function(e,t,n){if(l(e),t=s(t),l(n),"function"==typeof e&&"prototype"===t&&"value"in n&&"writable"in n&&!n.writable){var r=p(e,t);r&&r.writable&&(e[t]=n.value,n={configurable:"configurable"in n?n.configurable:r.configurable,enumerable:"enumerable"in n?n.enumerable:r.enumerable,writable:!1})}return u(e,t,n)}:u:function(e,t,n){if(l(e),t=s(t),l(n),i)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw c("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(2),o=n(1),i=n(28),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},function(e,t){e.exports={}},function(e,t,n){var r=n(6),o=n(108),i=n(41),a=n(56);e.exports=function(e,t,n){for(var l=o(t),s=a.f,c=i.f,u=0;u0?r:n)(t)}},function(e,t,n){var r=n(113);e.exports=function(e){return r(e.length)}},function(e,t,n){var r=n(2),o=n(30),i=n(123);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(n,[]),t=n instanceof Array}catch(e){}return function(n,r){return o(n),i(r),t?e(n,r):n.__proto__=r,n}}():void 0)},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++nu))return!1;var d=s.get(e),h=s.get(t);if(d&&h)return d==t&&h==e;var v=-1,m=!0,f=2&n?new r:void 0;for(s.set(e,t),s.set(t,e);++v-1&&e%1==0&&e=0&&Math.floor(t)===t&&isFinite(e)}function m(e){return a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function f(e){return null==e?"":Array.isArray(e)||d(e)&&e.toString===p?JSON.stringify(e,null,2):String(e)}function g(e){var t=parseFloat(e);return isNaN(t)?e:t}function y(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o-1)return e.splice(r,1)}}var P=Object.prototype.hasOwnProperty;function C(e,t){return P.call(e,t)}function D(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,S=D((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),x=D((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),T=/\B([A-Z])/g,A=D((function(e){return e.replace(T,"-$1").toLowerCase()}));var _=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function E(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function L(e,t){for(var n in t)e[n]=t[n];return e}function B(e){for(var t={},n=0;n0,Y=X&&X.indexOf("edge/")>0;X&&X.indexOf("android");var Z=X&&/iphone|ipad|ipod|ios/.test(X);X&&/chrome\/\d+/.test(X),X&&/phantomjs/.test(X);var ee,te=X&&X.match(/firefox\/(\d+)/),ne={}.watch,re=!1;if(U)try{var oe={};Object.defineProperty(oe,"passive",{get:function(){re=!0}}),window.addEventListener("test-passive",null,oe)}catch(e){}var ie=function(){return void 0===ee&&(ee=!U&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),ee},ae=U&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function le(e){return"function"==typeof e&&/native code/.test(e.toString())}var se,ce="undefined"!=typeof Symbol&&le(Symbol)&&"undefined"!=typeof Reflect&&le(Reflect.ownKeys);se="undefined"!=typeof Set&&le(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=null;function pe(e){void 0===e&&(e=null),e||ue&&ue._scope.off(),ue=e,e&&e._scope.on()}var de=function(){function e(e,t,n,r,o,i,a,l){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=l,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),he=function(e){void 0===e&&(e="");var t=new de;return t.text=e,t.isComment=!0,t};function ve(e){return new de(void 0,void 0,void 0,String(e))}function me(e){var t=new de(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var fe=0,ge=[],ye=function(){function e(){this._pending=!1,this.id=fe++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,ge.push(this))},e.prototype.depend=function(t){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){var t=this.subs.filter((function(e){return e}));for(var n=0,r=t.length;n0&&(Xe((c=e(c,"".concat(n||"","_").concat(r)))[0])&&Xe(p)&&(d[u]=ve(p.text+c[0].text),c.shift()),d.push.apply(d,c)):s(c)?Xe(p)?d[u]=ve(p.text+c):""!==c&&d.push(ve(c)):Xe(c)&&Xe(p)?d[u]=ve(p.text+c.text):(l(t._isVList)&&a(c.tag)&&i(c.key)&&a(n)&&(c.key="__vlist".concat(n,"_").concat(r,"__")),d.push(c)));return d}(e):void 0}function Xe(e){return a(e)&&a(e.text)&&!1===e.isComment}function Ke(e,t){var n,r,i,l,s=null;if(o(e)||"string"==typeof e)for(s=new Array(e.length),n=0,r=e.length;n0,l=t?!!t.$stable:!a,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(l&&o&&o!==r&&s===o.$key&&!a&&!o.$hasNormal)return o;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=mt(e,n,c,t[c]))}else i={};for(var u in n)u in i||(i[u]=ft(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),Q(i,"$stable",l),Q(i,"$key",s),Q(i,"$hasNormal",a),i}function mt(e,t,n,r){var i=function(){var t=ue;pe(e);var n=arguments.length?r.apply(null,arguments):r({}),i=(n=n&&"object"==typeof n&&!o(n)?[n]:Ue(n))&&n[0];return pe(t),n&&(!i||1===n.length&&i.isComment&&!ht(i))?void 0:n};return r.proxy&&Object.defineProperty(t,n,{get:i,enumerable:!0,configurable:!0}),i}function ft(e,t){return function(){return e[t]}}function gt(e){return{get attrs(){if(!e._attrsProxy){var t=e._attrsProxy={};Q(t,"_v_attr_proxy",!0),yt(t,e.$attrs,r,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||yt(e._listenersProxy={},e.$listeners,r,e,"$listeners");return e._listenersProxy},get slots(){return function(e){e._slotsProxy||wt(e._slotsProxy={},e.$scopedSlots);return e._slotsProxy}(e)},emit:_(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return je(e,t,n)}))}}}function yt(e,t,n,r,o){var i=!1;for(var a in t)a in e?t[a]!==n[a]&&(i=!0):(i=!0,bt(e,a,r,o));for(var a in e)a in t||(i=!0,delete e[a]);return i}function bt(e,t,n,r){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return n[r][t]}})}function wt(e,t){for(var n in t)e[n]=t[n];for(var n in e)n in t||delete e[n]}var Pt=null;function Ct(e,t){return(e.__esModule||ce&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?t.extend(e):e}function Dt(e){if(o(e))for(var t=0;tdocument.createEvent("Event").timeStamp&&(sn=function(){return cn.now()})}var un=function(e,t){if(e.post){if(!t.post)return 1}else if(t.post)return-1;return e.id-t.id};function pn(){var e,t;for(ln=sn(),on=!0,en.sort(un),an=0;anan&&en[n].id>e.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn=!0,Wt(pn))}}function hn(e,t){if(e){for(var n=Object.create(null),r=ce?Reflect.ownKeys(e):Object.keys(e),o=0;o-1)if(i&&!C(o,"default"))a=!1;else if(""===a||a===A(e)){var s=On(String,o.type);(s<0||l-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!h(e)&&e.test(t)}function Kn(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var l=a.name;l&&!t(l)&&Jn(n,i,r,o)}}}function Jn(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,w(n,t)}Gn.prototype._init=function(e){var t=this;t._uid=qn++,t._isVue=!0,t.__v_skip=!0,t._scope=new $e(!0),t._scope._vm=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=_n(Qn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Ut(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,o=n&&n.context;e.$slots=pt(t._renderChildren,o),e.$scopedSlots=n?vt(e.$parent,n.data.scopedSlots,e.$slots):r,e._c=function(t,n,r,o){return kt(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return kt(e,t,n,r,o,!0)};var i=n&&n.data;Le(e,"$attrs",i&&i.attrs||r,null,!0),Le(e,"$listeners",t._parentListeners||r,null,!0)}(t),Zt(t,"beforeCreate",void 0,!1),function(e){var t=hn(e.$options.inject,e);t&&(Te(!1),Object.keys(t).forEach((function(n){Le(e,n,t[n])})),Te(!0))}(t),Wn(t),function(e){var t=e.$options.provide;if(t){var n=c(t)?t.call(e):t;if(!u(n))return;for(var r=Me(e),o=ce?Reflect.ownKeys(n):Object.keys(n),i=0;i1?E(n):n;for(var r=E(arguments,1),o='event handler for "'.concat(e,'"'),i=0,a=n.length;iparseInt(this.max)&&Jn(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Jn(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(t){Kn(e,(function(e){return Xn(t,e)}))})),this.$watch("exclude",(function(t){Kn(e,(function(e){return!Xn(t,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=Dt(e),n=t&&t.componentOptions;if(n){var r=Un(n),o=this.include,i=this.exclude;if(o&&(!r||!Xn(o,r))||i&&r&&Xn(i,r))return t;var a=this.cache,l=this.keys,s=null==t.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):t.key;a[s]?(t.componentInstance=a[s].componentInstance,w(l,s),l.push(s)):(this.vnodeToCache=t,this.keyToCache=s),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return M}};Object.defineProperty(e,"config",t),e.util={warn:Cn,extend:L,mergeOptions:_n,defineReactive:Le},e.set=Be,e.delete=Ie,e.nextTick=Wt,e.observable=function(e){return Ee(e),e},e.options=Object.create(null),F.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,L(e.options.components,Zn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=E(arguments,1);return n.unshift(this),c(e.install)?e.install.apply(e,n):c(e)&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=_n(this.options,e),this}}(e),Vn(e),function(e){F.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&d(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&c(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Gn),Object.defineProperty(Gn.prototype,"$isServer",{get:ie}),Object.defineProperty(Gn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Gn,"FunctionalRenderContext",{value:vn}),Gn.version="2.7.14";var er=y("style,class"),tr=y("input,textarea,option,select,progress"),nr=y("contenteditable,draggable,spellcheck"),rr=y("events,caret,typing,plaintext-only"),or=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ir="http://www.w3.org/1999/xlink",ar=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},lr=function(e){return ar(e)?e.slice(6,e.length):""},sr=function(e){return null==e||!1===e};function cr(e){for(var t=e.data,n=e,r=e;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=ur(r.data,t));for(;a(n=n.parent);)n&&n.data&&(t=ur(t,n.data));return function(e,t){if(a(e)||a(t))return pr(e,dr(t));return""}(t.staticClass,t.class)}function ur(e,t){return{staticClass:pr(e.staticClass,t.staticClass),class:a(e.class)?[e.class,t.class]:t.class}}function pr(e,t){return e?t?e+" "+t:e:t||""}function dr(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,o=e.length;r-1?Rr(e,t,n):or(t)?sr(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):nr(t)?e.setAttribute(t,function(e,t){return sr(t)||"false"===t?"false":"contenteditable"===e&&rr(t)?t:"true"}(t,n)):ar(t)?sr(n)?e.removeAttributeNS(ir,lr(t)):e.setAttributeNS(ir,t,n):Rr(e,t,n)}function Rr(e,t,n){if(sr(n))e.removeAttribute(t);else{if(K&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Hr={create:Nr,update:Nr};function Wr(e,t){var n=t.elm,r=t.data,o=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var l=cr(t),s=n._transitionClasses;a(s)&&(l=pr(l,dr(s))),l!==n._prevClass&&(n.setAttribute("class",l),n._prevClass=l)}}var jr,Fr={create:Wr,update:Wr};function $r(e,t,n){var r=jr;return function o(){var i=t.apply(null,arguments);null!==i&&qr(e,o,n,r)}}var Mr=Et&&!(te&&Number(te[1])<=53);function zr(e,t,n,r){if(Mr){var o=ln,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=o||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}jr.addEventListener(e,t,re?{capture:n,passive:r}:n)}function qr(e,t,n,r){(r||jr).removeEventListener(e,t._wrapper||t,n)}function Qr(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};jr=t.elm||e.elm,function(e){if(a(e.__r)){var t=K?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}a(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),Qe(n,r,zr,qr,$r,t.context),jr=void 0}}var Gr,Vr={create:Qr,update:Qr,destroy:function(e){return Qr(e,Dr)}};function Ur(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,o=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in(a(c.__ob__)||l(c._v_attr_proxy))&&(c=t.data.domProps=L({},c)),s)n in c||(o[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var u=i(r)?"":String(r);Xr(o,u)&&(o.value=u)}else if("innerHTML"===n&&mr(o.tagName)&&i(o.innerHTML)){(Gr=Gr||document.createElement("div")).innerHTML="".concat(r,"");for(var p=Gr.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;p.firstChild;)o.appendChild(p.firstChild)}else if(r!==s[n])try{o[n]=r}catch(e){}}}}function Xr(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(a(r)){if(r.number)return g(n)!==g(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Kr={create:Ur,update:Ur},Jr=D((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function Yr(e){var t=Zr(e.style);return e.staticStyle?L(e.staticStyle,t):t}function Zr(e){return Array.isArray(e)?B(e):"string"==typeof e?Jr(e):e}var eo,to=/^--/,no=/\s*!important$/,ro=function(e,t,n){if(to.test(t))e.style.setProperty(t,n);else if(no.test(n))e.style.setProperty(A(t),n.replace(no,""),"important");else{var r=io(t);if(Array.isArray(n))for(var o=0,i=n.length;o-1?t.split(so).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function uo(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(so).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function po(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&L(t,ho(e.name||"v")),L(t,e),t}return"string"==typeof e?ho(e):void 0}}var ho=D((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),vo=U&&!J,mo="transition",fo="transitionend",go="animation",yo="animationend";vo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(mo="WebkitTransition",fo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(go="WebkitAnimation",yo="webkitAnimationEnd"));var bo=U?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function wo(e){bo((function(){bo(e)}))}function Po(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),co(e,t))}function Co(e,t){e._transitionClasses&&w(e._transitionClasses,t),uo(e,t)}function Do(e,t,n){var r=So(e,t),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var l="transition"===o?fo:yo,s=0,c=function(){e.removeEventListener(l,u),n()},u=function(t){t.target===e&&++s>=a&&c()};setTimeout((function(){s0&&(n="transition",u=a,p=i.length):"animation"===t?c>0&&(n="animation",u=c,p=s.length):p=(n=(u=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===n?i.length:s.length:0,{type:n,timeout:u,propCount:p,hasTransform:"transition"===n&&ko.test(r[mo+"Property"])}}function xo(e,t){for(;e.length1}function Bo(e,t){!0!==t.data.show&&Ao(t)}var Io=function(e){var t,n,r={},c=e.modules,u=e.nodeOps;for(t=0;tv?w(e,i(n[g+1])?null:n[g+1].elm,n,h,g,r):h>g&&C(t,p,v)}(p,m,g,n,c):a(g)?(a(e.text)&&u.setTextContent(p,""),w(p,null,g,0,g.length-1,n)):a(m)?C(m,0,m.length-1):a(e.text)&&u.setTextContent(p,""):e.text!==t.text&&u.setTextContent(p,t.text),a(v)&&a(h=v.hook)&&a(h=h.postpatch)&&h(e,t)}}}function x(e,t,n){if(l(n)&&a(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(R(Wo(a),r))return void(e.selectedIndex!==l&&(e.selectedIndex=l));o||(e.selectedIndex=-1)}}function Ho(e,t){return t.every((function(t){return!R(t,e)}))}function Wo(e){return"_value"in e?e._value:e.value}function jo(e){e.target.composing=!0}function Fo(e){e.target.composing&&(e.target.composing=!1,$o(e.target,"input"))}function $o(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Mo(e){return!e.componentInstance||e.data&&e.data.transition?e:Mo(e.componentInstance._vnode)}var zo={model:No,show:{bind:function(e,t,n){var r=t.value,o=(n=Mo(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&o?(n.data.show=!0,Ao(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Mo(n)).data&&n.data.transition?(n.data.show=!0,r?Ao(n,(function(){e.style.display=e.__vOriginalDisplay})):_o(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,o){o||(e.style.display=e.__vOriginalDisplay)}}},qo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Qo(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Qo(Dt(t.children)):e}function Go(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var o=n._parentListeners;for(var r in o)t[S(r)]=o[r];return t}function Vo(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Uo=function(e){return e.tag||ht(e)},Xo=function(e){return"show"===e.name},Ko={name:"transition",props:qo,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Uo)).length){0;var r=this.mode;0;var o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var i=Qo(o);if(!i)return o;if(this._leaving)return Vo(e,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var l=(i.data||(i.data={})).transition=Go(this),c=this._vnode,u=Qo(c);if(i.data.directives&&i.data.directives.some(Xo)&&(i.data.show=!0),u&&u.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,u)&&!ht(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var p=u.data.transition=L({},l);if("out-in"===r)return this._leaving=!0,Ge(p,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),Vo(e,o);if("in-out"===r){if(ht(i))return c;var d,h=function(){d()};Ge(l,"afterEnter",h),Ge(l,"enterCancelled",h),Ge(p,"delayLeave",(function(e){d=e}))}}return o}}},Jo=L({tag:String,moveClass:String},qo);function Yo(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Zo(e){e.data.newPos=e.elm.getBoundingClientRect()}function ei(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,o=t.top-n.top;if(r||o){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}delete Jo.mode;var ti={Transition:Ko,TransitionGroup:{props:Jo,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var o=Kt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,o(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Go(this),l=0;l-1?gr[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:gr[e]=/HTMLUnknownElement/.test(t.toString())},L(Gn.options.directives,zo),L(Gn.options.components,ti),Gn.prototype.__patch__=U?Io:I,Gn.prototype.$mount=function(e,t){return function(e,t,n){var r;e.$el=t,e.$options.render||(e.$options.render=he),Zt(e,"beforeMount"),r=function(){e._update(e._render(),n)},new qt(e,r,I,{before:function(){e._isMounted&&!e._isDestroyed&&Zt(e,"beforeUpdate")}},!0),n=!1;var o=e._preWatchers;if(o)for(var i=0;i=0&&(t=e.slice(r),e=e.slice(0,r));var o=e.indexOf("?");return o>=0&&(n=e.slice(o+1),e=e.slice(0,o)),{path:e,query:n,hash:t}}(o.path||""),c=t&&t.path||"/",u=s.path?Ci(s.path,c,n||o.append):c,p=function(e,t,n){void 0===t&&(t={});var r,o=n||ci;try{r=o(e||"")}catch(e){r={}}for(var i in t){var a=t[i];r[i]=Array.isArray(a)?a.map(si):si(a)}return r}(s.query,o.query,r&&r.options.parseQuery),d=o.hash||s.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:u,query:p,hash:d}}var zi,qi=function(){},Qi={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var t=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,l=o.href,s={},c=n.options.linkActiveClass,u=n.options.linkExactActiveClass,p=null==c?"router-link-active":c,d=null==u?"router-link-exact-active":u,h=null==this.activeClass?p:this.activeClass,v=null==this.exactActiveClass?d:this.exactActiveClass,m=a.redirectedFrom?di(null,Mi(a.redirectedFrom),null,n):a;s[v]=gi(r,m,this.exactPath),s[h]=this.exact||this.exactPath?s[v]:function(e,t){return 0===e.path.replace(pi,"/").indexOf(t.path.replace(pi,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(r,m);var f=s[v]?this.ariaCurrentValue:null,g=function(e){Gi(e)&&(t.replace?n.replace(i,qi):n.push(i,qi))},y={click:Gi};Array.isArray(this.event)?this.event.forEach((function(e){y[e]=g})):y[this.event]=g;var b={class:s},w=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:l,route:a,navigate:g,isActive:s[h],isExactActive:s[v]});if(w){if(1===w.length)return w[0];if(w.length>1||!w.length)return 0===w.length?e():e("span",{},w)}if("a"===this.tag)b.on=y,b.attrs={href:l,"aria-current":f};else{var P=function e(t){var n;if(t)for(var r=0;r-1&&(l.params[d]=n.params[d]);return l.path=$i(u.path,l.params),s(u,l,a)}if(l.path){l.params={};for(var h=0;h-1}function Da(e,t){return Ca(e)&&e._isRouter&&(null==t||e.type===t)}function ka(e,t,n){var r=function(o){o>=e.length?n():e[o]?t(e[o],(function(){r(o+1)})):r(o+1)};r(0)}function Sa(e){return function(t,n,r){var o=!1,i=0,a=null;xa(e,(function(e,t,n,l){if("function"==typeof e&&void 0===e.cid){o=!0,i++;var s,c=_a((function(t){var o;((o=t).__esModule||Aa&&"Module"===o[Symbol.toStringTag])&&(t=t.default),e.resolved="function"==typeof t?t:zi.extend(t),n.components[l]=t,--i<=0&&r()})),u=_a((function(e){var t="Failed to resolve async component "+l+": "+e;a||(a=Ca(e)?e:new Error(t),r(a))}));try{s=e(c,u)}catch(e){u(e)}if(s)if("function"==typeof s.then)s.then(c,u);else{var p=s.component;p&&"function"==typeof p.then&&p.then(c,u)}}})),o||r()}}function xa(e,t){return Ta(e.map((function(e){return Object.keys(e.components).map((function(n){return t(e.components[n],e.instances[n],e,n)}))})))}function Ta(e){return Array.prototype.concat.apply([],e)}var Aa="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function _a(e){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,e.apply(this,n)}}var Ea=function(e,t){this.router=e,this.base=function(e){if(!e)if(Vi){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=vi,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function La(e,t,n,r){var o=xa(e,(function(e,r,o,i){var a=function(e,t){"function"!=typeof e&&(e=zi.extend(e));return e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map((function(e){return n(e,r,o,i)})):n(a,r,o,i)}));return Ta(r?o.reverse():o)}function Ba(e,t){if(t)return function(){return e.apply(t,arguments)}}Ea.prototype.listen=function(e){this.cb=e},Ea.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},Ea.prototype.onError=function(e){this.errorCbs.push(e)},Ea.prototype.transitionTo=function(e,t,n){var r,o=this;try{r=this.router.match(e,this.current)}catch(e){throw this.errorCbs.forEach((function(t){t(e)})),e}var i=this.current;this.confirmTransition(r,(function(){o.updateRoute(r),t&&t(r),o.ensureURL(),o.router.afterHooks.forEach((function(e){e&&e(r,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(e){e(r)})))}),(function(e){n&&n(e),e&&!o.ready&&(Da(e,ga.redirected)&&i===vi||(o.ready=!0,o.readyErrorCbs.forEach((function(t){t(e)}))))}))},Ea.prototype.confirmTransition=function(e,t,n){var r=this,o=this.current;this.pending=e;var i,a,l=function(e){!Da(e)&&Ca(e)&&(r.errorCbs.length?r.errorCbs.forEach((function(t){t(e)})):console.error(e)),n&&n(e)},s=e.matched.length-1,c=o.matched.length-1;if(gi(e,o)&&s===c&&e.matched[s]===o.matched[c])return this.ensureURL(),e.hash&&ia(this.router,o,e,!1),l(((a=wa(i=o,e,ga.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var u=function(e,t){var n,r=Math.max(e.length,t.length);for(n=0;n0)){var t=this.router,n=t.options.scrollBehavior,r=va&&n;r&&this.listeners.push(oa());var o=function(){var n=e.current,o=Na(e.base);e.current===vi&&o===e._startLocation||e.transitionTo(o,(function(e){r&&ia(t,e,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},t.prototype.go=function(e){window.history.go(e)},t.prototype.push=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){ma(Di(r.base+e.fullPath)),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){fa(Di(r.base+e.fullPath)),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.ensureURL=function(e){if(Na(this.base)!==this.current.fullPath){var t=Di(this.base+this.current.fullPath);e?ma(t):fa(t)}},t.prototype.getCurrentLocation=function(){return Na(this.base)},t}(Ea);function Na(e){var t=window.location.pathname,n=t.toLowerCase(),r=e.toLowerCase();return!e||n!==r&&0!==n.indexOf(Di(r+"/"))||(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash}var Oa=function(e){function t(t,n,r){e.call(this,t,n),r&&function(e){var t=Na(e);if(!/^\/#/.test(t))return window.location.replace(Di(e+"/#"+t)),!0}(this.base)||Ra()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var t=this.router.options.scrollBehavior,n=va&&t;n&&this.listeners.push(oa());var r=function(){var t=e.current;Ra()&&e.transitionTo(Ha(),(function(r){n&&ia(e.router,r,t,!0),va||Fa(r.fullPath)}))},o=va?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},t.prototype.push=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){ja(e.fullPath),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){Fa(e.fullPath),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.go=function(e){window.history.go(e)},t.prototype.ensureURL=function(e){var t=this.current.fullPath;Ha()!==t&&(e?ja(t):Fa(t))},t.prototype.getCurrentLocation=function(){return Ha()},t}(Ea);function Ra(){var e=Ha();return"/"===e.charAt(0)||(Fa("/"+e),!1)}function Ha(){var e=window.location.href,t=e.indexOf("#");return t<0?"":e=e.slice(t+1)}function Wa(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function ja(e){va?ma(Wa(e)):window.location.hash=e}function Fa(e){va?fa(Wa(e)):window.location.replace(Wa(e))}var $a=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index).concat(e),t&&t(e)}),n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var e=t.current;t.index=n,t.updateRoute(r),t.router.afterHooks.forEach((function(t){t&&t(r,e)}))}),(function(e){Da(e,ga.duplicated)&&(t.index=n)}))}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(Ea),Ma=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ki(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!va&&!1!==e.fallback,this.fallback&&(t="hash"),Vi||(t="abstract"),this.mode=t,t){case"history":this.history=new Ia(this,e.base);break;case"hash":this.history=new Oa(this,e.base,this.fallback);break;case"abstract":this.history=new $a(this,e.base);break;default:0}},za={currentRoute:{configurable:!0}};Ma.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},za.currentRoute.get=function(){return this.history&&this.history.current},Ma.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null),t.app||t.history.teardown()})),!this.app){this.app=e;var n=this.history;if(n instanceof Ia||n instanceof Oa){var r=function(e){n.setupListeners(),function(e){var r=n.current,o=t.options.scrollBehavior;va&&o&&"fullPath"in e&&ia(t,e,r,!1)}(e)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(e){t.apps.forEach((function(t){t._route=e}))}))}},Ma.prototype.beforeEach=function(e){return Qa(this.beforeHooks,e)},Ma.prototype.beforeResolve=function(e){return Qa(this.resolveHooks,e)},Ma.prototype.afterEach=function(e){return Qa(this.afterHooks,e)},Ma.prototype.onReady=function(e,t){this.history.onReady(e,t)},Ma.prototype.onError=function(e){this.history.onError(e)},Ma.prototype.push=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.push(e,t,n)}));this.history.push(e,t,n)},Ma.prototype.replace=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.replace(e,t,n)}));this.history.replace(e,t,n)},Ma.prototype.go=function(e){this.history.go(e)},Ma.prototype.back=function(){this.go(-1)},Ma.prototype.forward=function(){this.go(1)},Ma.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map((function(e){return Object.keys(e.components).map((function(t){return e.components[t]}))}))):[]},Ma.prototype.resolve=function(e,t,n){var r=Mi(e,t=t||this.history.current,n,this),o=this.match(r,t),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(e,t,n){var r="hash"===n?"#"+t:t;return e?Di(e+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Ma.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ma.prototype.addRoute=function(e,t){this.matcher.addRoute(e,t),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Ma.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ma.prototype,za);var qa=Ma;function Qa(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}Ma.install=function e(t){if(!e.installed||zi!==t){e.installed=!0,zi=t;var n=function(e){return void 0!==e},r=function(e,t){var r=e.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",wi),t.component("RouterLink",Qi);var o=t.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Ma.version="3.6.5",Ma.isNavigationFailure=Da,Ma.NavigationFailureType=ga,Ma.START_LOCATION=vi,Vi&&window.Vue&&window.Vue.use(Ma);n(94);n(120);var Ga={NotFound:()=>n.e(77).then(n.bind(null,667)),Layout:()=>Promise.all([n.e(0),n.e(3),n.e(16)]).then(n.bind(null,666)),Homepage:()=>Promise.all([n.e(0),n.e(17)]).then(n.bind(null,668))},Va={"v-128c2a25":()=>n.e(54).then(n.bind(null,671)),"v-03334e4d":()=>n.e(55).then(n.bind(null,672)),"v-68028296":()=>n.e(78).then(n.bind(null,673)),"v-3b19ebb6":()=>n.e(79).then(n.bind(null,674)),"v-9b4e0776":()=>n.e(80).then(n.bind(null,675)),"v-c3e4e676":()=>n.e(81).then(n.bind(null,676)),"v-4c4d56f6":()=>n.e(82).then(n.bind(null,677)),"v-4d775b7a":()=>n.e(56).then(n.bind(null,678)),"v-61d8fd52":()=>n.e(83).then(n.bind(null,679)),"v-bc3ce3b6":()=>n.e(36).then(n.bind(null,680)),"v-64599034":()=>n.e(12).then(n.bind(null,681)),"v-9d2d2936":()=>n.e(57).then(n.bind(null,682)),"v-bac53276":()=>n.e(84).then(n.bind(null,683)),"v-0516060b":()=>n.e(85).then(n.bind(null,684)),"v-6762cd1e":()=>n.e(26).then(n.bind(null,685)),"v-a46e67b2":()=>n.e(48).then(n.bind(null,686)),"v-a39385f6":()=>n.e(86).then(n.bind(null,687)),"v-9909a134":()=>n.e(87).then(n.bind(null,688)),"v-3e89bcce":()=>n.e(58).then(n.bind(null,689)),"v-5c41b537":()=>n.e(88).then(n.bind(null,690)),"v-af48c69a":()=>n.e(89).then(n.bind(null,691)),"v-43a641c1":()=>n.e(59).then(n.bind(null,692)),"v-28bb6fe9":()=>n.e(20).then(n.bind(null,693)),"v-8e93b036":()=>n.e(60).then(n.bind(null,694)),"v-1ce314c7":()=>n.e(21).then(n.bind(null,695)),"v-11279236":()=>n.e(90).then(n.bind(null,696)),"v-ba716776":()=>n.e(23).then(n.bind(null,697)),"v-17b4e927":()=>n.e(42).then(n.bind(null,698)),"v-9ed60e36":()=>n.e(24).then(n.bind(null,699)),"v-784e0e36":()=>n.e(37).then(n.bind(null,700)),"v-f5865886":()=>n.e(18).then(n.bind(null,701)),"v-1aba0945":()=>n.e(91).then(n.bind(null,702)),"v-6423130d":()=>n.e(61).then(n.bind(null,703)),"v-4a79bbe7":()=>n.e(62).then(n.bind(null,704)),"v-7afc10f6":()=>n.e(92).then(n.bind(null,705)),"v-30d086c5":()=>n.e(93).then(n.bind(null,706)),"v-45023d5a":()=>n.e(94).then(n.bind(null,707)),"v-af8f8776":()=>n.e(95).then(n.bind(null,708)),"v-8a00b836":()=>n.e(96).then(n.bind(null,709)),"v-41065f05":()=>n.e(97).then(n.bind(null,710)),"v-d21f2f34":()=>n.e(63).then(n.bind(null,711)),"v-5762b925":()=>n.e(49).then(n.bind(null,712)),"v-180c16e5":()=>n.e(98).then(n.bind(null,713)),"v-39c48f76":()=>n.e(99).then(n.bind(null,714)),"v-762b62cf":()=>n.e(100).then(n.bind(null,715)),"v-49909ce5":()=>n.e(32).then(n.bind(null,716)),"v-3ec65b5a":()=>n.e(101).then(n.bind(null,717)),"v-dc719dd2":()=>n.e(102).then(n.bind(null,718)),"v-10e3317f":()=>n.e(103).then(n.bind(null,719)),"v-b64dbc36":()=>n.e(104).then(n.bind(null,720)),"v-f2be4ef6":()=>n.e(105).then(n.bind(null,721)),"v-3d044e45":()=>n.e(106).then(n.bind(null,722)),"v-ede35016":()=>n.e(107).then(n.bind(null,723)),"v-7daf4329":()=>n.e(108).then(n.bind(null,724)),"v-6f03bcc5":()=>n.e(50).then(n.bind(null,725)),"v-8ade6c04":()=>n.e(64).then(n.bind(null,726)),"v-19638485":()=>n.e(109).then(n.bind(null,727)),"v-06e5e8b6":()=>n.e(7).then(n.bind(null,728)),"v-3a2a5ff4":()=>n.e(110).then(n.bind(null,729)),"v-bcc9c0f6":()=>n.e(111).then(n.bind(null,730)),"v-52901cc5":()=>n.e(112).then(n.bind(null,731)),"v-aeaaf052":()=>n.e(33).then(n.bind(null,732)),"v-e159d7f6":()=>n.e(34).then(n.bind(null,733)),"v-2d316036":()=>n.e(113).then(n.bind(null,734)),"v-67ccefa5":()=>n.e(114).then(n.bind(null,735)),"v-3d266a05":()=>n.e(115).then(n.bind(null,736)),"v-bf626e76":()=>n.e(116).then(n.bind(null,737)),"v-92a19676":()=>n.e(117).then(n.bind(null,738)),"v-195b101b":()=>n.e(118).then(n.bind(null,739)),"v-b69e09ee":()=>n.e(119).then(n.bind(null,740)),"v-14b9fcf5":()=>n.e(120).then(n.bind(null,741)),"v-6dcde349":()=>n.e(11).then(n.bind(null,742)),"v-1e8449a5":()=>n.e(121).then(n.bind(null,743)),"v-5a7c8936":()=>n.e(122).then(n.bind(null,744)),"v-0fd6afca":()=>n.e(27).then(n.bind(null,745)),"v-02bea796":()=>n.e(43).then(n.bind(null,746)),"v-b4e335b6":()=>n.e(44).then(n.bind(null,747)),"v-dec9d2fe":()=>n.e(28).then(n.bind(null,748)),"v-42e075f7":()=>n.e(31).then(n.bind(null,749)),"v-78e9ef70":()=>n.e(123).then(n.bind(null,750)),"v-0763789a":()=>n.e(35).then(n.bind(null,751)),"v-1eb7e25b":()=>n.e(65).then(n.bind(null,752)),"v-0c2701b6":()=>n.e(124).then(n.bind(null,753)),"v-65060acd":()=>n.e(51).then(n.bind(null,754)),"v-7900ca36":()=>n.e(29).then(n.bind(null,755)),"v-51796845":()=>n.e(66).then(n.bind(null,756)),"v-2ad91fe5":()=>n.e(13).then(n.bind(null,757)),"v-3526ef36":()=>n.e(52).then(n.bind(null,758)),"v-9b2edb34":()=>n.e(67).then(n.bind(null,759)),"v-60c4a545":()=>n.e(125).then(n.bind(null,760)),"v-21ea7c46":()=>n.e(68).then(n.bind(null,761)),"v-7a7299c2":()=>n.e(126).then(n.bind(null,762)),"v-1a5789ad":()=>n.e(69).then(n.bind(null,763)),"v-6761eaa9":()=>n.e(70).then(n.bind(null,764)),"v-25de27bb":()=>n.e(127).then(n.bind(null,765)),"v-78fb4ca5":()=>n.e(128).then(n.bind(null,766)),"v-20a8c736":()=>n.e(129).then(n.bind(null,767)),"v-eee9bb82":()=>n.e(130).then(n.bind(null,768)),"v-6a07ad05":()=>n.e(71).then(n.bind(null,769)),"v-e3db5fd8":()=>n.e(131).then(n.bind(null,770)),"v-2352e414":()=>n.e(132).then(n.bind(null,771)),"v-88980e76":()=>n.e(38).then(n.bind(null,772)),"v-8d0f1fc6":()=>n.e(9).then(n.bind(null,773)),"v-15132f85":()=>n.e(30).then(n.bind(null,774)),"v-e98912f6":()=>n.e(39).then(n.bind(null,775)),"v-15dab665":()=>n.e(72).then(n.bind(null,776)),"v-49efd338":()=>n.e(73).then(n.bind(null,777)),"v-68f6ac6a":()=>n.e(40).then(n.bind(null,778)),"v-f5202af6":()=>n.e(74).then(n.bind(null,779)),"v-40e08a05":()=>n.e(134).then(n.bind(null,780)),"v-dde32bd4":()=>n.e(133).then(n.bind(null,781)),"v-0597b005":()=>n.e(5).then(n.bind(null,782)),"v-7c2268b6":()=>n.e(136).then(n.bind(null,783)),"v-21fce50b":()=>n.e(135).then(n.bind(null,784)),"v-50ea01b4":()=>n.e(137).then(n.bind(null,785)),"v-937bc12e":()=>n.e(14).then(n.bind(null,786)),"v-9c5e78fe":()=>n.e(10).then(n.bind(null,787)),"v-784978e6":()=>n.e(138).then(n.bind(null,788)),"v-604d19c6":()=>n.e(139).then(n.bind(null,789)),"v-36032c85":()=>n.e(140).then(n.bind(null,790)),"v-31f01d3e":()=>n.e(141).then(n.bind(null,791)),"v-d4151eb6":()=>n.e(75).then(n.bind(null,792)),"v-63822f36":()=>n.e(142).then(n.bind(null,793)),"v-dae82c60":()=>n.e(76).then(n.bind(null,794)),"v-0e38183b":()=>n.e(4).then(n.bind(null,795)),"v-315abc86":()=>n.e(15).then(n.bind(null,796)),"v-5bcac676":()=>n.e(41).then(n.bind(null,797)),"v-13a93ebf":()=>n.e(22).then(n.bind(null,798)),"v-8c111c76":()=>n.e(143).then(n.bind(null,799)),"v-7d101341":()=>n.e(8).then(n.bind(null,800)),"v-53d8e985":()=>n.e(144).then(n.bind(null,801)),"v-faa5f0f6":()=>n.e(6).then(n.bind(null,802)),"v-a6ea6734":()=>n.e(53).then(n.bind(null,803)),"v-1dfa3141":()=>n.e(19).then(n.bind(null,804)),"v-51df4a0d":()=>n.e(25).then(n.bind(null,805))};function Ua(e){const t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}const Xa=/-(\w)/g,Ka=Ua(e=>e.replace(Xa,(e,t)=>t?t.toUpperCase():"")),Ja=/\B([A-Z])/g,Ya=Ua(e=>e.replace(Ja,"-$1").toLowerCase()),Za=Ua(e=>e.charAt(0).toUpperCase()+e.slice(1));function el(e,t){if(!t)return;if(e(t))return e(t);return t.includes("-")?e(Za(Ka(t))):e(Za(t))||e(Ya(t))}const tl=Object.assign({},Ga,Va),nl=e=>tl[e],rl=e=>Va[e],ol=e=>Ga[e],il=e=>Gn.component(e);function al(e){return el(rl,e)}function ll(e){return el(ol,e)}function sl(e){return el(nl,e)}function cl(e){return el(il,e)}function ul(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!cl(e)&&sl(e)){const t=await sl(e)();Gn.component(e,t.default)}}))}function pl(e,t){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=t)}var dl=n(87),hl=n.n(dl),vl=n(88),ml=n.n(vl),fl={created(){if(this.siteMeta=this.$site.headTags.filter(([e])=>"meta"===e).map(([e,t])=>t),this.$ssrContext){const t=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(e=t)?e.map(e=>{let t="{t+=` ${n}="${ml()(e[n])}"`}),t+">"}).join("\n "):"",this.$ssrContext.canonicalLink=yl(this.$canonicalUrl)}var e},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const e=this.getMergedMetaTags();this.currentMetaTags=bl(e,this.currentMetaTags)},getMergedMetaTags(){const e=this.$page.frontmatter.meta||[];return hl()([{name:"description",content:this.$description}],e,this.siteMeta,wl)},updateCanonicalLink(){gl(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",yl(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){bl(null,this.currentMetaTags),gl()}};function gl(){const e=document.querySelector("link[rel='canonical']");e&&e.remove()}function yl(e=""){return e?``:""}function bl(e,t){if(t&&[...t].filter(e=>e.parentNode===document.head).forEach(e=>document.head.removeChild(e)),e)return e.map(e=>{const t=document.createElement("meta");return Object.keys(e).forEach(n=>{t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}function wl(e){for(const t of["name","property","itemprop"])if(e.hasOwnProperty(t))return e[t]+t;return JSON.stringify(e)}var Pl=n(89),Cl={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(Pl)()((function(){this.setActiveHash()}),300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),t=[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(e=>e.hash===t.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let e=0;e=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Dl=n(21),kl=n.n(Dl),Sl={mounted(){kl.a.configure({showSpinner:!1}),this.$router.beforeEach((e,t,n)=>{e.path===t.path||Gn.component(e.name)||kl.a.start(),n()}),this.$router.afterEach(()=>{kl.a.done(),this.isSidebarOpen=!1})}},xl={props:{parent:Object,code:String,options:{align:String,color:String,backgroundTransition:Boolean,backgroundColor:String,successText:String,staticIcon:Boolean}},data:()=>({success:!1,originalBackground:null,originalTransition:null}),computed:{alignStyle(){let e={};return e[this.options.align]="7.5px",e},iconClass(){return this.options.staticIcon?"":"hover"}},mounted(){this.originalTransition=this.parent.style.transition,this.originalBackground=this.parent.style.background},beforeDestroy(){this.parent.style.transition=this.originalTransition,this.parent.style.background=this.originalBackground},methods:{hexToRgb(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null},copyToClipboard(e){if(navigator.clipboard)navigator.clipboard.writeText(this.code).then(()=>{this.setSuccessTransitions()},()=>{});else{let e=document.createElement("textarea");document.body.appendChild(e),e.value=this.code,e.select(),document.execCommand("Copy"),e.remove(),this.setSuccessTransitions()}},setSuccessTransitions(){if(clearTimeout(this.successTimeout),this.options.backgroundTransition){this.parent.style.transition="background 350ms";let e=this.hexToRgb(this.options.backgroundColor);this.parent.style.background=`rgba(${e.r}, ${e.g}, ${e.b}, 0.1)`}this.success=!0,this.successTimeout=setTimeout(()=>{this.options.backgroundTransition&&(this.parent.style.background=this.originalBackground,this.parent.style.transition=this.originalTransition),this.success=!1},500)}}},Tl=(n(225),n(9)),Al=Object(Tl.a)(xl,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"code-copy"},[t("svg",{class:e.iconClass,style:e.alignStyle,attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},on:{click:e.copyToClipboard}},[t("path",{attrs:{fill:"none",d:"M0 0h24v24H0z"}}),e._v(" "),t("path",{attrs:{fill:e.options.color,d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}})]),e._v(" "),t("span",{class:e.success?"success":"",style:e.alignStyle},[e._v("\n "+e._s(e.options.successText)+"\n ")])])}),[],!1,null,"49140617",null).exports,_l=(n(226),{updated(){this.update()},methods:{update(){setTimeout(()=>{document.querySelectorAll('div[class*="language-"] pre').forEach(e=>{if(e.classList.contains("code-copy-added"))return;let t=new(Gn.extend(Al));t.options={align:"bottom",color:"#8F979E",backgroundTransition:!1,backgroundColor:"#0075b8",successText:"Copied!",staticIcon:!0},t.code=e.innerText,t.parent=e,t.$mount(),e.classList.add("code-copy-added"),e.appendChild(t.$el)})},100)}}}),El=(n(227),Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},o=function(e){var t=e.target;t!==S?-1!==b.indexOf(t)&&m({target:t}):v()},i=function(){if(!P&&k.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(C-e)>D.scrollOffset&&setTimeout(v,150)}},a=function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||v()},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(S.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=El({},D.container,e.container)),e.template){var n=Bl(e.template)?e.template:document.querySelector(e.template);t.template=n}return D=El({},D,t),b.forEach((function(e){e.dispatchEvent(Hl("medium-zoom:update",{detail:{zoom:x}}))})),x},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(El({},D,t))},c=function(){for(var e=arguments.length,t=Array(e),n=0;n0?t.reduce((function(e,t){return[].concat(e,Nl(t))}),[]):b;return r.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(Hl("medium-zoom:detach",{detail:{zoom:x}}))})),b=b.filter((function(e){return-1===r.indexOf(e)})),x},p=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(r){r.addEventListener("medium-zoom:"+e,t,n)})),w.push({type:"medium-zoom:"+e,listener:t,options:n}),x},d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(r){r.removeEventListener("medium-zoom:"+e,t,n)})),w=w.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),x},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(D.container)if(D.container instanceof Object)t=(e=El({},e,D.container)).width-e.left-e.right-2*D.margin,n=e.height-e.top-e.bottom-2*D.margin;else{var r=(Bl(D.container)?D.container:document.querySelector(D.container)).getBoundingClientRect(),o=r.width,i=r.height,a=r.left,l=r.top;e=El({},e,{width:o,height:i,left:a,top:l})}t=t||e.width-2*D.margin,n=n||e.height-2*D.margin;var s=k.zoomedHd||k.original,c=Il(s)?t:s.naturalWidth||t,u=Il(s)?n:s.naturalHeight||n,p=s.getBoundingClientRect(),d=p.top,h=p.left,v=p.width,m=p.height,f=Math.min(c,t)/v,g=Math.min(u,n)/m,y=Math.min(f,g),b="scale("+y+") translate3d("+((t-v)/2-h+D.margin+e.left)/y+"px, "+((n-m)/2-d+D.margin+e.top)/y+"px, 0)";k.zoomed.style.transform=b,k.zoomedHd&&(k.zoomedHd.style.transform=b)};return new r((function(e){if(t&&-1===b.indexOf(t))e(x);else{if(k.zoomed)e(x);else{if(t)k.original=t;else{if(!(b.length>0))return void e(x);var r=b;k.original=r[0]}if(k.original.dispatchEvent(Hl("medium-zoom:open",{detail:{zoom:x}})),C=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,P=!0,k.zoomed=Rl(k.original),document.body.appendChild(S),D.template){var o=Bl(D.template)?D.template:document.querySelector(D.template);k.template=document.createElement("div"),k.template.appendChild(o.content.cloneNode(!0)),document.body.appendChild(k.template)}if(document.body.appendChild(k.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),k.original.classList.add("medium-zoom-image--hidden"),k.zoomed.classList.add("medium-zoom-image--opened"),k.zoomed.addEventListener("click",v),k.zoomed.addEventListener("transitionend",(function t(){P=!1,k.zoomed.removeEventListener("transitionend",t),k.original.dispatchEvent(Hl("medium-zoom:opened",{detail:{zoom:x}})),e(x)})),k.original.getAttribute("data-zoom-src")){k.zoomedHd=k.zoomed.cloneNode(),k.zoomedHd.removeAttribute("srcset"),k.zoomedHd.removeAttribute("sizes"),k.zoomedHd.src=k.zoomed.getAttribute("data-zoom-src"),k.zoomedHd.onerror=function(){clearInterval(i),console.warn("Unable to reach the zoom image target "+k.zoomedHd.src),k.zoomedHd=null,n()};var i=setInterval((function(){k.zoomedHd.complete&&(clearInterval(i),k.zoomedHd.classList.add("medium-zoom-image--opened"),k.zoomedHd.addEventListener("click",v),document.body.appendChild(k.zoomedHd),n())}),10)}else if(k.original.hasAttribute("srcset")){k.zoomedHd=k.zoomed.cloneNode(),k.zoomedHd.removeAttribute("sizes"),k.zoomedHd.removeAttribute("loading");var a=k.zoomedHd.addEventListener("load",(function(){k.zoomedHd.removeEventListener("load",a),k.zoomedHd.classList.add("medium-zoom-image--opened"),k.zoomedHd.addEventListener("click",v),document.body.appendChild(k.zoomedHd),n()}))}else n()}}}))},v=function(){return new r((function(e){if(!P&&k.original){P=!0,document.body.classList.remove("medium-zoom--opened"),k.zoomed.style.transform="",k.zoomedHd&&(k.zoomedHd.style.transform=""),k.template&&(k.template.style.transition="opacity 150ms",k.template.style.opacity=0),k.original.dispatchEvent(Hl("medium-zoom:close",{detail:{zoom:x}})),k.zoomed.addEventListener("transitionend",(function t(){k.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(k.zoomed),k.zoomedHd&&document.body.removeChild(k.zoomedHd),document.body.removeChild(S),k.zoomed.classList.remove("medium-zoom-image--opened"),k.template&&document.body.removeChild(k.template),P=!1,k.zoomed.removeEventListener("transitionend",t),k.original.dispatchEvent(Hl("medium-zoom:closed",{detail:{zoom:x}})),k.original=null,k.zoomed=null,k.zoomedHd=null,k.template=null,e(x)}))}else e(x)}))},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;return k.original?v():h({target:t})},f=function(){return D},g=function(){return b},y=function(){return k.original},b=[],w=[],P=!1,C=0,D=n,k={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?D=t:(t||"string"==typeof t)&&c(t),D=El({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},D);var S=Ol(D.background);document.addEventListener("click",o),document.addEventListener("keyup",a),document.addEventListener("scroll",i),window.addEventListener("resize",v);var x={open:h,close:v,toggle:m,update:l,clone:s,attach:c,detach:u,on:p,off:d,getOptions:f,getImages:g,getZoomedImage:y};return x},jl=[fl,Cl,Sl,_l,{data:()=>({zoom:null}),mounted(){this.updateZoom()},updated(){this.updateZoom()},methods:{updateZoom(){setTimeout(()=>{this.zoom&&this.zoom.detach(),this.zoom=Wl(".theme-default-content :not(a) > img",void 0)},1e3)}}}],Fl={name:"GlobalLayout",computed:{layout(){const e=this.getLayout();return pl("layout",e),Gn.component(e)}},methods:{getLayout(){if(this.$page.path){const e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}}},$l=Object(Tl.a)(Fl,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":e[t]||(e[t]=[]),e[t].push(...n);break;default:throw new Error("Unknown option name.")}}($l,"mixins",jl);const Ml=[{name:"v-128c2a25",path:"/AdvancedForms/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-128c2a25").then(n)}},{path:"/AdvancedForms/index.html",redirect:"/AdvancedForms/"},{path:"/AdvancedForms.html",redirect:"/AdvancedForms/"},{name:"v-03334e4d",path:"/Apps/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-03334e4d").then(n)}},{path:"/Apps/index.html",redirect:"/Apps/"},{path:"/Apps.html",redirect:"/Apps/"},{name:"v-68028296",path:"/BTCPayServer/LocalDevSetup/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-68028296").then(n)}},{path:"/BTCPayServer/LocalDevSetup/index.html",redirect:"/BTCPayServer/LocalDevSetup/"},{path:"/BTCPayServer/LocalDevSetup.html",redirect:"/BTCPayServer/LocalDevSetup/"},{name:"v-3b19ebb6",path:"/BTCPayServer/Security/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3b19ebb6").then(n)}},{path:"/BTCPayServer/Security/index.html",redirect:"/BTCPayServer/Security/"},{path:"/BTCPayServer/Security.html",redirect:"/BTCPayServer/Security/"},{name:"v-9b4e0776",path:"/BTCPayServer/db-migration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9b4e0776").then(n)}},{path:"/BTCPayServer/db-migration/index.html",redirect:"/BTCPayServer/db-migration/"},{path:"/BTCPayServer/db-migration.html",redirect:"/BTCPayServer/db-migration/"},{name:"v-c3e4e676",path:"/BTCPayServer/greenfield-authorization/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-c3e4e676").then(n)}},{path:"/BTCPayServer/greenfield-authorization/index.html",redirect:"/BTCPayServer/greenfield-authorization/"},{path:"/BTCPayServer/greenfield-authorization.html",redirect:"/BTCPayServer/greenfield-authorization/"},{name:"v-4c4d56f6",path:"/BTCPayServer/greenfield-development/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-4c4d56f6").then(n)}},{path:"/BTCPayServer/greenfield-development/index.html",redirect:"/BTCPayServer/greenfield-development/"},{path:"/BTCPayServer/greenfield-development.html",redirect:"/BTCPayServer/greenfield-development/"},{name:"v-4d775b7a",path:"/BTCPayVsOthers/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-4d775b7a").then(n)}},{path:"/BTCPayVsOthers/index.html",redirect:"/BTCPayVsOthers/"},{path:"/BTCPayVsOthers.html",redirect:"/BTCPayVsOthers/"},{name:"v-61d8fd52",path:"/ColdCardWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-61d8fd52").then(n)}},{path:"/ColdCardWallet/index.html",redirect:"/ColdCardWallet/"},{path:"/ColdCardWallet.html",redirect:"/ColdCardWallet/"},{name:"v-bc3ce3b6",path:"/Community/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bc3ce3b6").then(n)}},{path:"/Community/index.html",redirect:"/Community/"},{path:"/Community.html",redirect:"/Community/"},{name:"v-64599034",path:"/Configurator/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-64599034").then(n)}},{path:"/Configurator/index.html",redirect:"/Configurator/"},{name:"v-9d2d2936",path:"/ConnectWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9d2d2936").then(n)}},{path:"/ConnectWallet/index.html",redirect:"/ConnectWallet/"},{path:"/ConnectWallet.html",redirect:"/ConnectWallet/"},{name:"v-bac53276",path:"/Contribute/Design/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bac53276").then(n)}},{path:"/Contribute/Design/index.html",redirect:"/Contribute/Design/"},{path:"/Contribute/Design.html",redirect:"/Contribute/Design/"},{name:"v-0516060b",path:"/Contribute/Dev/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0516060b").then(n)}},{path:"/Contribute/Dev/index.html",redirect:"/Contribute/Dev/"},{path:"/Contribute/Dev.html",redirect:"/Contribute/Dev/"},{name:"v-6762cd1e",path:"/Contribute/DevCode/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6762cd1e").then(n)}},{path:"/Contribute/DevCode/index.html",redirect:"/Contribute/DevCode/"},{path:"/Contribute/DevCode.html",redirect:"/Contribute/DevCode/"},{name:"v-a46e67b2",path:"/Contribute/DevTest/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-a46e67b2").then(n)}},{path:"/Contribute/DevTest/index.html",redirect:"/Contribute/DevTest/"},{path:"/Contribute/DevTest.html",redirect:"/Contribute/DevTest/"},{name:"v-a39385f6",path:"/Contribute/Misc/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-a39385f6").then(n)}},{path:"/Contribute/Misc/index.html",redirect:"/Contribute/Misc/"},{path:"/Contribute/Misc.html",redirect:"/Contribute/Misc/"},{name:"v-9909a134",path:"/Contribute/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9909a134").then(n)}},{path:"/Contribute/index.html",redirect:"/Contribute/"},{name:"v-3e89bcce",path:"/Contribute/Translate/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3e89bcce").then(n)}},{path:"/Contribute/Translate/index.html",redirect:"/Contribute/Translate/"},{path:"/Contribute/Translate.html",redirect:"/Contribute/Translate/"},{name:"v-5c41b537",path:"/Contribute/Write/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5c41b537").then(n)}},{path:"/Contribute/Write/index.html",redirect:"/Contribute/Write/"},{path:"/Contribute/Write.html",redirect:"/Contribute/Write/"},{name:"v-af48c69a",path:"/Contribute/WriteBlog/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-af48c69a").then(n)}},{path:"/Contribute/WriteBlog/index.html",redirect:"/Contribute/WriteBlog/"},{path:"/Contribute/WriteBlog.html",redirect:"/Contribute/WriteBlog/"},{name:"v-43a641c1",path:"/Contribute/WriteDocs/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-43a641c1").then(n)}},{path:"/Contribute/WriteDocs/index.html",redirect:"/Contribute/WriteDocs/"},{path:"/Contribute/WriteDocs.html",redirect:"/Contribute/WriteDocs/"},{name:"v-28bb6fe9",path:"/Contribute/WriteSoftware/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-28bb6fe9").then(n)}},{path:"/Contribute/WriteSoftware/index.html",redirect:"/Contribute/WriteSoftware/"},{path:"/Contribute/WriteSoftware.html",redirect:"/Contribute/WriteSoftware/"},{name:"v-8e93b036",path:"/CreateStore/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8e93b036").then(n)}},{path:"/CreateStore/index.html",redirect:"/CreateStore/"},{path:"/CreateStore.html",redirect:"/CreateStore/"},{name:"v-1ce314c7",path:"/CreateWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1ce314c7").then(n)}},{path:"/CreateWallet/index.html",redirect:"/CreateWallet/"},{path:"/CreateWallet.html",redirect:"/CreateWallet/"},{name:"v-11279236",path:"/CustomIntegration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-11279236").then(n)}},{path:"/CustomIntegration/index.html",redirect:"/CustomIntegration/"},{path:"/CustomIntegration.html",redirect:"/CustomIntegration/"},{name:"v-ba716776",path:"/Dashboard/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-ba716776").then(n)}},{path:"/Dashboard/index.html",redirect:"/Dashboard/"},{path:"/Dashboard.html",redirect:"/Dashboard/"},{name:"v-17b4e927",path:"/Deployment/Azure/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-17b4e927").then(n)}},{path:"/Deployment/Azure/index.html",redirect:"/Deployment/Azure/"},{path:"/Deployment/Azure.html",redirect:"/Deployment/Azure/"},{name:"v-9ed60e36",path:"/Deployment/AzurePennyPinching/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9ed60e36").then(n)}},{path:"/Deployment/AzurePennyPinching/index.html",redirect:"/Deployment/AzurePennyPinching/"},{path:"/Deployment/AzurePennyPinching.html",redirect:"/Deployment/AzurePennyPinching/"},{name:"v-784e0e36",path:"/Deployment/Clovyr/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-784e0e36").then(n)}},{path:"/Deployment/Clovyr/index.html",redirect:"/Deployment/Clovyr/"},{path:"/Deployment/Clovyr.html",redirect:"/Deployment/Clovyr/"},{name:"v-f5865886",path:"/Deployment/DreamlabNetwork/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-f5865886").then(n)}},{path:"/Deployment/DreamlabNetwork/index.html",redirect:"/Deployment/DreamlabNetwork/"},{path:"/Deployment/DreamlabNetwork.html",redirect:"/Deployment/DreamlabNetwork/"},{name:"v-1aba0945",path:"/Deployment/DynamicDNS/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1aba0945").then(n)}},{path:"/Deployment/DynamicDNS/index.html",redirect:"/Deployment/DynamicDNS/"},{path:"/Deployment/DynamicDNS.html",redirect:"/Deployment/DynamicDNS/"},{name:"v-6423130d",path:"/Deployment/GoogleCloud/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6423130d").then(n)}},{path:"/Deployment/GoogleCloud/index.html",redirect:"/Deployment/GoogleCloud/"},{path:"/Deployment/GoogleCloud.html",redirect:"/Deployment/GoogleCloud/"},{name:"v-4a79bbe7",path:"/Deployment/Hack0/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-4a79bbe7").then(n)}},{path:"/Deployment/Hack0/index.html",redirect:"/Deployment/Hack0/"},{path:"/Deployment/Hack0.html",redirect:"/Deployment/Hack0/"},{name:"v-7afc10f6",path:"/Deployment/Hardware/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7afc10f6").then(n)}},{path:"/Deployment/Hardware/index.html",redirect:"/Deployment/Hardware/"},{path:"/Deployment/Hardware.html",redirect:"/Deployment/Hardware/"},{name:"v-30d086c5",path:"/Deployment/HardwareAsAService/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-30d086c5").then(n)}},{path:"/Deployment/HardwareAsAService/index.html",redirect:"/Deployment/HardwareAsAService/"},{path:"/Deployment/HardwareAsAService.html",redirect:"/Deployment/HardwareAsAService/"},{name:"v-45023d5a",path:"/Deployment/LightningInABox/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-45023d5a").then(n)}},{path:"/Deployment/LightningInABox/index.html",redirect:"/Deployment/LightningInABox/"},{path:"/Deployment/LightningInABox.html",redirect:"/Deployment/LightningInABox/"},{name:"v-af8f8776",path:"/Deployment/LunaNode/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-af8f8776").then(n)}},{path:"/Deployment/LunaNode/index.html",redirect:"/Deployment/LunaNode/"},{path:"/Deployment/LunaNode.html",redirect:"/Deployment/LunaNode/"},{name:"v-8a00b836",path:"/Deployment/ManualDeployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8a00b836").then(n)}},{path:"/Deployment/ManualDeployment/index.html",redirect:"/Deployment/ManualDeployment/"},{path:"/Deployment/ManualDeployment.html",redirect:"/Deployment/ManualDeployment/"},{name:"v-41065f05",path:"/Deployment/ManualDeploymentExtended/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-41065f05").then(n)}},{path:"/Deployment/ManualDeploymentExtended/index.html",redirect:"/Deployment/ManualDeploymentExtended/"},{path:"/Deployment/ManualDeploymentExtended.html",redirect:"/Deployment/ManualDeploymentExtended/"},{name:"v-d21f2f34",path:"/Deployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-d21f2f34").then(n)}},{path:"/Deployment/index.html",redirect:"/Deployment/"},{name:"v-5762b925",path:"/Deployment/RaspberryPi4/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5762b925").then(n)}},{path:"/Deployment/RaspberryPi4/index.html",redirect:"/Deployment/RaspberryPi4/"},{path:"/Deployment/RaspberryPi4.html",redirect:"/Deployment/RaspberryPi4/"},{name:"v-180c16e5",path:"/Deployment/ReverseProxyToTor/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-180c16e5").then(n)}},{path:"/Deployment/ReverseProxyToTor/index.html",redirect:"/Deployment/ReverseProxyToTor/"},{path:"/Deployment/ReverseProxyToTor.html",redirect:"/Deployment/ReverseProxyToTor/"},{name:"v-39c48f76",path:"/Deployment/ReverseSSHtunnel/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-39c48f76").then(n)}},{path:"/Deployment/ReverseSSHtunnel/index.html",redirect:"/Deployment/ReverseSSHtunnel/"},{path:"/Deployment/ReverseSSHtunnel.html",redirect:"/Deployment/ReverseSSHtunnel/"},{name:"v-762b62cf",path:"/Deployment/ThirdPartyHosting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-762b62cf").then(n)}},{path:"/Deployment/ThirdPartyHosting/index.html",redirect:"/Deployment/ThirdPartyHosting/"},{path:"/Deployment/ThirdPartyHosting.html",redirect:"/Deployment/ThirdPartyHosting/"},{name:"v-49909ce5",path:"/Deployment/voltagecloud/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-49909ce5").then(n)}},{path:"/Deployment/voltagecloud/index.html",redirect:"/Deployment/voltagecloud/"},{path:"/Deployment/voltagecloud.html",redirect:"/Deployment/voltagecloud/"},{name:"v-3ec65b5a",path:"/Deployment/webdeployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3ec65b5a").then(n)}},{path:"/Deployment/webdeployment/index.html",redirect:"/Deployment/webdeployment/"},{path:"/Deployment/webdeployment.html",redirect:"/Deployment/webdeployment/"},{name:"v-dc719dd2",path:"/Development/Altcoins/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-dc719dd2").then(n)}},{path:"/Development/Altcoins/index.html",redirect:"/Development/Altcoins/"},{path:"/Development/Altcoins.html",redirect:"/Development/Altcoins/"},{name:"v-10e3317f",path:"/Development/GreenFieldExample-NodeJS/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-10e3317f").then(n)}},{path:"/Development/GreenFieldExample-NodeJS/index.html",redirect:"/Development/GreenFieldExample-NodeJS/"},{path:"/Development/GreenFieldExample-NodeJS.html",redirect:"/Development/GreenFieldExample-NodeJS/"},{name:"v-b64dbc36",path:"/Development/GreenFieldExample/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-b64dbc36").then(n)}},{path:"/Development/GreenFieldExample/index.html",redirect:"/Development/GreenFieldExample/"},{path:"/Development/GreenFieldExample.html",redirect:"/Development/GreenFieldExample/"},{name:"v-f2be4ef6",path:"/Development/GreenfieldExample-PHP/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-f2be4ef6").then(n)}},{path:"/Development/GreenfieldExample-PHP/index.html",redirect:"/Development/GreenfieldExample-PHP/"},{path:"/Development/GreenfieldExample-PHP.html",redirect:"/Development/GreenfieldExample-PHP/"},{name:"v-3d044e45",path:"/Development/InvoiceMetadata/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3d044e45").then(n)}},{path:"/Development/InvoiceMetadata/index.html",redirect:"/Development/InvoiceMetadata/"},{path:"/Development/InvoiceMetadata.html",redirect:"/Development/InvoiceMetadata/"},{name:"v-ede35016",path:"/Development/LocalDev/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-ede35016").then(n)}},{path:"/Development/LocalDev/index.html",redirect:"/Development/LocalDev/"},{path:"/Development/LocalDev.html",redirect:"/Development/LocalDev/"},{name:"v-7daf4329",path:"/Development/LocalDevelopment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7daf4329").then(n)}},{path:"/Development/LocalDevelopment/index.html",redirect:"/Development/LocalDevelopment/"},{path:"/Development/LocalDevelopment.html",redirect:"/Development/LocalDevelopment/"},{name:"v-6f03bcc5",path:"/Development/Plugins/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6f03bcc5").then(n)}},{path:"/Development/Plugins/index.html",redirect:"/Development/Plugins/"},{path:"/Development/Plugins.html",redirect:"/Development/Plugins/"},{name:"v-8ade6c04",path:"/Development/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8ade6c04").then(n)}},{path:"/Development/index.html",redirect:"/Development/"},{name:"v-19638485",path:"/Development/TestnetDemo/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-19638485").then(n)}},{path:"/Development/TestnetDemo/index.html",redirect:"/Development/TestnetDemo/"},{path:"/Development/TestnetDemo.html",redirect:"/Development/TestnetDemo/"},{name:"v-06e5e8b6",path:"/Development/Theme/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-06e5e8b6").then(n)}},{path:"/Development/Theme/index.html",redirect:"/Development/Theme/"},{path:"/Development/Theme.html",redirect:"/Development/Theme/"},{name:"v-3a2a5ff4",path:"/Docker/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3a2a5ff4").then(n)}},{path:"/Docker/index.html",redirect:"/Docker/"},{name:"v-bcc9c0f6",path:"/Docker/backup-restore/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bcc9c0f6").then(n)}},{path:"/Docker/backup-restore/index.html",redirect:"/Docker/backup-restore/"},{path:"/Docker/backup-restore.html",redirect:"/Docker/backup-restore/"},{name:"v-52901cc5",path:"/Docker/chatwoot/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-52901cc5").then(n)}},{path:"/Docker/chatwoot/index.html",redirect:"/Docker/chatwoot/"},{path:"/Docker/chatwoot.html",redirect:"/Docker/chatwoot/"},{name:"v-aeaaf052",path:"/Docker/cloudflare-tunnel/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-aeaaf052").then(n)}},{path:"/Docker/cloudflare-tunnel/index.html",redirect:"/Docker/cloudflare-tunnel/"},{path:"/Docker/cloudflare-tunnel.html",redirect:"/Docker/cloudflare-tunnel/"},{name:"v-e159d7f6",path:"/Docker/fastsync/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-e159d7f6").then(n)}},{path:"/Docker/fastsync/index.html",redirect:"/Docker/fastsync/"},{path:"/Docker/fastsync.html",redirect:"/Docker/fastsync/"},{name:"v-2d316036",path:"/Docker/fireflyiii/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-2d316036").then(n)}},{path:"/Docker/fireflyiii/index.html",redirect:"/Docker/fireflyiii/"},{path:"/Docker/fireflyiii.html",redirect:"/Docker/fireflyiii/"},{name:"v-67ccefa5",path:"/Docker/joinmarket/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-67ccefa5").then(n)}},{path:"/Docker/joinmarket/index.html",redirect:"/Docker/joinmarket/"},{path:"/Docker/joinmarket.html",redirect:"/Docker/joinmarket/"},{name:"v-3d266a05",path:"/Docker/lightning-terminal/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3d266a05").then(n)}},{path:"/Docker/lightning-terminal/index.html",redirect:"/Docker/lightning-terminal/"},{path:"/Docker/lightning-terminal.html",redirect:"/Docker/lightning-terminal/"},{name:"v-bf626e76",path:"/Docker/ndlc/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bf626e76").then(n)}},{path:"/Docker/ndlc/index.html",redirect:"/Docker/ndlc/"},{path:"/Docker/ndlc.html",redirect:"/Docker/ndlc/"},{name:"v-92a19676",path:"/Docker/pihole/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-92a19676").then(n)}},{path:"/Docker/pihole/index.html",redirect:"/Docker/pihole/"},{path:"/Docker/pihole.html",redirect:"/Docker/pihole/"},{name:"v-195b101b",path:"/Docker/tallycoin-connect/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-195b101b").then(n)}},{path:"/Docker/tallycoin-connect/index.html",redirect:"/Docker/tallycoin-connect/"},{path:"/Docker/tallycoin-connect.html",redirect:"/Docker/tallycoin-connect/"},{name:"v-b69e09ee",path:"/Drupal/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-b69e09ee").then(n)}},{path:"/Drupal/index.html",redirect:"/Drupal/"},{path:"/Drupal.html",redirect:"/Drupal/"},{name:"v-14b9fcf5",path:"/ElectrumPersonalServer/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-14b9fcf5").then(n)}},{path:"/ElectrumPersonalServer/index.html",redirect:"/ElectrumPersonalServer/"},{path:"/ElectrumPersonalServer.html",redirect:"/ElectrumPersonalServer/"},{name:"v-6dcde349",path:"/ElectrumWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6dcde349").then(n)}},{path:"/ElectrumWallet/index.html",redirect:"/ElectrumWallet/"},{path:"/ElectrumWallet.html",redirect:"/ElectrumWallet/"},{name:"v-1e8449a5",path:"/ElectrumX/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1e8449a5").then(n)}},{path:"/ElectrumX/index.html",redirect:"/ElectrumX/"},{path:"/ElectrumX.html",redirect:"/ElectrumX/"},{name:"v-5a7c8936",path:"/FAQ/Altcoin/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5a7c8936").then(n)}},{path:"/FAQ/Altcoin/index.html",redirect:"/FAQ/Altcoin/"},{path:"/FAQ/Altcoin.html",redirect:"/FAQ/Altcoin/"},{name:"v-0fd6afca",path:"/FAQ/Apps/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0fd6afca").then(n)}},{path:"/FAQ/Apps/index.html",redirect:"/FAQ/Apps/"},{path:"/FAQ/Apps.html",redirect:"/FAQ/Apps/"},{name:"v-02bea796",path:"/FAQ/Deployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-02bea796").then(n)}},{path:"/FAQ/Deployment/index.html",redirect:"/FAQ/Deployment/"},{path:"/FAQ/Deployment.html",redirect:"/FAQ/Deployment/"},{name:"v-b4e335b6",path:"/FAQ/General/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-b4e335b6").then(n)}},{path:"/FAQ/General/index.html",redirect:"/FAQ/General/"},{path:"/FAQ/General.html",redirect:"/FAQ/General/"},{name:"v-dec9d2fe",path:"/FAQ/Integrations/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-dec9d2fe").then(n)}},{path:"/FAQ/Integrations/index.html",redirect:"/FAQ/Integrations/"},{path:"/FAQ/Integrations.html",redirect:"/FAQ/Integrations/"},{name:"v-42e075f7",path:"/FAQ/LightningNetwork/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-42e075f7").then(n)}},{path:"/FAQ/LightningNetwork/index.html",redirect:"/FAQ/LightningNetwork/"},{path:"/FAQ/LightningNetwork.html",redirect:"/FAQ/LightningNetwork/"},{name:"v-78e9ef70",path:"/FAQ/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-78e9ef70").then(n)}},{path:"/FAQ/index.html",redirect:"/FAQ/"},{name:"v-0763789a",path:"/FAQ/ServerSettings/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0763789a").then(n)}},{path:"/FAQ/ServerSettings/index.html",redirect:"/FAQ/ServerSettings/"},{path:"/FAQ/ServerSettings.html",redirect:"/FAQ/ServerSettings/"},{name:"v-1eb7e25b",path:"/FAQ/Stores/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1eb7e25b").then(n)}},{path:"/FAQ/Stores/index.html",redirect:"/FAQ/Stores/"},{path:"/FAQ/Stores.html",redirect:"/FAQ/Stores/"},{name:"v-0c2701b6",path:"/FAQ/Synchronization/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0c2701b6").then(n)}},{path:"/FAQ/Synchronization/index.html",redirect:"/FAQ/Synchronization/"},{path:"/FAQ/Synchronization.html",redirect:"/FAQ/Synchronization/"},{name:"v-65060acd",path:"/FAQ/Wallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-65060acd").then(n)}},{path:"/FAQ/Wallet/index.html",redirect:"/FAQ/Wallet/"},{path:"/FAQ/Wallet.html",redirect:"/FAQ/Wallet/"},{name:"v-7900ca36",path:"/Forms/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7900ca36").then(n)}},{path:"/Forms/index.html",redirect:"/Forms/"},{path:"/Forms.html",redirect:"/Forms/"},{name:"v-51796845",path:"/Guide/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-51796845").then(n)}},{path:"/Guide/index.html",redirect:"/Guide/"},{path:"/Guide.html",redirect:"/Guide/"},{name:"v-2ad91fe5",path:"/HardwareWalletIntegration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-2ad91fe5").then(n)}},{path:"/HardwareWalletIntegration/index.html",redirect:"/HardwareWalletIntegration/"},{path:"/HardwareWalletIntegration.html",redirect:"/HardwareWalletIntegration/"},{name:"v-3526ef36",path:"/Invoices/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3526ef36").then(n)}},{path:"/Invoices/index.html",redirect:"/Invoices/"},{path:"/Invoices.html",redirect:"/Invoices/"},{name:"v-9b2edb34",path:"/LNDhubAPI/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9b2edb34").then(n)}},{path:"/LNDhubAPI/index.html",redirect:"/LNDhubAPI/"},{name:"v-60c4a545",path:"/LNbank/LNDhub/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-60c4a545").then(n)}},{path:"/LNbank/LNDhub/index.html",redirect:"/LNbank/LNDhub/"},{path:"/LNbank/LNDhub.html",redirect:"/LNbank/LNDhub/"},{name:"v-21ea7c46",path:"/LNbank/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-21ea7c46").then(n)}},{path:"/LNbank/index.html",redirect:"/LNbank/"},{name:"v-7a7299c2",path:"/LNbank/Troubleshooting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7a7299c2").then(n)}},{path:"/LNbank/Troubleshooting/index.html",redirect:"/LNbank/Troubleshooting/"},{path:"/LNbank/Troubleshooting.html",redirect:"/LNbank/Troubleshooting/"},{name:"v-1a5789ad",path:"/LedgerWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1a5789ad").then(n)}},{path:"/LedgerWallet/index.html",redirect:"/LedgerWallet/"},{path:"/LedgerWallet.html",redirect:"/LedgerWallet/"},{name:"v-6761eaa9",path:"/LightningNetwork/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6761eaa9").then(n)}},{path:"/LightningNetwork/index.html",redirect:"/LightningNetwork/"},{path:"/LightningNetwork.html",redirect:"/LightningNetwork/"},{name:"v-25de27bb",path:"/LightningNetwork_PaymentChannels/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-25de27bb").then(n)}},{path:"/LightningNetwork_PaymentChannels/index.html",redirect:"/LightningNetwork_PaymentChannels/"},{path:"/LightningNetwork_PaymentChannels.html",redirect:"/LightningNetwork_PaymentChannels/"},{name:"v-78fb4ca5",path:"/Magento/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-78fb4ca5").then(n)}},{path:"/Magento/index.html",redirect:"/Magento/"},{path:"/Magento.html",redirect:"/Magento/"},{name:"v-20a8c736",path:"/NBXplorer/API/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-20a8c736").then(n)}},{path:"/NBXplorer/API/index.html",redirect:"/NBXplorer/API/"},{path:"/NBXplorer/API.html",redirect:"/NBXplorer/API/"},{name:"v-eee9bb82",path:"/NBXplorer/Postgres-Migration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-eee9bb82").then(n)}},{path:"/NBXplorer/Postgres-Migration/index.html",redirect:"/NBXplorer/Postgres-Migration/"},{path:"/NBXplorer/Postgres-Migration.html",redirect:"/NBXplorer/Postgres-Migration/"},{name:"v-6a07ad05",path:"/NBXplorer/Postgres-Schema/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6a07ad05").then(n)}},{path:"/NBXplorer/Postgres-Schema/index.html",redirect:"/NBXplorer/Postgres-Schema/"},{path:"/NBXplorer/Postgres-Schema.html",redirect:"/NBXplorer/Postgres-Schema/"},{name:"v-e3db5fd8",path:"/NBXplorer/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-e3db5fd8").then(n)}},{path:"/NBXplorer/index.html",redirect:"/NBXplorer/"},{name:"v-2352e414",path:"/Nostr/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-2352e414").then(n)}},{path:"/Nostr/index.html",redirect:"/Nostr/"},{name:"v-88980e76",path:"/Notifications/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-88980e76").then(n)}},{path:"/Notifications/index.html",redirect:"/Notifications/"},{path:"/Notifications.html",redirect:"/Notifications/"},{name:"v-8d0f1fc6",path:"/OpenCart/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8d0f1fc6").then(n)}},{path:"/OpenCart/index.html",redirect:"/OpenCart/"},{path:"/OpenCart.html",redirect:"/OpenCart/"},{name:"v-15132f85",path:"/Payjoin/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-15132f85").then(n)}},{path:"/Payjoin/index.html",redirect:"/Payjoin/"},{path:"/Payjoin.html",redirect:"/Payjoin/"},{name:"v-e98912f6",path:"/PaymentRequests/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-e98912f6").then(n)}},{path:"/PaymentRequests/index.html",redirect:"/PaymentRequests/"},{path:"/PaymentRequests.html",redirect:"/PaymentRequests/"},{name:"v-15dab665",path:"/Payouts/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-15dab665").then(n)}},{path:"/Payouts/index.html",redirect:"/Payouts/"},{path:"/Payouts.html",redirect:"/Payouts/"},{name:"v-49efd338",path:"/PodServer/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-49efd338").then(n)}},{path:"/PodServer/index.html",redirect:"/PodServer/"},{name:"v-68f6ac6a",path:"/PrestaShop/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-68f6ac6a").then(n)}},{path:"/PrestaShop/index.html",redirect:"/PrestaShop/"},{path:"/PrestaShop.html",redirect:"/PrestaShop/"},{name:"v-f5202af6",path:"/RegisterAccount/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-f5202af6").then(n)}},{path:"/RegisterAccount/index.html",redirect:"/RegisterAccount/"},{path:"/RegisterAccount.html",redirect:"/RegisterAccount/"},{name:"v-40e08a05",path:"/Reporting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-40e08a05").then(n)}},{path:"/Reporting/index.html",redirect:"/Reporting/"},{path:"/Reporting.html",redirect:"/Reporting/"},{name:"v-dde32bd4",path:"/",component:$l,beforeEnter:(e,t,n)=>{ul("Homepage","v-dde32bd4").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-0597b005",path:"/Shopify/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0597b005").then(n)}},{path:"/Shopify/index.html",redirect:"/Shopify/"},{path:"/Shopify.html",redirect:"/Shopify/"},{name:"v-7c2268b6",path:"/Support/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7c2268b6").then(n)}},{path:"/Support/index.html",redirect:"/Support/"},{path:"/Support.html",redirect:"/Support/"},{name:"v-21fce50b",path:"/Shopware/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-21fce50b").then(n)}},{path:"/Shopware/index.html",redirect:"/Shopware/"},{path:"/Shopware.html",redirect:"/Shopware/"},{name:"v-50ea01b4",path:"/TicketTailor/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-50ea01b4").then(n)}},{path:"/TicketTailor/index.html",redirect:"/TicketTailor/"},{name:"v-937bc12e",path:"/Transmuter/DCA/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-937bc12e").then(n)}},{path:"/Transmuter/DCA/index.html",redirect:"/Transmuter/DCA/"},{path:"/Transmuter/DCA.html",redirect:"/Transmuter/DCA/"},{name:"v-9c5e78fe",path:"/Transmuter/EmailReceiptsPreset/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9c5e78fe").then(n)}},{path:"/Transmuter/EmailReceiptsPreset/index.html",redirect:"/Transmuter/EmailReceiptsPreset/"},{path:"/Transmuter/EmailReceiptsPreset.html",redirect:"/Transmuter/EmailReceiptsPreset/"},{name:"v-784978e6",path:"/Transmuter/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-784978e6").then(n)}},{path:"/Transmuter/index.html",redirect:"/Transmuter/"},{name:"v-604d19c6",path:"/Trocador/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-604d19c6").then(n)}},{path:"/Trocador/index.html",redirect:"/Trocador/"},{name:"v-36032c85",path:"/Troubleshooting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-36032c85").then(n)}},{path:"/Troubleshooting/index.html",redirect:"/Troubleshooting/"},{path:"/Troubleshooting.html",redirect:"/Troubleshooting/"},{name:"v-31f01d3e",path:"/TryItOut/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-31f01d3e").then(n)}},{path:"/TryItOut/index.html",redirect:"/TryItOut/"},{path:"/TryItOut.html",redirect:"/TryItOut/"},{name:"v-d4151eb6",path:"/UseCase/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-d4151eb6").then(n)}},{path:"/UseCase/index.html",redirect:"/UseCase/"},{path:"/UseCase.html",redirect:"/UseCase/"},{name:"v-63822f36",path:"/Vault/HowToVerify/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-63822f36").then(n)}},{path:"/Vault/HowToVerify/index.html",redirect:"/Vault/HowToVerify/"},{path:"/Vault/HowToVerify.html",redirect:"/Vault/HowToVerify/"},{name:"v-dae82c60",path:"/Vault/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-dae82c60").then(n)}},{path:"/Vault/index.html",redirect:"/Vault/"},{name:"v-0e38183b",path:"/VirtueMart/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0e38183b").then(n)}},{path:"/VirtueMart/index.html",redirect:"/VirtueMart/"},{path:"/VirtueMart.html",redirect:"/VirtueMart/"},{name:"v-315abc86",path:"/Wabisabi/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-315abc86").then(n)}},{path:"/Wabisabi/index.html",redirect:"/Wabisabi/"},{name:"v-5bcac676",path:"/Walkthrough/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5bcac676").then(n)}},{path:"/Walkthrough/index.html",redirect:"/Walkthrough/"},{path:"/Walkthrough.html",redirect:"/Walkthrough/"},{name:"v-13a93ebf",path:"/Wallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-13a93ebf").then(n)}},{path:"/Wallet/index.html",redirect:"/Wallet/"},{path:"/Wallet.html",redirect:"/Wallet/"},{name:"v-8c111c76",path:"/WalletSetup/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8c111c76").then(n)}},{path:"/WalletSetup/index.html",redirect:"/WalletSetup/"},{path:"/WalletSetup.html",redirect:"/WalletSetup/"},{name:"v-7d101341",path:"/WasabiWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7d101341").then(n)}},{path:"/WasabiWallet/index.html",redirect:"/WasabiWallet/"},{path:"/WasabiWallet.html",redirect:"/WasabiWallet/"},{name:"v-53d8e985",path:"/WhatsNext/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-53d8e985").then(n)}},{path:"/WhatsNext/index.html",redirect:"/WhatsNext/"},{path:"/WhatsNext.html",redirect:"/WhatsNext/"},{name:"v-faa5f0f6",path:"/WooCommerce/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-faa5f0f6").then(n)}},{path:"/WooCommerce/index.html",redirect:"/WooCommerce/"},{path:"/WooCommerce.html",redirect:"/WooCommerce/"},{name:"v-a6ea6734",path:"/Zapier/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-a6ea6734").then(n)}},{path:"/Zapier/index.html",redirect:"/Zapier/"},{name:"v-1dfa3141",path:"/Refund/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1dfa3141").then(n)}},{path:"/Refund/index.html",redirect:"/Refund/"},{path:"/Refund.html",redirect:"/Refund/"},{name:"v-51df4a0d",path:"/PullPayments/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-51df4a0d").then(n)}},{path:"/PullPayments/index.html",redirect:"/PullPayments/"},{path:"/PullPayments.html",redirect:"/PullPayments/"},{path:"*",component:$l}],zl={title:"BTCPay Server",description:"BTCPay Server Official Documentation",base:"/",headTags:[["meta",{name:"viewport",content:"width=device-width,initial-scale=1.0"}],["link",{rel:"stylesheet",href:"/styles/btcpayserver-variables.css"}]],pages:[{title:"Forms",frontmatter:{},regularPath:"/AdvancedForms.html",relativePath:"AdvancedForms.md",key:"v-128c2a25",path:"/AdvancedForms/",headers:[{level:2,title:"Well-known field names",slug:"well-known-field-names"},{level:2,title:"Mirror fields",slug:"mirror-fields"},{level:2,title:"Pre-filling form values",slug:"pre-filling-form-values"}]},{title:"BTCPay Server Apps",frontmatter:{description:"Apps allow users an easy way to extend BTCPay Server.",tags:["BTCPay Server","Apps","Point of Sale","Crowdfunding","Payment Button"]},regularPath:"/Apps.html",relativePath:"Apps.md",key:"v-03334e4d",path:"/Apps/",headers:[{level:2,title:"Point of Sale App",slug:"point-of-sale-app"},{level:2,title:"Crowdfunding App",slug:"crowdfunding-app"},{level:2,title:"Payment Button",slug:"payment-button"},{level:3,title:"Payment Button for React Developers",slug:"payment-button-for-react-developers"}]},{title:"Tooling",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/LocalDevSetup.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/LocalDevSetup.html",relativePath:"BTCPayServer/LocalDevSetup.md",key:"v-68028296",path:"/BTCPayServer/LocalDevSetup/",headers:[{level:2,title:"How to manually test payments",slug:"how-to-manually-test-payments"},{level:3,title:"Using the test bitcoin-cli",slug:"using-the-test-bitcoin-cli"},{level:3,title:"Using Polar to test Lightning payments",slug:"using-polar-to-test-lightning-payments"},{level:3,title:"Using the test litecoin-cli",slug:"using-the-test-litecoin-cli"},{level:3,title:"Using the test lightning-cli",slug:"using-the-test-lightning-cli"},{level:3,title:"Alternative Lightning testing: Using Polar to test Lightning payments",slug:"alternative-lightning-testing-using-polar-to-test-lightning-payments"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"docker-compose up dev failed or tests are not passing, what should I do?",slug:"docker-compose-up-dev-failed-or-tests-are-not-passing-what-should-i-do"},{level:3,title:"How to run the Altcoin environment?",slug:"how-to-run-the-altcoin-environment"},{level:3,title:"How to run the Selenium test with a browser?",slug:"how-to-run-the-selenium-test-with-a-browser"},{level:3,title:"Session not created: This version of ChromeDriver only supports Chrome version 88",slug:"session-not-created-this-version-of-chromedriver-only-supports-chrome-version-88"}]},{title:"Reporting a potential Vulnerability.",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/SECURITY.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/Security.html",relativePath:"BTCPayServer/Security.md",key:"v-3b19ebb6",path:"/BTCPayServer/Security/"},{title:"Migration from SQLite and MySQL to Postgres",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/db-migration.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/db-migration.html",relativePath:"BTCPayServer/db-migration.md",key:"v-9b4e0776",path:"/BTCPayServer/db-migration/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"Procedure",slug:"procedure"},{level:2,title:"Known issues",slug:"known-issues"}]},{title:"GreenField API Authorization Flow",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/greenfield-authorization.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/greenfield-authorization.html",relativePath:"BTCPayServer/greenfield-authorization.md",key:"v-c3e4e676",path:"/BTCPayServer/greenfield-authorization/",headers:[{level:2,title:"Basic auth",slug:"basic-auth"},{level:2,title:"API Keys",slug:"api-keys"}]},{title:"GreenField API Development Documentation",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/greenfield-development.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/greenfield-development.html",relativePath:"BTCPayServer/greenfield-development.md",key:"v-4c4d56f6",path:"/BTCPayServer/greenfield-development/",headers:[{level:2,title:"Adding new API endpoints",slug:"adding-new-api-endpoints"},{level:2,title:"Updating existing API endpoints",slug:"updating-existing-api-endpoints"},{level:3,title:"Scenario 1: Changing a property type on the model",slug:"scenario-1-changing-a-property-type-on-the-model"},{level:3,title:"Scenario 2: Removing a property on the model",slug:"scenario-2-removing-a-property-on-the-model"},{level:3,title:"Scenario 3: Adding a property on the model",slug:"scenario-3-adding-a-property-on-the-model"},{level:2,title:"Technical specifics",slug:"technical-specifics"},{level:3,title:"Detecting missing properties in a JSON model.",slug:"detecting-missing-properties-in-a-json-model"}]},{title:"BTCPay Server vs. Others",frontmatter:{},regularPath:"/BTCPayVsOthers.html",relativePath:"BTCPayVsOthers.md",key:"v-4d775b7a",path:"/BTCPayVsOthers/",headers:[{level:2,title:"Features",slug:"features"},{level:2,title:"Cost",slug:"cost"},{level:2,title:"Security",slug:"security"},{level:2,title:"Privacy",slug:"privacy"},{level:2,title:"Censorship-Resistance",slug:"censorship-resistance"},{level:2,title:"Decentralized",slug:"decentralized"},{level:2,title:"Fiat",slug:"fiat"},{level:2,title:"Can't find this information for other payment processors?",slug:"cant-find-this-information-for-other-payment-processors"}]},{title:"Connecting Coldcard Wallet to BTCPay Server",frontmatter:{},regularPath:"/ColdCardWallet.html",relativePath:"ColdCardWallet.md",key:"v-61d8fd52",path:"/ColdCardWallet/",headers:[{level:2,title:"Coldcard Wallet Setup",slug:"coldcard-wallet-setup"},{level:3,title:"Quick Setup",slug:"quick-setup"},{level:3,title:"Spending from BTCPay Server wallet with Coldcard (PSBT)",slug:"spending-from-btcpay-server-wallet-with-coldcard-psbt"}]},{title:"Community",frontmatter:{},regularPath:"/Community.html",relativePath:"Community.md",key:"v-bc3ce3b6",path:"/Community/"},{title:"Deploy BTCPay with Configurator",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-configurator/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-configurator"},regularPath:"/Configurator/",relativePath:"Configurator/README.md",key:"v-64599034",path:"/Configurator/",headers:[{level:2,title:"Option 1: Add as an external service to BTCPay",slug:"option-1-add-as-an-external-service-to-btcpay"},{level:2,title:"Option 2: Build locally with Docker",slug:"option-2-build-locally-with-docker"},{level:2,title:"Export Manual Configuration",slug:"export-manual-configuration"},{level:2,title:"Privacy & Security Concerns",slug:"privacy-security-concerns"}]},{title:"Connect an existing wallet",frontmatter:{},regularPath:"/ConnectWallet.html",relativePath:"ConnectWallet.md",key:"v-9d2d2936",path:"/ConnectWallet/",headers:[{level:2,title:"Connect an existing wallet",slug:"connect-an-existing-wallet"},{level:3,title:"Connect hardware wallet",slug:"connect-hardware-wallet"},{level:3,title:"Import Wallet file",slug:"import-wallet-file"},{level:3,title:"Enter extended public key",slug:"enter-extended-public-key"},{level:3,title:"Scan wallet QR code",slug:"scan-wallet-qr-code"},{level:3,title:"Enter wallet seed",slug:"enter-wallet-seed"}]},{title:"Design BTCPay Server",frontmatter:{},regularPath:"/Contribute/Design.html",relativePath:"Contribute/Design.md",key:"v-bac53276",path:"/Contribute/Design/",headers:[{level:2,title:"Why designing matters",slug:"why-designing-matters"}]},{title:"Coding BTCPay Server",frontmatter:{},regularPath:"/Contribute/Dev.html",relativePath:"Contribute/Dev.md",key:"v-0516060b",path:"/Contribute/Dev/",headers:[{level:2,title:"Why coding matters",slug:"why-coding-matters"},{level:2,title:"Where to start",slug:"where-to-start"},{level:3,title:"Setup Developer Environment",slug:"setup-developer-environment"},{level:3,title:"Local BTCPay Development",slug:"local-btcpay-development"},{level:3,title:"Local BTCPay Testing",slug:"local-btcpay-testing"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Videos",slug:"videos"}]},{title:"Setup Developer Environment",frontmatter:{},regularPath:"/Contribute/DevCode.html",relativePath:"Contribute/DevCode.md",key:"v-6762cd1e",path:"/Contribute/DevCode/",headers:[{level:2,title:"Developer Resources",slug:"developer-resources"},{level:2,title:"Windows Setup Software",slug:"windows-setup-software"},{level:2,title:"Git Setup",slug:"git-setup"},{level:3,title:"Fork BTCPay Server Repository",slug:"fork-btcpay-server-repository"},{level:3,title:"Clone BTCPay Server Repository",slug:"clone-btcpay-server-repository"},{level:3,title:"Create a Development Feature Branch",slug:"create-a-development-feature-branch"},{level:2,title:"Local BTCPay Setup",slug:"local-btcpay-setup"},{level:3,title:"Bitcoin Regtest Network Setup",slug:"bitcoin-regtest-network-setup"},{level:3,title:"Build Local BTCPay Server in Browser Mode",slug:"build-local-btcpay-server-in-browser-mode"},{level:3,title:"Visual Studio Setup",slug:"visual-studio-setup"},{level:3,title:"Build Local BTCPay Server in Debug Mode",slug:"build-local-btcpay-server-in-debug-mode"},{level:3,title:"Visual Studio Code Changes In Your Local BTCPay Server",slug:"visual-studio-code-changes-in-your-local-btcpay-server"},{level:2,title:"Git Maintenance",slug:"git-maintenance"},{level:3,title:"Sync Forked BTCPay Server Repository",slug:"sync-forked-btcpay-server-repository"},{level:3,title:"Commit Code To Make Pull Request",slug:"commit-code-to-make-pull-request"},{level:3,title:"Create a Branch of a Pull Request",slug:"create-a-branch-of-a-pull-request"},{level:3,title:"Delete Local Branch",slug:"delete-local-branch"},{level:2,title:"Working with Docker Containers",slug:"working-with-docker-containers"},{level:2,title:"Greenfield API Development",slug:"greenfield-api-development"},{level:2,title:"Working with the Database",slug:"working-with-the-database"},{level:2,title:"Questions",slug:"questions"}]},{title:"Testing BTCPay Server",frontmatter:{},regularPath:"/Contribute/DevTest.html",relativePath:"Contribute/DevTest.md",key:"v-a46e67b2",path:"/Contribute/DevTest/",headers:[{level:2,title:"Setup Regtest Network and Local BTCPay Server",slug:"setup-regtest-network-and-local-btcpay-server"},{level:2,title:"Using Docker Images for Mainnet Testing",slug:"using-docker-images-for-mainnet-testing"},{level:2,title:"Create Invoice",slug:"create-invoice"},{level:2,title:"Pay Invoice",slug:"pay-invoice"},{level:2,title:"Testers FAQ",slug:"testers-faq"},{level:3,title:"Start Debugging gives Error: No connection could be made because the target machine actively refused it. 127.0.0.1:39372",slug:"start-debugging-gives-error-no-connection-could-be-made-because-the-target-machine-actively-refused-it-12700139372"},{level:3,title:"Regtest payments are not showing as confirmed?",slug:"regtest-payments-are-not-showing-as-confirmed"},{level:3,title:"Which branch should be tested for major releases?",slug:"which-branch-should-be-tested-for-major-releases"},{level:3,title:"Can I mark an invoice as paid?",slug:"can-i-mark-an-invoice-as-paid"}]},{title:"Contributing to BTCPay Server in other ways",frontmatter:{},regularPath:"/Contribute/Misc.html",relativePath:"Contribute/Misc.md",key:"v-a39385f6",path:"/Contribute/Misc/",headers:[{level:2,title:"Create Videos & Graphics",slug:"create-videos-graphics"},{level:2,title:"Hosting Providers",slug:"hosting-providers"},{level:2,title:"Contribute to the Directory",slug:"contribute-to-the-directory"},{level:2,title:"Project Discussions",slug:"project-discussions"},{level:2,title:"Community",slug:"community"},{level:2,title:"Spreading the word",slug:"spreading-the-word"}]},{title:"How to contribute to BTCPay Server?",frontmatter:{},regularPath:"/Contribute/",relativePath:"Contribute/README.md",key:"v-9909a134",path:"/Contribute/"},{title:"Translating BTCPay Server",frontmatter:{},regularPath:"/Contribute/Translate.html",relativePath:"Contribute/Translate.md",key:"v-3e89bcce",path:"/Contribute/Translate/",headers:[{level:2,title:"Why translations matter",slug:"why-translations-matter"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Step 1: View Existing Translations",slug:"step-1-view-existing-translations"},{level:2,title:"Step 2: Start New Translation",slug:"step-2-start-new-translation"},{level:2,title:"Step 3: Translation",slug:"step-3-translation"},{level:2,title:"Translation Tips",slug:"translation-tips"},{level:3,title:"Variables",slug:"variables"},{level:3,title:"Notifications",slug:"notifications"},{level:2,title:"Get help, ask questions",slug:"get-help-ask-questions"}]},{title:"Documenting BTCPay Server",frontmatter:{},regularPath:"/Contribute/Write.html",relativePath:"Contribute/Write.md",key:"v-5c41b537",path:"/Contribute/Write/",headers:[{level:2,title:"Why documentation matters",slug:"why-documentation-matters"},{level:2,title:"BTCPay Documentation",slug:"btcpay-documentation"},{level:2,title:"BTCPay Blog",slug:"btcpay-blog"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Recommended software",slug:"recommended-software"},{level:3,title:"Text Editor",slug:"text-editor"},{level:3,title:"Version Control",slug:"version-control"}]},{title:"Contribute to the blog",frontmatter:{},regularPath:"/Contribute/WriteBlog.html",relativePath:"Contribute/WriteBlog.md",key:"v-af48c69a",path:"/Contribute/WriteBlog/"},{title:"Contribute to the documentation",frontmatter:{},regularPath:"/Contribute/WriteDocs.html",relativePath:"Contribute/WriteDocs.md",key:"v-43a641c1",path:"/Contribute/WriteDocs/"},{title:"Contribute to the software stack",frontmatter:{},regularPath:"/Contribute/WriteSoftware.html",relativePath:"Contribute/WriteSoftware.md",key:"v-28bb6fe9",path:"/Contribute/WriteSoftware/",headers:[{level:2,title:"Step 1",slug:"step-1"},{level:2,title:"Step 2",slug:"step-2"},{level:2,title:"Step 3",slug:"step-3"},{level:2,title:"Step 4",slug:"step-4"},{level:2,title:"Step 5",slug:"step-5"}]},{title:"(2) Create a store",frontmatter:{},regularPath:"/CreateStore.html",relativePath:"CreateStore.md",key:"v-8e93b036",path:"/CreateStore/",headers:[{level:2,title:"Creating a Store in BTCPay Server",slug:"creating-a-store-in-btcpay-server"},{level:2,title:"Customizing your BTCPay Store Settings",slug:"customizing-your-btcpay-store-settings"}]},{title:"Create a new wallet",frontmatter:{},regularPath:"/CreateWallet.html",relativePath:"CreateWallet.md",key:"v-1ce314c7",path:"/CreateWallet/",headers:[{level:3,title:"Hot Wallet",slug:"hot-wallet"},{level:3,title:"Watch-only wallet",slug:"watch-only-wallet"}]},{title:"Using the BTCPay API for Custom Integration",frontmatter:{},regularPath:"/CustomIntegration.html",relativePath:"CustomIntegration.md",key:"v-11279236",path:"/CustomIntegration/",headers:[{level:2,title:"Official Client Libraries",slug:"official-client-libraries"},{level:2,title:"Accessing the API Manually",slug:"accessing-the-api-manually"},{level:2,title:"Pairing process",slug:"pairing-process"},{level:3,title:"Client side pairing",slug:"client-side-pairing"},{level:3,title:"Server side pairing",slug:"server-side-pairing"},{level:2,title:"Note",slug:"note"},{level:2,title:"Modal Checkout",slug:"modal-checkout"}]},{title:"Dashboard",frontmatter:{},regularPath:"/Dashboard.html",relativePath:"Dashboard.md",key:"v-ba716776",path:"/Dashboard/",headers:[{level:2,title:"Dashboard tiles",slug:"dashboard-tiles"},{level:3,title:"Wallet Balance",slug:"wallet-balance"},{level:3,title:"Transaction activity",slug:"transaction-activity"},{level:3,title:"Lightning Balance",slug:"lightning-balance"},{level:3,title:"Lightning Services",slug:"lightning-services"},{level:3,title:"Recent Transactions",slug:"recent-transactions"},{level:3,title:"Recent invoices",slug:"recent-invoices"},{level:3,title:"Current active crowdfund",slug:"current-active-crowdfund"}]},{title:"Azure Deployment",frontmatter:{},regularPath:"/Deployment/Azure.html",relativePath:"Deployment/Azure.md",key:"v-17b4e927",path:"/Deployment/Azure/",headers:[{level:2,title:"One-click setup",slug:"one-click-setup"}]},{title:"How to penny-pinch your Azure deployment",frontmatter:{},regularPath:"/Deployment/AzurePennyPinching.html",relativePath:"Deployment/AzurePennyPinching.md",key:"v-9ed60e36",path:"/Deployment/AzurePennyPinching/",headers:[{level:2,title:"How much am I spending now?",slug:"how-much-am-i-spending-now"},{level:2,title:"What is my current configuration",slug:"what-is-my-current-configuration"},{level:2,title:"Selecting a new Virtual Machine",slug:"selecting-a-new-virtual-machine"},{level:3,title:"FAQ: B1MS does not appear in the list",slug:"faq-b1ms-does-not-appear-in-the-list-"}]},{title:"Clovyr BTCPay Server web deployment.",frontmatter:{},regularPath:"/Deployment/Clovyr.html",relativePath:"Deployment/Clovyr.md",key:"v-784e0e36",path:"/Deployment/Clovyr/",headers:[{level:2,title:"1. Visit the Clovyer BTCPay Server launch page",slug:"1-visit-the-clovyer-btcpay-server-launch-page"},{level:2,title:"2. Account creation",slug:"2-account-creation"},{level:2,title:"3. Accessing BTCPay Server",slug:"3-accessing-btcpay-server"},{level:2,title:"4. Start your first store.",slug:"4-start-your-first-store"},{level:2,title:"5. Welcome to your BTCPay Server dashboard",slug:"5-welcome-to-your-btcpay-server-dashboard"},{level:2,title:"6. Billing",slug:"6-billing"}]},{title:"Dream Lab Network BTCPay Server web deployment.",frontmatter:{},regularPath:"/Deployment/DreamlabNetwork.html",relativePath:"Deployment/DreamlabNetwork.md",key:"v-f5865886",path:"/Deployment/DreamlabNetwork/",headers:[{level:2,title:"1. Pick the server that fits your needs",slug:"1-pick-the-server-that-fits-your-needs"},{level:2,title:"2. Configure your BTCPay Server",slug:"2-configure-your-btcpay-server"},{level:3,title:"Hostname",slug:"hostname"},{level:3,title:"Configurable Options",slug:"configurable-options"},{level:3,title:"Addition Information",slug:"addition-information"},{level:3,title:"Review & Checkout",slug:"review-checkout"},{level:2,title:"3. Client Area Dream Lab Network",slug:"3-client-area-dream-lab-network"},{level:2,title:"4. Start your first store.",slug:"4-start-your-first-store"},{level:2,title:"5. Welcome to your BTCPay Server dashboard",slug:"5-welcome-to-your-btcpay-server-dashboard"}]},{title:"Dynamic DNS Service",frontmatter:{},regularPath:"/Deployment/DynamicDNS.html",relativePath:"Deployment/DynamicDNS.md",key:"v-1aba0945",path:"/Deployment/DynamicDNS/",headers:[{level:2,title:"Motivation",slug:"motivation"},{level:2,title:"How to use",slug:"how-to-use"},{level:3,title:"Step 1: Create the domain",slug:"step-1-create-the-domain"},{level:3,title:"Step 2: Configure Dynamic DNS on BTCPay Server",slug:"step-2-configure-dynamic-dns-on-btcpay-server"},{level:3,title:"Step 3: Configure your BTCPay docker install to provide HTTPS certificates",slug:"step-3-configure-your-btcpay-docker-install-to-provide-https-certificates"}]},{title:"Google Cloud Deployment",frontmatter:{},regularPath:"/Deployment/GoogleCloud.html",relativePath:"Deployment/GoogleCloud.md",key:"v-6423130d",path:"/Deployment/GoogleCloud/",headers:[{level:2,title:"Google Cloud shell setup",slug:"google-cloud-shell-setup"}]},{title:"Hack0",frontmatter:{},regularPath:"/Deployment/Hack0.html",relativePath:"Deployment/Hack0.md",key:"v-4a79bbe7",path:"/Deployment/Hack0/",headers:[{level:2,title:"Hardware specification (for distributors)",slug:"hardware-specification-for-distributors"},{level:2,title:"Factory installation (for distributors)",slug:"factory-installation-for-distributors"},{level:2,title:"End user setup",slug:"end-user-setup"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"How to connect via SSH to your hack0?",slug:"how-to-connect-via-ssh-to-your-hack0"}]},{title:"Hardware Deployment",frontmatter:{},regularPath:"/Deployment/Hardware.html",relativePath:"Deployment/Hardware.md",key:"v-7afc10f6",path:"/Deployment/Hardware/"},{title:"Hardware As A Service",frontmatter:{},regularPath:"/Deployment/HardwareAsAService.html",relativePath:"Deployment/HardwareAsAService.md",key:"v-30d086c5",path:"/Deployment/HardwareAsAService/"},{title:"Hardware Deployment",frontmatter:{},regularPath:"/Deployment/LightningInABox.html",relativePath:"Deployment/LightningInABox.md",key:"v-45023d5a",path:"/Deployment/LightningInABox/"},{title:"Deploying BTCPay - LunaNode Web-Wizard",frontmatter:{},regularPath:"/Deployment/LunaNode.html",relativePath:"Deployment/LunaNode.md",key:"v-af8f8776",path:"/Deployment/LunaNode/",headers:[{level:2,title:"1. Create the account and add credits",slug:"1-create-the-account-and-add-credits"},{level:2,title:"2. Create the API Key",slug:"2-create-the-api-key"},{level:2,title:"3. Web-Wizard Deployment",slug:"3-web-wizard-deployment"},{level:2,title:"4. Additional customization (optional)",slug:"4-additional-customization-optional"}]},{title:"Minimal manual setup",frontmatter:{},regularPath:"/Deployment/ManualDeployment.html",relativePath:"Deployment/ManualDeployment.md",key:"v-8a00b836",path:"/Deployment/ManualDeployment/",headers:[{level:2,title:"Warning: Not recommended to use in production",slug:"warning-not-recommended-to-use-in-production"},{level:2,title:"Typical manual installation",slug:"typical-manual-installation"},{level:3,title:"1) Install Bitcoin Core 0.19.1",slug:"1-install-bitcoin-core-0191"},{level:3,title:"2) Install .NET 6.0 SDK",slug:"2-install-net-60-sdk"},{level:3,title:"3) Install NBXplorer",slug:"3-install-nbxplorer"},{level:3,title:"4) Install BTCPayServer",slug:"4-install-btcpayserver"},{level:3,title:"5) Run bitcoind",slug:"5-run-bitcoind"},{level:3,title:"6) Run NBXplorer",slug:"6-run-nbxplorer"},{level:3,title:"7) Run BTCPay Server",slug:"7-run-btcpay-server"},{level:2,title:"Testnet Specific Deployments",slug:"testnet-specific-deployments"},{level:3,title:"Run bitcoind in testnet mode",slug:"run-bitcoind-in-testnet-mode"},{level:3,title:"Run NBXplorer in testnet mode",slug:"run-nbxplorer-in-testnet-mode"},{level:3,title:"Run BTCPayServer in testnet mode",slug:"run-btcpayserver-in-testnet-mode"},{level:2,title:"Additional links",slug:"additional-links"}]},{title:"Extended Manual Setup",frontmatter:{},regularPath:"/Deployment/ManualDeploymentExtended.html",relativePath:"Deployment/ManualDeploymentExtended.md",key:"v-41065f05",path:"/Deployment/ManualDeploymentExtended/",headers:[{level:2,title:"Installation Steps Overview",slug:"installation-steps-overview"},{level:3,title:"Security",slug:"security"},{level:2,title:"Unprivileged user",slug:"unprivileged-user"},{level:3,title:"Prerequisites",slug:"prerequisites"},{level:3,title:"Application Components",slug:"application-components"},{level:2,title:"Postgresql",slug:"postgresql"},{level:2,title:"Tor",slug:"tor"},{level:2,title:"NGINX and Let's Encrypt",slug:"nginx-and-lets-encrypt"},{level:2,title:"Bitcoin Core",slug:"bitcoin-core"},{level:2,title:"NBXplorer",slug:"nbxplorer"},{level:2,title:"BTCPay Server",slug:"btcpay-server"},{level:2,title:"Lightning Network Daemon (LND)",slug:"lightning-network-daemon-lnd"},{level:2,title:"Ride The Lightning (RTL)",slug:"ride-the-lightning-rtl"},{level:2,title:"The End",slug:"the-end"},{level:3,title:"Questions",slug:"questions"}]},{title:"Choosing a Deployment Method",frontmatter:{},regularPath:"/Deployment/",relativePath:"Deployment/README.md",key:"v-d21f2f34",path:"/Deployment/",headers:[{level:2,title:"To choose one that will best suit your needs, consider the following:",slug:"to-choose-one-that-will-best-suit-your-needs-consider-the-following"}]},{title:"Raspberry Pi Deployment",frontmatter:{},regularPath:"/Deployment/RaspberryPi4.html",relativePath:"Deployment/RaspberryPi4.md",key:"v-5762b925",path:"/Deployment/RaspberryPi4/",headers:[{level:2,title:"Required Hardware",slug:"required-hardware"},{level:3,title:"Raspberry Pi 4",slug:"raspberry-pi-4"},{level:3,title:"Data Storage options",slug:"data-storage-options"},{level:3,title:"Power Adapter options",slug:"power-adapter-options"},{level:3,title:"Case and Cooling options",slug:"case-and-cooling-options"},{level:2,title:"Quickstart",slug:"quickstart"},{level:3,title:"Setting up the Raspberry Pi",slug:"setting-up-the-raspberry-pi"},{level:2,title:"Detailed Step by Step Instructions",slug:"detailed-step-by-step-instructions"},{level:3,title:"Upgrade the OS packages to latest",slug:"upgrade-the-os-packages-to-latest"},{level:3,title:"Configuring the storage",slug:"configuring-the-storage"},{level:3,title:"Install Docker",slug:"install-docker"},{level:3,title:"Create mount for Docker volumes",slug:"create-mount-for-docker-volumes"},{level:3,title:"Configuring the firewall",slug:"configuring-the-firewall"},{level:3,title:"Setup BTCPay Server",slug:"setup-btcpay-server"},{level:3,title:"FastSync (optional)",slug:"fastsync-optional"}]},{title:"Reverse proxy to Tor",frontmatter:{},regularPath:"/Deployment/ReverseProxyToTor.html",relativePath:"Deployment/ReverseProxyToTor.md",key:"v-180c16e5",path:"/Deployment/ReverseProxyToTor/",headers:[{level:2,title:"Advantages",slug:"advantages"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"VPS Setup",slug:"vps-setup"},{level:3,title:"Socat setup",slug:"socat-setup"},{level:3,title:"Webserver setup",slug:"webserver-setup"},{level:2,title:"Do all this in a Docker container",slug:"do-all-this-in-a-docker-container"},{level:3,title:"SocaTor = SOCAT + TOR",slug:"socator-socat-tor"},{level:3,title:"Usage",slug:"usage"},{level:2,title:"Use that Docker container in a Kubernetes Cluster using these manifests",slug:"use-that-docker-container-in-a-kubernetes-cluster-using-these-manifests"},{level:2,title:"Resources",slug:"resources"}]},{title:"Forward ports with a reverse SSH tunnel",frontmatter:{},regularPath:"/Deployment/ReverseSSHtunnel.html",relativePath:"Deployment/ReverseSSHtunnel.md",key:"v-39c48f76",path:"/Deployment/ReverseSSHtunnel/",headers:[{level:2,title:"Advantages",slug:"advantages"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Setup",slug:"setup"},{level:3,title:"On the host (your BTCPay Server instance)",slug:"on-the-host-your-btcpay-server-instance"},{level:3,title:"On the VPS",slug:"on-the-vps"},{level:3,title:"Back to the host (your BTCPay Server instance)",slug:"back-to-the-host-your-btcpay-server-instance"},{level:2,title:"Monitoring",slug:"monitoring"},{level:2,title:"Resources",slug:"resources"}]},{title:"Third-party hosting",frontmatter:{},regularPath:"/Deployment/ThirdPartyHosting.html",relativePath:"Deployment/ThirdPartyHosting.md",key:"v-762b62cf",path:"/Deployment/ThirdPartyHosting/",headers:[{level:2,title:"Advantages and disadvantages",slug:"advantages-and-disadvantages"},{level:3,title:"Pros",slug:"pros"},{level:3,title:"Cons",slug:"cons"},{level:2,title:"Concerns For Use",slug:"concerns-for-use"},{level:3,title:"Security Concerns",slug:"security-concerns"},{level:3,title:"Privacy Concerns",slug:"privacy-concerns"},{level:3,title:"Trust Concerns",slug:"trust-concerns"},{level:2,title:"Third Party Hosting FAQ",slug:"third-party-hosting-faq"},{level:2,title:"Where is the list of BTCPay third-party hosts?",slug:"where-is-the-list-of-btcpay-third-party-hosts"},{level:2,title:"How can one become a third-party host?",slug:"how-can-one-become-a-third-party-host"},{level:2,title:"Are there any limitations in features when using a third-party host?",slug:"are-there-any-limitations-in-features-when-using-a-third-party-host"},{level:2,title:"Can I enable the use of my Lightning Network node to others?",slug:"can-i-enable-the-use-of-my-lightning-network-node-to-others"},{level:2,title:"What does the trusted third-party host know about their users?",slug:"what-does-the-trusted-third-party-host-know-about-their-users"}]},{title:"Voltage Cloud BTCPay Server web deployment",frontmatter:{},regularPath:"/Deployment/voltagecloud.html",relativePath:"Deployment/voltagecloud.md",key:"v-49909ce5",path:"/Deployment/voltagecloud/",headers:[{level:2,title:"1. Sign up and top up your account.",slug:"1-sign-up-and-top-up-your-account"},{level:2,title:"2. What node suits you?",slug:"2-what-node-suits-you"},{level:2,title:"3. Node dashboard",slug:"3-node-dashboard"},{level:2,title:"4. BTCPay server node",slug:"4-btcpay-server-node"},{level:2,title:"5. Finnish initial deployment.",slug:"5-finnish-initial-deployment"},{level:2,title:"6. Welcome to your BTCPay Server dashboard",slug:"6-welcome-to-your-btcpay-server-dashboard"}]},{title:"Introduction to Web Deployments",frontmatter:{},regularPath:"/Deployment/webdeployment.html",relativePath:"Deployment/webdeployment.md",key:"v-3ec65b5a",path:"/Deployment/webdeployment/",headers:[{level:2,title:"Known web deployments.",slug:"known-web-deployments"},{level:3,title:"LunaNode web-wizard.",slug:"lunanode-web-wizard"},{level:3,title:"Voltage Cloud",slug:"voltage-cloud"},{level:3,title:"DreamLab Network Solutions",slug:"dreamlab-network-solutions"},{level:3,title:"Clovyr",slug:"clovyr"},{level:2,title:"Missing deployments?",slug:"missing-deployments"}]},{title:"How to add an Altcoin",frontmatter:{},regularPath:"/Development/Altcoins.html",relativePath:"Development/Altcoins.md",key:"v-dc719dd2",path:"/Development/Altcoins/",headers:[{level:2,title:"How can I add an altcoin to BTCPayServer?",slug:"how-can-i-add-an-altcoin-to-btcpayserver"}]},{title:"Greenfield API example with Node.JS (JavaScript)",frontmatter:{},regularPath:"/Development/GreenFieldExample-NodeJS.html",relativePath:"Development/GreenFieldExample-NodeJS.md",key:"v-10e3317f",path:"/Development/GreenFieldExample-NodeJS/",headers:[{level:2,title:"Create a new user",slug:"create-a-new-user"},{level:2,title:"Create a new API key",slug:"create-a-new-api-key"},{level:2,title:"Create a new store",slug:"create-a-new-store"},{level:2,title:"Webhook implementation with Node.JS + Express",slug:"webhook-implementation-with-nodejs-express"}]},{title:"Greenfield API example with cURL",frontmatter:{},regularPath:"/Development/GreenFieldExample.html",relativePath:"Development/GreenFieldExample.md",key:"v-b64dbc36",path:"/Development/GreenFieldExample/",headers:[{level:2,title:"Create a new user",slug:"create-a-new-user"},{level:2,title:"Create a new API key",slug:"create-a-new-api-key"},{level:2,title:"Create a new store",slug:"create-a-new-store"},{level:2,title:"Create a new API key with limiting permissions on the new store, for example read only",slug:"create-a-new-api-key-with-limiting-permissions-on-the-new-store-for-example-read-only"},{level:2,title:"Read store information",slug:"read-store-information"}]},{title:"Greenfield API examples with PHP",frontmatter:{},regularPath:"/Development/GreenfieldExample-PHP.html",relativePath:"Development/GreenfieldExample-PHP.md",key:"v-f2be4ef6",path:"/Development/GreenfieldExample-PHP/",headers:[{level:2,title:"Create a new user",slug:"create-a-new-user"},{level:2,title:"Create a new API key",slug:"create-a-new-api-key"},{level:2,title:"Create a new store",slug:"create-a-new-store"},{level:2,title:"Create a simple invoice",slug:"create-a-simple-invoice"},{level:2,title:"Webhook implementation and validation with PHP",slug:"webhook-implementation-and-validation-with-php"}]},{title:"Invoice metadata",frontmatter:{},regularPath:"/Development/InvoiceMetadata.html",relativePath:"Development/InvoiceMetadata.md",key:"v-3d044e45",path:"/Development/InvoiceMetadata/",headers:[{level:2,title:"Well-known properties",slug:"well-known-properties"},{level:2,title:"Examples",slug:"examples"}]},{title:"Local development",frontmatter:{},regularPath:"/Development/LocalDev.html",relativePath:"Development/LocalDev.md",key:"v-ede35016",path:"/Development/LocalDev/",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:2,title:"Dependencies",slug:"dependencies"},{level:2,title:"Which IDE?",slug:"which-ide"},{level:2,title:"Build configuration",slug:"build-configuration"},{level:2,title:"Launch profiles",slug:"launch-profiles"},{level:2,title:"Running tests",slug:"running-tests"},{level:2,title:"Altcoin support development",slug:"altcoin-support-development"},{level:2,title:"HTTPS support for local development",slug:"https-support-for-local-development"},{level:2,title:"Videos",slug:"videos"}]},{title:"Local development",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-doc/edit/master/docs/Development/LocalDev.md"},regularPath:"/Development/LocalDevelopment.html",relativePath:"Development/LocalDevelopment.md",key:"v-7daf4329",path:"/Development/LocalDevelopment/",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:2,title:"Dependencies",slug:"dependencies"},{level:2,title:"Which IDE?",slug:"which-ide"},{level:2,title:"Build configuration",slug:"build-configuration"},{level:2,title:"Launch profiles",slug:"launch-profiles"},{level:2,title:"Running tests",slug:"running-tests"},{level:2,title:"Altcoin support development",slug:"altcoin-support-development"},{level:2,title:"HTTPS support for local development",slug:"https-support-for-local-development"},{level:2,title:"Videos",slug:"videos"},{level:2,title:"How to manually test payments",slug:"how-to-manually-test-payments"},{level:3,title:"Using the test bitcoin-cli",slug:"using-the-test-bitcoin-cli"},{level:3,title:"Using Polar to test Lightning payments",slug:"using-polar-to-test-lightning-payments"},{level:3,title:"Using the test litecoin-cli",slug:"using-the-test-litecoin-cli"},{level:3,title:"Using the test lightning-cli",slug:"using-the-test-lightning-cli"},{level:3,title:"Alternative Lightning testing: Using Polar to test Lightning payments",slug:"alternative-lightning-testing-using-polar-to-test-lightning-payments"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"docker-compose up dev failed or tests are not passing, what should I do?",slug:"docker-compose-up-dev-failed-or-tests-are-not-passing-what-should-i-do"},{level:3,title:"How to run the Altcoin environment?",slug:"how-to-run-the-altcoin-environment"},{level:3,title:"How to run the Selenium test with a browser?",slug:"how-to-run-the-selenium-test-with-a-browser"},{level:3,title:"Session not created: This version of ChromeDriver only supports Chrome version 88",slug:"session-not-created-this-version-of-chromedriver-only-supports-chrome-version-88"}]},{title:"Plugins",frontmatter:{},regularPath:"/Development/Plugins.html",relativePath:"Development/Plugins.md",key:"v-6f03bcc5",path:"/Development/Plugins/",headers:[{level:2,title:"Setup of a new plugin",slug:"setup-of-a-new-plugin"},{level:3,title:"Plugin reference",slug:"plugin-reference"},{level:2,title:"Coding a plugin",slug:"coding-a-plugin"},{level:3,title:"Assets",slug:"assets"},{level:3,title:"Database",slug:"database"},{level:3,title:"UI Extension Points",slug:"ui-extension-points"},{level:3,title:"Actions and Filters",slug:"actions-and-filters"},{level:3,title:"Authorization and Permissions",slug:"authorization-and-permissions"},{level:3,title:"API",slug:"api"},{level:2,title:"Publishing the plugin",slug:"publishing-the-plugin"},{level:2,title:"Resources",slug:"resources"}]},{title:"Architecture",frontmatter:{},regularPath:"/Development/",relativePath:"Development/README.md",key:"v-8ade6c04",path:"/Development/"},{title:"Testnet demo",frontmatter:{},regularPath:"/Development/TestnetDemo.html",relativePath:"Development/TestnetDemo.md",key:"v-19638485",path:"/Development/TestnetDemo/",headers:[{level:2,title:"Questions",slug:"questions"}]},{title:"Customizing themes",frontmatter:{},regularPath:"/Development/Theme.html",relativePath:"Development/Theme.md",key:"v-06e5e8b6",path:"/Development/Theme/",headers:[{level:2,title:"Built-in themes",slug:"built-in-themes"},{level:2,title:"1. Custom themes",slug:"1-custom-themes"},{level:3,title:"Developing and extending a custom theme",slug:"developing-and-extending-a-custom-theme"},{level:2,title:"2. Bootstrap themes",slug:"2-bootstrap-themes"},{level:2,title:"Checkout page themes",slug:"checkout-page-themes"},{level:3,title:"Andreas M. Antonopolous",slug:"andreas-m-antonopolous"},{level:3,title:"Bitcoin Fortune Cookie",slug:"bitcoin-fortune-cookie"},{level:3,title:"Bitma.tk",slug:"bitmatk"},{level:3,title:"Blockstream",slug:"blockstream"},{level:3,title:"Coincards",slug:"coincards"},{level:3,title:"CryptoCloaks",slug:"cryptocloaks"},{level:3,title:"Human Rights Foundation",slug:"human-rights-foundation"},{level:3,title:"Shiftcrypto",slug:"shiftcrypto"},{level:3,title:"Wears My Liberty",slug:"wears-my-liberty"},{level:3,title:"Bitcoin People",slug:"bitcoin-people"}]},{title:"Introduction",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/",relativePath:"Docker/README.md",key:"v-3a2a5ff4",path:"/Docker/",headers:[{level:2,title:"Generated docker-compose",slug:"generated-docker-compose"},{level:2,title:"Again, what does btcpay-setup.sh do?",slug:"again-what-does-btcpay-setupsh-do"},{level:2,title:"Overview of files generated by btcpay-setup.sh",slug:"overview-of-files-generated-by-btcpay-setupsh"},{level:2,title:"How can I modify my environment?",slug:"how-can-i-modify-my-environment"},{level:2,title:"I deployed before btcpay-setup.sh existed (before May 17, 2018), can I migrate to this new system?",slug:"i-deployed-before-btcpay-setupsh-existed-before-may-17-2018-can-i-migrate-to-this-new-system"},{level:2,title:"I'm getting an error on Windows: Cannot create container for service docker: Mount denied?",slug:"im-getting-an-error-on-windows-cannot-create-container-for-service-docker-mount-denied"},{level:2,title:"How I can prune my node(s)?",slug:"how-i-can-prune-my-nodes"},{level:2,title:"How can I customize the generated docker-compose file?",slug:"how-can-i-customize-the-generated-docker-compose-file"},{level:2,title:"Can I run BTCPay Server on ports other than 80 and 443?",slug:"can-i-run-btcpay-server-on-ports-other-than-80-and-443"},{level:2,title:"Can I offload HTTPS termination?",slug:"can-i-offload-https-termination"},{level:2,title:"How can I back up my BTCPay Server?",slug:"how-can-i-back-up-my-btcpay-server"},{level:2,title:"How can I connect to the database?",slug:"how-can-i-connect-to-the-database"},{level:2,title:"How do I upgrade my BTCPay Server docker?",slug:"how-do-i-upgrade-my-btcpay-server-docker"}]},{title:"Backup & Restore",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/backup-restore.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/backup-restore.html",relativePath:"Docker/backup-restore.md",key:"v-bcc9c0f6",path:"/Docker/backup-restore/",headers:[{level:2,title:"Remarks and Considerations",slug:"remarks-and-considerations"},{level:3,title:"Lightning channel backup",slug:"lightning-channel-backup"},{level:2,title:"How does the backup work?",slug:"how-does-the-backup-work"},{level:3,title:"Set a backup passphrase",slug:"set-a-backup-passphrase"},{level:3,title:"Automation by crontab",slug:"automation-by-crontab"},{level:2,title:"How to restore?",slug:"how-to-restore"}]},{title:"Chatwoot support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/chatwoot.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/chatwoot.html",relativePath:"Docker/chatwoot.md",key:"v-52901cc5",path:"/Docker/chatwoot/",headers:[{level:2,title:"How to use",slug:"how-to-use"}]},{title:"Cloudflare tunnel support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/cloudflare-tunnel.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/cloudflare-tunnel.html",relativePath:"Docker/cloudflare-tunnel.md",key:"v-aeaaf052",path:"/Docker/cloudflare-tunnel/",headers:[{level:2,title:"How to use?",slug:"how-to-use"},{level:2,title:"Recommended additional step",slug:"recommended-additional-step"},{level:2,title:"Known error",slug:"known-error"},{level:3,title:"Error 503",slug:"error-503"}]},{title:"Fast sync Bitcoin for BTCPay Server",frontmatter:{},regularPath:"/Docker/fastsync.html",relativePath:"Docker/fastsync.md",key:"v-e159d7f6",path:"/Docker/fastsync/",headers:[{level:2,title:"What problem does Fast Sync solve?",slug:"what-problem-does-fast-sync-solve"},{level:2,title:"How does Fast Sync solve the problem?",slug:"how-does-fast-sync-solve-the-problem"},{level:2,title:"What are the downsides of Fast Sync?",slug:"what-are-the-downsides-of-fast-sync"},{level:3,title:"Malicious UTXO Set",slug:"malicious-utxo-set"},{level:3,title:"Lightning Network routing issues",slug:"lightning-network-routing-issues"},{level:2,title:"How to verify that the UTXO Set snapshot follows the consensus?",slug:"how-to-verify-that-the-utxo-set-snapshot-follows-the-consensus"},{level:3,title:"If you trust the owner of this repository....",slug:"if-you-trust-the-owner-of-this-repository"},{level:3,title:"Don't trust, verify!",slug:"dont-trust-verify-"},{level:3,title:"If you trust someone else...",slug:"if-you-trust-someone-else"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"Can I add my signature to this repository?",slug:"can-i-add-my-signature-to-this-repository"},{level:3,title:"Where can I download UTXO set snapshots",slug:"where-can-i-download-utxo-set-snapshots"},{level:3,title:"How can I create my own snapshot?",slug:"how-can-i-create-my-own-snapshot"},{level:3,title:"How can I do this for my altcoin?",slug:"how-can-i-do-this-for-my-altcoin"},{level:3,title:"Do you plan to destroy Bitcoin?",slug:"do-you-plan-to-destroy-bitcoin"},{level:3,title:"Why you don't just: Make BTCPayServer rely on SPV",slug:"why-you-dont-just-make-btcpayserver-rely-on-spv"},{level:3,title:"Why you don't just: Make BTCPayServer rely on an external trusted node",slug:"why-you-dont-just-make-btcpayserver-rely-on-an-external-trusted-node"}]},{title:"Firefly III support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/fireflyiii.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/fireflyiii.html",relativePath:"Docker/fireflyiii.md",key:"v-2d316036",path:"/Docker/fireflyiii/",headers:[{level:2,title:"How to use",slug:"how-to-use"}]},{title:"Joinmarket support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/joinmarket.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/joinmarket.html",relativePath:"Docker/joinmarket.md",key:"v-67ccefa5",path:"/Docker/joinmarket/",headers:[{level:2,title:"How to use",slug:"how-to-use"},{level:2,title:"How to change joinmarket configuration?",slug:"how-to-change-joinmarket-configuration"},{level:2,title:"Managing your wallet",slug:"managing-your-wallet"},{level:2,title:"Getting command prompt into the container",slug:"getting-command-prompt-into-the-container"},{level:2,title:"Managing the services such as yield generators",slug:"managing-the-services-such-as-yield-generators"},{level:2,title:"OB-Watcher",slug:"ob-watcher"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"Error: Failed to load wallet, you need to remove the lock file",slug:"error-failed-to-load-wallet-you-need-to-remove-the-lock-file"},{level:3,title:"Read the logs of services",slug:"read-the-logs-of-services"}]},{title:"Lightning Terminal (LiT)",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/lightning-terminal.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/lightning-terminal.html",relativePath:"Docker/lightning-terminal.md",key:"v-3d266a05",path:"/Docker/lightning-terminal/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Troubleshooting",slug:"troubleshooting"}]},{title:"NDLC support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/ndlc.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/ndlc.html",relativePath:"Docker/ndlc.md",key:"v-bf626e76",path:"/Docker/ndlc/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"How to use",slug:"how-to-use"}]},{title:"Pi-Hole support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/pihole.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/pihole.html",relativePath:"Docker/pihole.md",key:"v-92a19676",path:"/Docker/pihole/",headers:[{level:2,title:"How to use",slug:"how-to-use"},{level:2,title:"Using the dashboard",slug:"using-the-dashboard"}]},{title:"Tallycoin Connect",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/tallycoin-connect.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/tallycoin-connect.html",relativePath:"Docker/tallycoin-connect.md",key:"v-195b101b",path:"/Docker/tallycoin-connect/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Troubleshooting",slug:"troubleshooting"}]},{title:"Drupal Commerce 2.x integration",frontmatter:{},regularPath:"/Drupal.html",relativePath:"Drupal.md",key:"v-b69e09ee",path:"/Drupal/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Module installation and configuration",slug:"module-installation-and-configuration"},{level:3,title:"Quick walkthrough screencast",slug:"quick-walkthrough-screencast"},{level:3,title:"Quick walkthrough steps",slug:"quick-walkthrough-steps"}]},{title:"Electrum Personal Server (EPS) integration",frontmatter:{},regularPath:"/ElectrumPersonalServer.html",relativePath:"ElectrumPersonalServer.md",key:"v-14b9fcf5",path:"/ElectrumPersonalServer/",headers:[{level:2,title:"About Tor support",slug:"about-tor-support"},{level:2,title:"How to enable Electrum Personal Server (EPS) in BTCPay:",slug:"how-to-enable-electrum-personal-server-eps-in-btcpay"},{level:2,title:"How to connect Electrum Wallet to EPS",slug:"how-to-connect-electrum-wallet-to-eps"},{level:3,title:"Reflection on what has been achieved:",slug:"reflection-on-what-has-been-achieved"},{level:3,title:"Troubleshooting:",slug:"troubleshooting"}]},{title:"Connecting Electrum Wallet to BTCPay Server",frontmatter:{},regularPath:"/ElectrumWallet.html",relativePath:"ElectrumWallet.md",key:"v-6dcde349",path:"/ElectrumWallet/",headers:[{level:2,title:"Electrum Wallet Setup",slug:"electrum-wallet-setup"},{level:3,title:"Quick Setup",slug:"quick-setup"},{level:2,title:"Step by Step",slug:"step-by-step"},{level:3,title:"Alternative Setup",slug:"alternative-setup"},{level:3,title:"Configuring the Gap Limit in Electrum",slug:"configuring-the-gap-limit-in-electrum"}]},{title:"ElectrumX",frontmatter:{},regularPath:"/ElectrumX.html",relativePath:"ElectrumX.md",key:"v-1e8449a5",path:"/ElectrumX/",headers:[{level:2,title:"How to integrate ElectrumX into your BTCPay Server and connect your Electrum Wallet to it for your complete privacy",slug:"how-to-integrate-electrumx-into-your-btcpay-server-and-connect-your-electrum-wallet-to-it-for-your-complete-privacy"},{level:3,title:"(only available in BTCPay docker version)",slug:"only-available-in-btcpay-docker-version"},{level:2,title:"Section 2.1 Enable Your Own ElectrumX Server (fully integrated with your BTCPay Server's full bitcoin node)",slug:"section-21-enable-your-own-electrumx-server-fully-integrated-with-your-btcpay-servers-full-bitcoin-node"},{level:3,title:"Prerequisites (mandatory):",slug:"prerequisites-mandatory"},{level:3,title:"How will enabling ElectrumX Server affect an existing BTCPay implementation?:",slug:"how-will-enabling-electrumx-server-affect-an-existing-btcpay-implementation"},{level:3,title:"Steps to enable ElectrumX Server in BTCPay:",slug:"steps-to-enable-electrumx-server-in-btcpay"},{level:2,title:"Section 2.2 Connect your Electrum Wallet (Desktop or Android) to your ElectrumX Server",slug:"section-22-connect-your-electrum-wallet-desktop-or-android-to-your-electrumx-server"},{level:3,title:"Connect to ElectrumX from Electrum Wallet on your Mac/PC/Linux Machine:",slug:"connect-to-electrumx-from-electrum-wallet-on-your-macpclinux-machine"},{level:3,title:"Reflection on what has been achieved:",slug:"reflection-on-what-has-been-achieved"},{level:3,title:"Troubleshooting:",slug:"troubleshooting"}]},{title:"Altcoins FAQ",frontmatter:{},regularPath:"/FAQ/Altcoin.html",relativePath:"FAQ/Altcoin.md",key:"v-5a7c8936",path:"/FAQ/Altcoin/",headers:[{level:2,title:"Which coins does BTCPay Server support?",slug:"which-coins-does-btcpay-server-support"},{level:2,title:"Can an XYZ coin be added in BTCPay?",slug:"can-an-xyz-coin-be-added-in-btcpay"},{level:2,title:"How to add an altcoin in BTCPay?",slug:"how-to-add-an-altcoin-in-btcpay"},{level:2,title:"How to add an altcoin to an existing BTCPay deployment?",slug:"how-to-add-an-altcoin-to-an-existing-btcpay-deployment"},{level:2,title:"How to remove a coin from BTCPay?",slug:"how-to-remove-a-coin-from-btcpay"}]},{title:"Apps FAQ",frontmatter:{},regularPath:"/FAQ/Apps.html",relativePath:"FAQ/Apps.md",key:"v-0fd6afca",path:"/FAQ/Apps/",headers:[{level:2,title:"What are the Apps in BTCPay?",slug:"what-are-the-apps-in-btcpay"},{level:2,title:"Is there a limit on the number of Apps I can create?",slug:"is-there-a-limit-on-the-number-of-apps-i-can-create"},{level:2,title:"Is there a Point of Sale feature in BTCPay?",slug:"is-there-a-point-of-sale-feature-in-btcpay"},{level:2,title:"How can I use BTCPay in a physical store?",slug:"how-can-i-use-btcpay-in-a-physical-store"},{level:2,title:"How to customize the appearance of Point of Sale App in BTCPay",slug:"how-to-customize-the-appearance-of-point-of-sale-app-in-btcpay"},{level:2,title:"What is a Payment Button?",slug:"what-is-a-payment-button"},{level:2,title:"How to create a Pay Button with a custom amount?",slug:"how-to-create-a-pay-button-with-a-custom-amount"},{level:2,title:"How to map a domain name to an app?",slug:"how-to-map-a-domain-name-to-an-app"},{level:2,title:"How to redirect to another site after payment?",slug:"how-to-redirect-to-another-site-after-payment"},{level:2,title:"How to integrate WooCommerce Store into a BTCPay Crowdfund app?",slug:"how-to-integrate-woocommerce-store-into-a-btcpay-crowdfund-app"},{level:3,title:"Requirements",slug:"requirements"},{level:3,title:"Instructions",slug:"instructions"}]},{title:"Deployment FAQ",frontmatter:{},regularPath:"/FAQ/Deployment.html",relativePath:"FAQ/Deployment.md",key:"v-02bea796",path:"/FAQ/Deployment/",headers:[{level:2,title:"General Deployment",slug:"general-deployment"},{level:3,title:"How much does it cost to run BTCPay Server?",slug:"how-much-does-it-cost-to-run-btcpay-server"},{level:3,title:"What are the minimal requirements for BTCPay?",slug:"what-are-the-minimal-requirements-for-btcpay"},{level:3,title:"What is the easiest method to deploy a self-hosted BTCPay Server?",slug:"what-is-the-easiest-method-to-deploy-a-self-hosted-btcpay-server"},{level:3,title:"How to choose a proper deployment method?",slug:"how-to-choose-a-proper-deployment-method"},{level:3,title:"Can I run BTCPay on my own hardware?",slug:"can-i-run-btcpay-on-my-own-hardware"},{level:3,title:"Can I deploy BTCPay on my existing VPS?",slug:"can-i-deploy-btcpay-on-my-existing-vps"},{level:3,title:"Are there free hosts where I can test?",slug:"are-there-free-hosts-where-i-can-test"},{level:3,title:"After initial deployment, I can't register and I don't have a login yet?",slug:"after-initial-deployment-i-cant-register-and-i-dont-have-a-login-yet"},{level:3,title:"How do I activate Tor on my BTCPay Server?",slug:"how-do-i-activate-tor-on-my-btcpay-server"},{level:3,title:"How do I disable Tor on my BTCPay Server?",slug:"how-do-i-disable-tor-on-my-btcpay-server"},{level:3,title:"Why activate Tor? Does it mean that nobody knows who I am?",slug:"why-activate-tor-does-it-mean-that-nobody-knows-who-i-am"},{level:3,title:"How to access the .onion address without clearnet?",slug:"how-to-access-the-onion-address-without-clearnet"},{level:3,title:"How can I modify or deactivate environment variables?",slug:"how-can-i-modify-or-deactivate-environment-variables"},{level:3,title:"How can I run BTCPay on testnet?",slug:"how-can-i-run-btcpay-on-testnet"},{level:3,title:"Can I start BTCPay only when I'm expecting a payment?",slug:"can-i-start-btcpay-only-when-im-expecting-a-payment"},{level:3,title:"Can I connect to my BTCPay Bitcoin P2P on port 8333?",slug:"can-i-connect-to-my-btcpay-bitcoin-p2p-on-port-8333"},{level:3,title:"How can I renew my SSL certificate?",slug:"how-can-i-renew-my-ssl-certificate"},{level:3,title:"Can I use an existing Nginx server as a reverse proxy with SSL termination?",slug:"can-i-use-an-existing-nginx-server-as-a-reverse-proxy-with-ssl-termination"},{level:2,title:"How to change your BTCPay Server domain name?",slug:"how-to-change-your-btcpay-server-domain-name"},{level:3,title:"Setting up DNS Records",slug:"setting-up-dns-records"},{level:3,title:"Change domain name in BTCPay Server settings",slug:"change-domain-name-in-btcpay-server-settings"},{level:3,title:"Change domain on command line",slug:"change-domain-on-command-line"},{level:2,title:"Web-deployment",slug:"web-deployment"},{level:3,title:"Can I run BTCPay on my home computer?",slug:"can-i-run-btcpay-on-my-home-computer"},{level:3,title:"LunaNode web-deployment",slug:"lunanode-web-deployment"},{level:2,title:"Manual Deployment",slug:"manual-deployment"},{level:3,title:"How do I completely uninstall BTCPay from a Linux environment (Docker version)",slug:"how-do-i-completely-uninstall-btcpay-from-a-linux-environment-docker-version"},{level:3,title:"How to deploy BTCPay Server alongside existing Bitcoin node?",slug:"how-to-deploy-btcpay-server-alongside-existing-bitcoin-node"},{level:3,title:"With the docker deployment, how to use a different volume for the data?",slug:"with-the-docker-deployment-how-to-use-a-different-volume-for-the-data"},{level:3,title:"I get 503 Service Temporarily Unavailable nginx",slug:"i-get-503-service-temporarily-unavailable-nginx"}]},{title:"General FAQ",frontmatter:{tags:["refund","merchant refund"]},regularPath:"/FAQ/General.html",relativePath:"FAQ/General.md",key:"v-b4e335b6",path:"/FAQ/General/",headers:[{level:2,title:"What is BTCPay Server?",slug:"what-is-btcpay-server"},{level:2,title:"Why should I choose BTCPay over other processors?",slug:"why-should-i-choose-btcpay-over-other-processors"},{level:2,title:"Why is everyone so excited about BTCPay?",slug:"why-is-everyone-so-excited-about-btcpay"},{level:2,title:"Who can use BTCPay?",slug:"who-can-use-btcpay"},{level:2,title:"How to install BTCPay Server?",slug:"how-to-install-btcpay-server"},{level:2,title:"Where to find BTCPay video tutorials?",slug:"where-to-find-btcpay-video-tutorials"},{level:2,title:"Do I need to have an online store to use BTCPay Server?",slug:"do-i-need-to-have-an-online-store-to-use-btcpay-server"},{level:2,title:"Why can't I just give my Bitcoin address to a buyer?",slug:"why-cant-i-just-give-my-bitcoin-address-to-a-buyer"},{level:2,title:"How does BTCPay create a new address for each invoice?",slug:"how-does-btcpay-create-a-new-address-for-each-invoice"},{level:2,title:"Does BTCPay need my private key?",slug:"does-btcpay-need-my-private-key"},{level:2,title:"Does BTCPay Server support crypto to fiat conversion?",slug:"does-btcpay-server-support-crypto-to-fiat-conversion"},{level:2,title:"What if I have a problem paying an invoice?",slug:"what-if-i-have-a-problem-paying-an-invoice"},{level:2,title:"What if I have a problem with a paid invoice?",slug:"what-if-i-have-a-problem-with-a-paid-invoice"},{level:2,title:"Where can I get help and support?",slug:"where-can-i-get-help-and-support"},{level:2,title:"How can I contribute to BTCPay?",slug:"how-can-i-contribute-to-btcpay"},{level:2,title:"How can I use the BTCPay Server API?",slug:"how-can-i-use-the-btcpay-server-api"},{level:2,title:"How to create a webhook ?",slug:"how-to-create-a-webhook-"},{level:2,title:"Webhook format is not bitpay compatible?",slug:"webhook-format-is-not-bitpay-compatible"},{level:2,title:"How can I backup my BTCPay Server?",slug:"how-can-i-backup-my-btcpay-server"},{level:2,title:"How can I charge for using my BTCPay Server instance?",slug:"how-can-i-charge-for-using-my-btcpay-server-instance"},{level:2,title:'Stuck synching: "NBXplorer is synchronizing"',slug:"stuck-synching-nbxplorer-is-synchronizing-"}]},{title:"Integrations FAQ",frontmatter:{},regularPath:"/FAQ/Integrations.html",relativePath:"FAQ/Integrations.md",key:"v-dec9d2fe",path:"/FAQ/Integrations/",headers:[{level:2,title:"General Integrations FAQ",slug:"general-integrations-faq"},{level:3,title:"What e-commerce integrations are available?",slug:"what-e-commerce-integrations-are-available"},{level:3,title:"How to use WooCommerce store with BTCPay?",slug:"how-to-use-woocommerce-store-with-btcpay"},{level:3,title:"How to use BTCPay with Drupal?",slug:"how-to-use-btcpay-with-drupal"},{level:3,title:"How to use BTCPay with Prestashop?",slug:"how-to-use-btcpay-with-prestashop"},{level:3,title:"Does BTCPay have a Shopify plugin?",slug:"does-btcpay-have-a-shopify-plugin"},{level:3,title:"Can I use BTCPay without an integration?",slug:"can-i-use-btcpay-without-an-integration"},{level:2,title:"WooCommerce FAQ",slug:"woocommerce-faq"},{level:3,title:"How to upgrade to the new BTCPay for WooCommerce V2 plugin?",slug:"how-to-upgrade-to-the-new-btcpay-for-woocommerce-v2-plugin"},{level:3,title:"How to configure order status in WooCommerce?",slug:"how-to-configure-order-status-in-woocommerce"},{level:3,title:"How to customize e-mail confirmations in WooCommerce?",slug:"how-to-customize-e-mail-confirmations-in-woocommerce"},{level:3,title:"Error: If you use an alternative order numbering system, please see class-wc-gateway-btcpay.php to apply a search filter",slug:"error-if-you-use-an-alternative-order-numbering-system-please-see-class-wc-gateway-btcpayphp-to-apply-a-search-filter"},{level:3,title:"How to configure Additional Token Support / Separate Payment Gateways",slug:"how-to-configure-additional-token-support-separate-payment-gateways"}]},{title:"Lightning Network FAQ",frontmatter:{},regularPath:"/FAQ/LightningNetwork.html",relativePath:"FAQ/LightningNetwork.md",key:"v-42e075f7",path:"/FAQ/LightningNetwork/",headers:[{level:2,title:"Lightning Network General FAQ",slug:"lightning-network-general-faq"},{level:3,title:"How many users can use Lightning Network in BTCPay?",slug:"how-many-users-can-use-lightning-network-in-btcpay"},{level:3,title:"How to find node info and open a direct channel with a store using BTCPay?",slug:"how-to-find-node-info-and-open-a-direct-channel-with-a-store-using-btcpay"},{level:3,title:"As a merchant, do I need to open direct channels?",slug:"as-a-merchant-do-i-need-to-open-direct-channels"},{level:3,title:"How can I get inbound capacity to my node?",slug:"how-can-i-get-inbound-capacity-to-my-node"},{level:3,title:"I previously installed BTCPayServer without lightning, can I enable it?",slug:"i-previously-installed-btcpayserver-without-lightning-can-i-enable-it"},{level:3,title:"Can I use a pruned node with LN in BTCPay?",slug:"can-i-use-a-pruned-node-with-ln-in-btcpay"},{level:3,title:"Can I use my existing LN node with BTCPay?",slug:"can-i-use-my-existing-ln-node-with-btcpay"},{level:3,title:"How to change from Core Lightning (CLN) to LND or vice-versa?",slug:"how-to-change-from-core-lightning-cln-to-lnd-or-vice-versa"},{level:3,title:'I switched Lightning Network implementation, but getting "no payment available" error',slug:"i-switched-lightning-network-implementation-but-getting-no-payment-available-error"},{level:3,title:'I get "WARNING: The LIGHTNING_ALIAS variable is not set. Defaulting to a blank string" when starting container',slug:"i-get-warning-the-lightning-alias-variable-is-not-set-defaulting-to-a-blank-string-when-starting-container"},{level:3,title:"How to display my Lightning Node information so that others can connect to me?",slug:"how-to-display-my-lightning-node-information-so-that-others-can-connect-to-me"},{level:3,title:"Where can I find recovery seed backup for my Lightning Network wallet in BTCPay Server?",slug:"where-can-i-find-recovery-seed-backup-for-my-lightning-network-wallet-in-btcpay-server"},{level:3,title:"How to disable on-chain payments and use LN payments only?",slug:"how-to-disable-on-chain-payments-and-use-ln-payments-only"},{level:3,title:"How to see my Lightning Network version?",slug:"how-to-see-my-lightning-network-version"},{level:3,title:"How to redirect a Lightning Address?",slug:"how-to-redirect-a-lightning-address"},{level:2,title:"Lightning Network LND FAQ",slug:"lightning-network-lnd-faq"},{level:3,title:"How to restart my LND?",slug:"how-to-restart-my-lnd"},{level:3,title:"How to rescan the LND on-chain wallet?",slug:"how-to-rescan-the-lnd-on-chain-wallet"},{level:3,title:"How to see LND logs?",slug:"how-to-see-lnd-logs"},{level:3,title:"What’s the default directory of LND in BTCPay?",slug:"what-s-the-default-directory-of-lnd-in-btcpay"},{level:3,title:"Which macaroon needs to be provided for external nodes?",slug:"which-macaroon-needs-to-be-provided-for-external-nodes"},{level:3,title:"LND connection issues after an update",slug:"lnd-connection-issues-after-an-update"},{level:3,title:"How to change my LND Node alias?",slug:"how-to-change-my-lnd-node-alias"},{level:3,title:"How to edit lnd.conf?",slug:"how-to-edit-lndconf"},{level:3,title:"How to connect to a LND watchtower?",slug:"how-to-connect-to-a-lnd-watchtower"},{level:3,title:"How to run a LND watchtower?",slug:"how-to-run-a-lnd-watchtower"},{level:3,title:"How to install ThunderHub?",slug:"how-to-install-thunderhub"},{level:2,title:"Lightning Network Core Lightning (CLN) FAQ",slug:"lightning-network-core-lightning-cln-faq"},{level:3,title:"How to restart my Core Lightning (CLN)?",slug:"how-to-restart-my-core-lightning-cln"},{level:3,title:"How to announce an IPv6 address?",slug:"how-to-announce-an-ipv6-address"},{level:2,title:"Lightning Network Questions and Support",slug:"lightning-network-questions-and-support"}]},{title:"Frequently Asked Questions and Common Issues",frontmatter:{},regularPath:"/FAQ/",relativePath:"FAQ/README.md",key:"v-78e9ef70",path:"/FAQ/",headers:[{level:2,title:"General FAQ",slug:"general-faq"},{level:2,title:"Deployment FAQ",slug:"deployment-faq"},{level:3,title:"General Deployment FAQ",slug:"general-deployment-faq"},{level:3,title:"Web Deployment FAQ",slug:"web-deployment-faq"},{level:3,title:"Manual Deployment FAQ",slug:"manual-deployment-faq"},{level:2,title:"Synchronization FAQ",slug:"synchronization-faq"},{level:2,title:"Integrations FAQ",slug:"integrations-faq"},{level:3,title:"Integrations General",slug:"integrations-general"},{level:3,title:"WooCommerce FAQ",slug:"woocommerce-faq"},{level:2,title:"Server Settings FAQ",slug:"server-settings-faq"},{level:3,title:"Maintenance FAQ",slug:"maintenance-faq"},{level:3,title:"Theme / Customization FAQ",slug:"theme-customization-faq"},{level:3,title:"Policies FAQ",slug:"policies-faq"},{level:3,title:"Services FAQ",slug:"services-faq"},{level:3,title:"Files FAQ",slug:"files-faq"},{level:2,title:"Stores FAQ",slug:"stores-faq"},{level:2,title:"Wallet FAQ",slug:"wallet-faq"},{level:2,title:"Apps FAQ",slug:"apps-faq"},{level:2,title:"Lightning Network FAQ",slug:"lightning-network-faq"},{level:3,title:"Lightning Network General FAQ",slug:"lightning-network-general-faq"},{level:3,title:"Lightning Network LND FAQ",slug:"lightning-network-lnd-faq"},{level:3,title:"Lightning Network Core Lightning (CLN) FAQ",slug:"lightning-network-core-lightning-cln-faq"},{level:2,title:"Altcoins FAQ",slug:"altcoins-faq"}]},{title:"Server Settings FAQ",frontmatter:{},regularPath:"/FAQ/ServerSettings.html",relativePath:"FAQ/ServerSettings.md",key:"v-0763789a",path:"/FAQ/ServerSettings/",headers:[{level:2,title:"Maintenance",slug:"maintenance"},{level:3,title:"How to update BTCPay Server?",slug:"how-to-update-btcpay-server"},{level:3,title:"How to restart BTCPay Server?",slug:"how-to-restart-btcpay-server"},{level:3,title:"How to SSH into my BTCPay running on VPS?",slug:"how-to-ssh-into-my-btcpay-running-on-vps"},{level:3,title:"How to see, as an admin, what's running on my BTCPay Server?",slug:"how-to-see-as-an-admin-whats-running-on-my-btcpay-server"},{level:3,title:"How can I see my BTCPay Server version?",slug:"how-can-i-see-my-btcpay-server-version"},{level:3,title:"How can I check my BTCPay Server version via terminal?",slug:"how-can-i-check-my-btcpay-server-version-via-terminal"},{level:3,title:"What is BTCPay SSH key file?",slug:"what-is-btcpay-ssh-key-file"},{level:3,title:"Forgot BTCPay Admin password?",slug:"forgot-btcpay-admin-password"},{level:3,title:"How to add a new user by invite?",slug:"how-to-add-a-new-user-by-invite"},{level:3,title:"How to disable U2F and 2FA for a user?",slug:"how-to-disable-u2f-and-2fa-for-a-user"},{level:3,title:"How to configure SMTP settings in BTCPay?",slug:"how-to-configure-smtp-settings-in-btcpay"},{level:3,title:"Error: Maintenance feature requires access to SSH properly configured in BTCPayServer configuration",slug:"error-maintenance-feature-requires-access-to-ssh-properly-configured-in-btcpayserver-configuration"},{level:3,title:"Error: Your local changes to the following files would be overwritten by merge",slug:"error-your-local-changes-to-the-following-files-would-be-overwritten-by-merge"},{level:3,title:"Error: BTCPAY_SSHKEYFILE is not set when running the docker install, or unable to update through Server Settings / Maintenance",slug:"error-btcpay-sshkeyfile-is-not-set-when-running-the-docker-install-or-unable-to-update-through-server-settings-maintenance"},{level:2,title:"Theme / Customization",slug:"theme-customization"},{level:3,title:"How to customize my BTCPay theme style?",slug:"how-to-customize-my-btcpay-theme-style"},{level:3,title:"How to modify the checkout page?",slug:"how-to-modify-the-checkout-page"},{level:3,title:"How to add Google Analytics code to BTCPay?",slug:"how-to-add-google-analytics-code-to-btcpay"},{level:2,title:"Policies",slug:"policies"},{level:3,title:"How to allow registration on my BTCPay Server?",slug:"how-to-allow-registration-on-my-btcpay-server"},{level:3,title:"How to hide my BTCPay Server from Search Engines?",slug:"how-to-hide-my-btcpay-server-from-search-engines"},{level:2,title:"Services",slug:"services"},{level:3,title:"How to remotely connect to my BTCPay full node?",slug:"how-to-remotely-connect-to-my-btcpay-full-node"},{level:2,title:"Files",slug:"files"},{level:3,title:"How to upload files to BTCPay?",slug:"how-to-upload-files-to-btcpay"}]},{title:"Stores FAQ",frontmatter:{},regularPath:"/FAQ/Stores.html",relativePath:"FAQ/Stores.md",key:"v-1eb7e25b",path:"/FAQ/Stores/",headers:[{level:2,title:"How to create a store in BTCPay Server?",slug:"how-to-create-a-store-in-btcpay-server"},{level:2,title:"How many stores can I create?",slug:"how-many-stores-can-i-create"},{level:2,title:"Why are invoices without payment showing as complete?",slug:"why-are-invoices-without-payment-showing-as-complete"},{level:2,title:"Add network fee to invoice (vary with mining fees)?",slug:"add-network-fee-to-invoice-vary-with-mining-fees"},{level:2,title:"Allow anyone to create invoice",slug:"allow-anyone-to-create-invoice"},{level:2,title:"Invoice expires if the full amount has not been paid after ... minutes",slug:"invoice-expires-if-the-full-amount-has-not-been-paid-after-minutes"},{level:2,title:"Payment invalid if transactions fails to confirm ... minutes after invoice expiration",slug:"payment-invalid-if-transactions-fails-to-confirm-minutes-after-invoice-expiration"},{level:2,title:"Consider the invoice confirmed when the payment transaction",slug:"consider-the-invoice-confirmed-when-the-payment-transaction"},{level:2,title:"Consider the invoice confirmed with RBF flag on 0-conf setup",slug:"consider-the-invoice-confirmed-with-rbf-flag-on-0-conf-setup"},{level:2,title:"Consider the invoice paid even if the paid amount is ... % less than expected",slug:"consider-the-invoice-paid-even-if-the-paid-amount-is-less-than-expected"},{level:2,title:"How to disable email on invoices",slug:"how-to-disable-email-on-invoices"},{level:2,title:"How to denominate invoices in sats",slug:"how-to-denominate-invoices-in-sats"},{level:2,title:"How to redirect store invoices after payment?",slug:"how-to-redirect-store-invoices-after-payment"},{level:2,title:"Can I delete invoices from BTCPay?",slug:"can-i-delete-invoices-from-btcpay"},{level:2,title:"How to collect additional buyer information?",slug:"how-to-collect-additional-buyer-information"},{level:2,title:"How to change the exchange rate provider for invoices?",slug:"how-to-change-the-exchange-rate-provider-for-invoices"},{level:2,title:"Getting GetRatesAsync was called on coinaverage error",slug:"getting-getratesasync-was-called-on-coinaverage-error"},{level:2,title:"What is a payment request?",slug:"what-is-a-payment-request"},{level:2,title:"What is the difference between a payment request and invoice?",slug:"what-is-the-difference-between-a-payment-request-and-invoice"}]},{title:"Synchronization FAQ",frontmatter:{},regularPath:"/FAQ/Synchronization.html",relativePath:"FAQ/Synchronization.md",key:"v-0c2701b6",path:"/FAQ/Synchronization/",headers:[{level:2,title:"Why does BTCPay sync?",slug:"why-does-btcpay-sync"},{level:2,title:"Can I skip the synchronization?",slug:"can-i-skip-the-synchronization"},{level:2,title:"How do I know that BTCPay synced completely?",slug:"how-do-i-know-that-btcpay-synced-completely"},{level:2,title:"How can I check the block height of my bitcoin node?",slug:"how-can-i-check-the-block-height-of-my-bitcoin-node"},{level:2,title:"BTCPay Server takes forever to synchronize",slug:"btcpay-server-takes-forever-to-synchronize"},{level:3,title:"Cause 1: Not enough CPU",slug:"cause-1-not-enough-cpu"},{level:3,title:"Cause 2: Using swap memory",slug:"cause-2-using-swap-memory"},{level:2,title:"BTCPay Server keeps showing that my node is always starting",slug:"btcpay-server-keeps-showing-that-my-node-is-always-starting"},{level:3,title:"Cause 1: You do not have enough RAM",slug:"cause-1-you-do-not-have-enough-ram"},{level:3,title:"Cause 2: You do not have enough storage",slug:"cause-2-you-do-not-have-enough-storage"},{level:3,title:"Cause 3: You accidentally disabled pruning",slug:"cause-3-you-accidentally-disabled-pruning"},{level:3,title:"Cause 4: Your bitcoin data directory is corrupted",slug:"cause-4-your-bitcoin-data-directory-is-corrupted"},{level:3,title:"Cause 5: Your last wallet synchronisation goes beyond pruned data",slug:"cause-5-your-last-wallet-synchronisation-goes-beyond-pruned-data"},{level:2,title:"I'm running a full node and have a synched blockchain, can BTCPay use it so that it doesn't have to do a full sync?",slug:"im-running-a-full-node-and-have-a-synched-blockchain-can-btcpay-use-it-so-that-it-doesnt-have-to-do-a-full-sync"},{level:2,title:"How to enable Bitcoin node pruning?",slug:"how-to-enable-bitcoin-node-pruning"},{level:2,title:"How to disable Bitcoin node pruning?",slug:"how-to-disable-bitcoin-node-pruning"}]},{title:"Wallet FAQ",frontmatter:{},regularPath:"/FAQ/Wallet.html",relativePath:"FAQ/Wallet.md",key:"v-65060acd",path:"/FAQ/Wallet/",headers:[{level:2,title:"What is BTCPay Server wallet?",slug:"what-is-btcpay-server-wallet"},{level:2,title:"How to set up my wallet with BTCPay Server?",slug:"how-to-set-up-my-wallet-with-btcpay-server"},{level:2,title:"Can I use a hardware wallet with BTCPay Server?",slug:"can-i-use-a-hardware-wallet-with-btcpay-server"},{level:2,title:"Is there address re-use for separate stores using same xpub?",slug:"is-there-address-re-use-for-separate-stores-using-same-xpub"},{level:2,title:"Do I have to use BTCPay Server wallet?",slug:"do-i-have-to-use-btcpay-server-wallet"},{level:2,title:"Why is sending a transaction using Trezor failing?",slug:"why-is-sending-a-transaction-using-trezor-failing"},{level:2,title:"Missing payments in my software or hardware wallet",slug:"missing-payments-in-my-software-or-hardware-wallet"},{level:3,title:"The gap limit problem",slug:"the-gap-limit-problem"},{level:3,title:"The gap limit solution",slug:"the-gap-limit-solution"},{level:2,title:"What is a derivation scheme?",slug:"what-is-a-derivation-scheme"},{level:2,title:"What is a Replace-By-Fee (RBF) transaction?",slug:"what-is-a-replace-by-fee-rbf-transaction"},{level:2,title:"Does BTCPay Server use mempoolfullrbf=1 ?",slug:"does-btcpay-server-use-mempoolfullrbf-1-"},{level:2,title:"How to add custom labels and comments to transactions?",slug:"how-to-add-custom-labels-and-comments-to-transactions"},{level:2,title:"I don't see Lightning network payments in BTCPay wallet?",slug:"i-dont-see-lightning-network-payments-in-btcpay-wallet"},{level:2,title:"Is there a mobile app for BTCPay Server wallet?",slug:"is-there-a-mobile-app-for-btcpay-server-wallet"}]},{title:"Forms",frontmatter:{},regularPath:"/Forms.html",relativePath:"Forms.md",key:"v-7900ca36",path:"/Forms/",headers:[{level:2,title:"Setting up your store's first Custom form.",slug:"setting-up-your-stores-first-custom-form"},{level:2,title:"Create a custom form.",slug:"create-a-custom-form"},{level:2,title:"Public Forms",slug:"public-forms"},{level:2,title:"Adjust invoice amounts based on user input",slug:"adjust-invoice-amounts-based-on-user-input"},{level:3,title:"Charging extra based on shipping method",slug:"charging-extra-based-on-shipping-method"},{level:3,title:"Promo codes",slug:"promo-codes"},{level:3,title:"Showing user input on the receipt",slug:"showing-user-input-on-the-receipt"},{level:2,title:"Support",slug:"support"}]},{title:"BTCPay Server Documentation",frontmatter:{},regularPath:"/Guide.html",relativePath:"Guide.md",key:"v-51796845",path:"/Guide/",headers:[{level:2,title:"What is BTCPay Server?",slug:"what-is-btcpay-server"},{level:2,title:"How BTCPay Server works?",slug:"how-btcpay-server-works"},{level:2,title:"Features",slug:"features"},{level:2,title:"Getting started",slug:"getting-started"},{level:2,title:"Get involved",slug:"get-involved"},{level:2,title:"Support",slug:"support"}]},{title:"Hardware Wallet Integration",frontmatter:{},regularPath:"/HardwareWalletIntegration.html",relativePath:"HardwareWalletIntegration.md",key:"v-2ad91fe5",path:"/HardwareWalletIntegration/",headers:[{level:2,title:"Getting Started",slug:"getting-started"},{level:3,title:"Spending funds",slug:"spending-funds"},{level:2,title:"Advanced Settings",slug:"advanced-settings"},{level:2,title:"Supported Hardware Wallets",slug:"supported-hardware-wallets"}]},{title:"What is an invoice in BTCPay Server?",frontmatter:{description:"Learn what are invoices and how to manage them in BTCPay Server.",tags:["Invoices","Payment request","Bitcoin invoices","Invoice status","Managing bitcoin invoices","Bitcoin invoicing"]},regularPath:"/Invoices.html",relativePath:"Invoices.md",key:"v-3526ef36",path:"/Invoices/",headers:[{level:2,title:"Invoice statuses",slug:"invoice-statuses"},{level:3,title:"Invoice details",slug:"invoice-details"},{level:3,title:"Invoice filtering",slug:"invoice-filtering"},{level:3,title:"Invoice export",slug:"invoice-export"},{level:2,title:"Refunding an invoice",slug:"refunding-an-invoice"},{level:2,title:"Archiving invoices",slug:"archiving-invoices"}]},{title:"LNDhub API",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lndhub-api/edit/master/README.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lndhub-api"},regularPath:"/LNDhubAPI/",relativePath:"LNDhubAPI/README.md",key:"v-9b2edb34",path:"/LNDhubAPI/",headers:[{level:2,title:"Importing the wallet",slug:"importing-the-wallet"},{level:3,title:"BlueWallet",slug:"bluewallet"},{level:3,title:"Zeus",slug:"zeus"},{level:3,title:"Alby",slug:"alby"},{level:2,title:"Support this plugin",slug:"support-this-plugin"}]},{title:"LNDhub Compatibility",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank/edit/master/docs/LNDhub.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank"},regularPath:"/LNbank/LNDhub.html",relativePath:"LNbank/LNDhub.md",key:"v-60c4a545",path:"/LNbank/LNDhub/",headers:[{level:2,title:"Importing the wallet",slug:"importing-the-wallet"},{level:3,title:"BlueWallet",slug:"bluewallet"},{level:3,title:"Zeus",slug:"zeus"},{level:3,title:"Alby",slug:"alby"}]},{title:"LNbank",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank/edit/master/README.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank"},regularPath:"/LNbank/",relativePath:"LNbank/README.md",key:"v-21ea7c46",path:"/LNbank/",headers:[{level:2,title:"Use cases",slug:"use-cases"},{level:2,title:"Technicalities",slug:"technicalities"},{level:2,title:"Caveats",slug:"caveats"},{level:2,title:"Features and Compatibility",slug:"features-and-compatibility"},{level:2,title:"How to activate and use LNbank",slug:"how-to-activate-and-use-lnbank"},{level:3,title:"Server admin",slug:"server-admin"},{level:3,title:"User",slug:"user"},{level:2,title:"Support this plugin",slug:"support-this-plugin"}]},{title:"Troubleshooting",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank/edit/master/docs/Troubleshooting.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank"},regularPath:"/LNbank/Troubleshooting.html",relativePath:"LNbank/Troubleshooting.md",key:"v-7a7299c2",path:"/LNbank/Troubleshooting/",headers:[{level:2,title:"Debugging connection problems",slug:"debugging-connection-problems"},{level:3,title:"DNS problems",slug:"dns-problems"},{level:3,title:"For Cloudflare users",slug:"for-cloudflare-users"},{level:3,title:"Using cURL for debugging",slug:"using-curl-for-debugging"},{level:2,title:"Manual deployment",slug:"manual-deployment"}]},{title:"Connecting Ledger Wallet to BTCPay Server",frontmatter:{},regularPath:"/LedgerWallet.html",relativePath:"LedgerWallet.md",key:"v-1a5789ad",path:"/LedgerWallet/",headers:[{level:2,title:"Ledger Nano S Wallet Setup",slug:"ledger-nano-s-wallet-setup"},{level:3,title:"Requirements",slug:"requirements"},{level:3,title:"Quick Setup",slug:"quick-setup"},{level:3,title:"Spending from BTCPay Server wallet with Ledger",slug:"spending-from-btcpay-server-wallet-with-ledger"}]},{title:"Lightning Network (LN) and BTCPay Server",frontmatter:{},regularPath:"/LightningNetwork.html",relativePath:"LightningNetwork.md",key:"v-6761eaa9",path:"/LightningNetwork/",headers:[{level:2,title:"Overview",slug:"overview"},{level:2,title:"Choosing the Lightning Network implementation",slug:"choosing-the-lightning-network-implementation"},{level:2,title:"Lightning node configuration in BTCPay Server",slug:"lightning-node-configuration-in-btcpay-server"},{level:3,title:"Connecting your internal Lightning Node",slug:"connecting-your-internal-lightning-node"},{level:3,title:"Connecting an external Lightning Node in BTCPay Server",slug:"connecting-an-external-lightning-node-in-btcpay-server"},{level:2,title:"Getting started with BTCPay Server and LND",slug:"getting-started-with-btcpay-server-and-lnd"},{level:3,title:"Control your LND using Ride The Lightning (RTL)",slug:"control-your-lnd-using-ride-the-lightning-rtl"},{level:3,title:"Control your LND using Zap",slug:"control-your-lnd-using-zap"},{level:3,title:"Control your LND using Lightning Joule",slug:"control-your-lnd-using-lightning-joule"},{level:3,title:"Control your LND via the command-line: lncli",slug:"control-your-lnd-via-the-command-line-lncli"},{level:2,title:"Getting started with BTCPay Server and Core Lightning (CLN)",slug:"getting-started-with-btcpay-server-and-core-lightning-cln"},{level:3,title:"Control your CLN using Ride The Lightning (RTL)",slug:"control-your-cln-using-ride-the-lightning-rtl"},{level:3,title:"Control your CLN via the command-line: lightning-cli",slug:"control-your-cln-via-the-command-line-lightning-cli"},{level:2,title:"Lightning node backup",slug:"lightning-node-backup"},{level:3,title:"Funding your on-chain wallet",slug:"funding-your-on-chain-wallet"}]},{title:"Opening and operating payment channels",frontmatter:{},regularPath:"/LightningNetwork_PaymentChannels.html",relativePath:"LightningNetwork_PaymentChannels.md",key:"v-25de27bb",path:"/LightningNetwork_PaymentChannels/"},{title:"BTCPay Magento Integration",frontmatter:{},regularPath:"/Magento.html",relativePath:"Magento.md",key:"v-78fb4ca5",path:"/Magento/",headers:[{level:2,title:"Magento 1",slug:"magento-1"},{level:2,title:"Magento 2",slug:"magento-2"}]},{title:"API Specification",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/docs/API.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/API.html",relativePath:"NBXplorer/API.md",key:"v-20a8c736",path:"/NBXplorer/API/",headers:[{level:2,title:"Table of content",slug:"table-of-content"},{level:2,title:"Configuration",slug:"configuration"},{level:2,title:"Authentication",slug:"authentication"},{level:2,title:"Derivation Scheme Format",slug:"derivation-scheme-format"},{level:2,title:"Track a derivation scheme",slug:"track-a-derivation-scheme"},{level:2,title:"Track a specific address",slug:"track-a-specific-address"},{level:2,title:"Query transactions associated to a derivationScheme",slug:"query-transactions-associated-to-a-derivationscheme"},{level:2,title:"Query transactions associated to a specific address",slug:"query-transactions-associated-to-a-specific-address"},{level:2,title:"Query a single transaction associated to a address or derivation scheme",slug:"query-a-single-transaction-associated-to-a-address-or-derivation-scheme"},{level:2,title:"Get current balance",slug:"get-current-balance"},{level:2,title:"Get a transaction",slug:"get-a-transaction"},{level:2,title:"Get connection status to the chain",slug:"get-connection-status-to-the-chain"},{level:2,title:"Get a new unused address",slug:"get-a-new-unused-address"},{level:2,title:"Get scriptPubKey information of a Derivation Scheme",slug:"get-scriptpubkey-information-of-a-derivation-scheme"},{level:2,title:"Get available Unspent Transaction Outputs (UTXOs)",slug:"get-available-unspent-transaction-outputs-utxos"},{level:2,title:"Get available Unspent Transaction Outputs of a specific address",slug:"get-available-unspent-transaction-outputs-of-a-specific-address"},{level:2,title:"Notifications via websocket",slug:"notifications-via-websocket"},{level:2,title:"Broadcast a transaction",slug:"broadcast-a-transaction"},{level:2,title:"Rescan a transaction",slug:"rescan-a-transaction"},{level:2,title:"Get fee rate",slug:"get-fee-rate"},{level:2,title:"Scan UTXO Set",slug:"scan-utxo-set"},{level:2,title:"Get scan status",slug:"get-scan-status"},{level:2,title:"Wipe derivation scheme transactions",slug:"wipe-derivation-scheme-transactions"},{level:2,title:"Query event stream",slug:"query-event-stream"},{level:2,title:"Query event stream (from most recent)",slug:"query-event-stream-from-most-recent"},{level:2,title:"Create Partially Signed Bitcoin Transaction",slug:"create-partially-signed-bitcoin-transaction"},{level:2,title:"Update Partially Signed Bitcoin Transaction",slug:"update-partially-signed-bitcoin-transaction"},{level:2,title:"Attach metadata to a derivation scheme",slug:"attach-metadata-to-a-derivation-scheme"},{level:2,title:"Detach metadata from a derivation scheme",slug:"detach-metadata-from-a-derivation-scheme"},{level:2,title:"Retrieve metadata from a derivation scheme",slug:"retrieve-metadata-from-a-derivation-scheme"},{level:2,title:"Manual pruning",slug:"manual-pruning"},{level:2,title:"Generate a wallet",slug:"generate-a-wallet"},{level:2,title:"Node RPC Proxy",slug:"node-rpc-proxy"},{level:2,title:"Health check",slug:"health-check"},{level:2,title:"Liquid integration",slug:"liquid-integration"},{level:3,title:"Liquid Confidential Addresses",slug:"liquid-confidential-addresses"},{level:3,title:"Liquid Transactions support",slug:"liquid-transactions-support"}]},{title:"Migration from DBTrie backend to Postgres backend",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/docs/Postgres-Migration.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/Postgres-Migration.html",relativePath:"NBXplorer/Postgres-Migration.md",key:"v-eee9bb82",path:"/NBXplorer/Postgres-Migration/"},{title:"Documentation of SQL Schema",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/docs/Postgres-Schema.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/Postgres-Schema.html",relativePath:"NBXplorer/Postgres-Schema.md",key:"v-6a07ad05",path:"/NBXplorer/Postgres-Schema/",headers:[{level:2,title:"Using wallets tables",slug:"using-wallets-tables"},{level:2,title:"Making your own indexer",slug:"making-your-own-indexer"},{level:2,title:"Views and functions",slug:"views-and-functions"},{level:3,title:"Function: to_btc",slug:"function-to-btc"},{level:3,title:"Function: getwalletsrecent",slug:"function-get-wallets-recent"},{level:3,title:"View: utxos",slug:"view-utxos"},{level:3,title:"View: descriptorsscriptsunused",slug:"view-descriptors-scripts-unused"},{level:3,title:"View: wallets_utxos",slug:"view-wallets-utxos"},{level:3,title:"View: wallets_balances",slug:"view-wallets-balances"},{level:3,title:"Materialized view: wallets_history",slug:"materialized-view-wallets-history"},{level:3,title:"Function: getwalletshistogram",slug:"function-get-wallets-histogram"},{level:3,title:"Function: nbxv1getwallet_id",slug:"function-nbxv1-get-wallet-id"},{level:3,title:"Function: nbxv1getdescriptor_id",slug:"function-nbxv1-get-descriptor-id"}]},{title:"NBXplorer",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/README.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/",relativePath:"NBXplorer/README.md",key:"v-e3db5fd8",path:"/NBXplorer/",headers:[{level:2,title:"Prerequisite",slug:"prerequisite"},{level:2,title:"API Specification",slug:"api-specification"},{level:2,title:"How to build and run?",slug:"how-to-build-and-run"},{level:2,title:"How to use the API?",slug:"how-to-use-the-api"},{level:2,title:"With Docker",slug:"with-docker"},{level:2,title:"How to develop on it?",slug:"how-to-develop-on-it"},{level:2,title:"How to configure?",slug:"how-to-configure"},{level:3,title:"Configuration file",slug:"configuration-file"},{level:3,title:"Command line parameters",slug:"command-line-parameters"},{level:3,title:"Environment variables",slug:"environment-variables"},{level:2,title:"How to Run",slug:"how-to-run"},{level:3,title:"Command Line",slug:"command-line"},{level:2,title:"Important Note",slug:"important-note"},{level:2,title:"How to query?",slug:"how-to-query"},{level:3,title:"Using Postman",slug:"using-postman"},{level:2,title:"Message Brokers",slug:"message-brokers"},{level:3,title:"Azure Service Bus",slug:"azure-service-bus"},{level:3,title:"Queues",slug:"queues"},{level:3,title:"Topics",slug:"topics"},{level:3,title:"RabbitMq",slug:"rabbitmq"},{level:2,title:"Client API",slug:"client-api"},{level:2,title:"How to run the tests?",slug:"how-to-run-the-tests"},{level:2,title:"How to add support to my altcoin",slug:"how-to-add-support-to-my-altcoin"},{level:2,title:"Licence",slug:"licence"},{level:2,title:"Special thanks",slug:"special-thanks"}]},{title:"BTCPay Server NIP05 Support",frontmatter:{editLink:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.NIP05/edit/master/docs/readme.md",externalRepo:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.NIP05"},regularPath:"/Nostr/",relativePath:"Nostr/readme.md",key:"v-2352e414",path:"/Nostr/",headers:[{level:2,title:"Usage",slug:"usage"}]},{title:"Notifications",frontmatter:{},regularPath:"/Notifications.html",relativePath:"Notifications.md",key:"v-88980e76",path:"/Notifications/",headers:[{level:2,title:"Notification Alerts",slug:"notification-alerts"},{level:2,title:"Server Emails",slug:"server-emails"},{level:2,title:"Store Emails",slug:"store-emails"},{level:3,title:"SMTP Email Setup",slug:"smtp-email-setup"},{level:2,title:"Forgot Password Email",slug:"forgot-password-email"},{level:2,title:"New User Confirmation Email",slug:"new-user-confirmation-email"},{level:2,title:"New User Invitation Email",slug:"new-user-invitation-email"},{level:2,title:"Custom Emails",slug:"custom-emails"},{level:2,title:"Email rules",slug:"email-rules"}]},{title:"OpenCart integration",frontmatter:{description:"How to integrate BTCPay Server into your OpenCart store.",tags:["OpenCart","Plugin","eCommerce"]},regularPath:"/OpenCart.html",relativePath:"OpenCart.md",key:"v-8d0f1fc6",path:"/OpenCart/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"1. Install BTCPay extension",slug:"1-install-btcpay-extension"},{level:3,title:"1.1 Install the extension from OpenCart admin dashboard",slug:"11-install-the-extension-from-opencart-admin-dashboard"},{level:3,title:"1.2 Download and install the extension from Marketplace or GitHub",slug:"12-download-and-install-the-extension-from-marketplace-or-github"},{level:3,title:"1.3 Install the extension",slug:"13-install-the-extension"},{level:2,title:"2. Connecting OpenCart and BTCPay Server",slug:"2-connecting-opencart-and-btcpay-server"},{level:3,title:"2.1 Configure BTCPay Server extension in OpenCart",slug:"21-configure-btcpay-server-extension-in-opencart"},{level:3,title:"2.2 Create an API key and configure permissions",slug:"22-create-an-api-key-and-configure-permissions"},{level:2,title:"3. Test the checkout",slug:"3-test-the-checkout"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"Enable debug mode",slug:"enable-debug-mode"},{level:2,title:"The order states do not update, although the invoice has been paid.",slug:"the-order-states-do-not-update-although-the-invoice-has-been-paid"},{level:2,title:"I have trouble with using the extension or some other related questions.",slug:"i-have-trouble-with-using-the-extension-or-some-other-related-questions"}]},{title:"BTCPay Server Payjoin Guide",frontmatter:{},regularPath:"/Payjoin.html",relativePath:"Payjoin.md",key:"v-15132f85",path:"/Payjoin/",headers:[{level:2,title:"Enabling Payjoin as a merchant",slug:"enabling-payjoin-as-a-merchant"},{level:2,title:"Paying to Payjoin as a user",slug:"paying-to-payjoin-as-a-user"},{level:2,title:"Why did a payjoin not happen?",slug:"why-did-a-payjoin-not-happen"},{level:2,title:"Supported wallets",slug:"supported-wallets"}]},{title:"Payment Requests",frontmatter:{},regularPath:"/PaymentRequests.html",relativePath:"PaymentRequests.md",key:"v-e98912f6",path:"/PaymentRequests/",headers:[{level:2,title:"Payment Requests Video",slug:"payment-requests-video"},{level:2,title:"Customize Your Payment Requests",slug:"customize-your-payment-requests"},{level:2,title:"Create a Payment Request",slug:"create-a-payment-request"},{level:2,title:"Paid Request for Payment",slug:"paid-request-for-payment"},{level:2,title:"Customize Payment Requests",slug:"customize-payment-requests"}]},{title:"Payouts",frontmatter:{},regularPath:"/Payouts.html",relativePath:"Payouts.md",key:"v-15dab665",path:"/Payouts/",headers:[{level:2,title:"How does it work?",slug:"how-does-it-work"},{level:3,title:"Example",slug:"example"},{level:2,title:"Using Greenfield API",slug:"using-greenfield-api"}]},{title:"PodServer",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-podserver/edit/master/README.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-podserver"},regularPath:"/PodServer/",relativePath:"PodServer/README.md",key:"v-49efd338",path:"/PodServer/",headers:[{level:2,title:"Use cases",slug:"use-cases"},{level:2,title:"Technicalities",slug:"technicalities"},{level:2,title:"Features and Compatibility",slug:"features-and-compatibility"},{level:2,title:"Notes",slug:"notes"},{level:2,title:"How to activate and use PodServer",slug:"how-to-activate-and-use-podserver"},{level:3,title:"Server admin",slug:"server-admin"},{level:3,title:"User",slug:"user"},{level:2,title:"Support this plugin",slug:"support-this-plugin"}]},{title:"Prestashop integration",frontmatter:{},regularPath:"/PrestaShop.html",relativePath:"PrestaShop.md",key:"v-68f6ac6a",path:"/PrestaShop/",headers:[{level:2,title:"Server Requirements",slug:"server-requirements"},{level:2,title:"Install BTCPay Plugin",slug:"install-btcpay-plugin"},{level:2,title:"Connecting the store",slug:"connecting-the-store"},{level:3,title:"Create the API key yourself",slug:"create-the-api-key-yourself"},{level:2,title:"3. Contribute",slug:"3-contribute"},{level:2,title:"PrestaShop Support",slug:"prestashop-support"}]},{title:"(1) Register account",frontmatter:{},regularPath:"/RegisterAccount.html",relativePath:"RegisterAccount.md",key:"v-f5202af6",path:"/RegisterAccount/",headers:[{level:2,title:"Account Registration",slug:"account-registration"},{level:3,title:"Configuring e-mail",slug:"configuring-e-mail"},{level:3,title:"Two-factor authentication",slug:"two-factor-authentication"}]},{title:"Reporting in BTCPay",frontmatter:{},regularPath:"/Reporting.html",relativePath:"Reporting.md",key:"v-40e08a05",path:"/Reporting/"},{frontmatter:{layout:"Homepage",heroImage:"/img/btcpay-logo.svg",heroText:"BTCPay Server Documentation",tagline:"Start Accepting Bitcoin Payments With 0% Fees & No Third-party",features:[{title:"User Guide",details:"Guide for users and merchants using BTCPay Server.",actionText:"User Docs ❯",actionLink:"/Guide/"},{title:"Deployment",details:"Setting up and maintaining your BTCPay Server.",actionText:"Deployment Docs ❯",actionLink:"/Deployment/"},{title:"Development",details:"Docs for developers building on BTCPay Server.",actionText:"Developers Docs ❯",actionLink:"/Development/"}],footer:"Content Released under MIT license."},regularPath:"/",relativePath:"README.md",key:"v-dde32bd4",path:"/"},{title:"How to accept Bitcoin in Shopify",frontmatter:{},regularPath:"/Shopify.html",relativePath:"Shopify.md",key:"v-0597b005",path:"/Shopify/",headers:[{level:2,title:"Prerequisites:",slug:"prerequisites"},{level:2,title:"Setting up BTCPay Server with Shopify",slug:"setting-up-btcpay-server-with-shopify"}]},{title:"Support",frontmatter:{},regularPath:"/Support.html",relativePath:"Support.md",key:"v-7c2268b6",path:"/Support/",headers:[{level:2,title:"Free support",slug:"free-support"},{level:2,title:"Paid support",slug:"paid-support"}]},{title:"Shopware integration",frontmatter:{},regularPath:"/Shopware.html",relativePath:"Shopware.md",key:"v-21fce50b",path:"/Shopware/",headers:[{level:2,title:"Plugin for Shopware 6",slug:"plugin-for-shopware-6"},{level:2,title:"Plugin for Shopware 5",slug:"plugin-for-shopware-5"}]},{title:"TicketTailor plugin for BTCPayServer",frontmatter:{editLink:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.TicketTailor/edit/master/README.md",externalRepo:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.TicketTailor"},regularPath:"/TicketTailor/",relativePath:"TicketTailor/README.md",key:"v-50ea01b4",path:"/TicketTailor/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Flow",slug:"flow"},{level:2,title:"Additional Configuration",slug:"additional-configuration"},{level:2,title:"Secret Tickets",slug:"secret-tickets"}]},{title:"Dollar Cost Averaging Automation",frontmatter:{editLink:"https://github.com/btcpayserver/btcTransmuter/edit/master/docs/DCA.md",externalRepo:"https://github.com/btcpayserver/btcTransmuter"},regularPath:"/Transmuter/DCA.html",relativePath:"Transmuter/DCA.md",key:"v-937bc12e",path:"/Transmuter/DCA/",headers:[{level:2,title:"Dollar Cost Averaging Automation",slug:"dollar-cost-averaging-automation"},{level:2,title:"Why use Transmuter instead of dedicated DCA services?",slug:"why-use-transmuter-instead-of-dedicated-dca-services"},{level:2,title:"Setup",slug:"setup"}]},{title:"BTCPay Email Receipts - Ticket Sale Guide",frontmatter:{editLink:"https://github.com/btcpayserver/btcTransmuter/edit/master/docs/EmailReceiptsPreset.md",externalRepo:"https://github.com/btcpayserver/btcTransmuter"},regularPath:"/Transmuter/EmailReceiptsPreset.html",relativePath:"Transmuter/EmailReceiptsPreset.md",key:"v-9c5e78fe",path:"/Transmuter/EmailReceiptsPreset/",headers:[{level:2,title:"How the Ticket Sale System Works",slug:"how-the-ticket-sale-system-works"},{level:2,title:"BTCPay POS App Setup",slug:"btcpay-pos-app-setup"},{level:2,title:"Transmuter Email Receipts Setup",slug:"transmuter-email-receipts-setup"}]},{title:"BtcTransmuter Docs",frontmatter:{editLink:"https://github.com/btcpayserver/btcTransmuter/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/btcTransmuter"},regularPath:"/Transmuter/",relativePath:"Transmuter/README.md",key:"v-784978e6",path:"/Transmuter/",headers:[{level:2,title:"Introduction - What is BtcTransmuter?",slug:"introduction-what-is-btctransmuter"},{level:2,title:"How does it work?",slug:"how-does-it-work"},{level:2,title:"Can I use this in production",slug:"can-i-use-this-in-production"},{level:2,title:"How do I deploy?",slug:"how-do-i-deploy"},{level:2,title:"What extensions are provided?",slug:"what-extensions-are-provided"},{level:2,title:"What preset recipes are provided?",slug:"what-preset-recipes-are-provided"},{level:2,title:"How do I write an extension?",slug:"how-do-i-write-an-extension"},{level:3,title:"Adding a Trigger",slug:"adding-a-trigger"},{level:3,title:"Adding an Action",slug:"adding-an-action"},{level:3,title:"Adding an External Service",slug:"adding-an-external-service"}]},{title:"Trocador",frontmatter:{editLink:"https://github.com/saltrafael/trocador-plugin/edit/master/README.md",externalRepo:"https://github.com/saltrafael/trocador-plugin"},regularPath:"/Trocador/",relativePath:"Trocador/README.md",key:"v-604d19c6",path:"/Trocador/",headers:[{level:2,title:"Use Cases and Features",slug:"use-cases-and-features"},{level:2,title:"Caveats",slug:"caveats"},{level:2,title:"Compatibility",slug:"compatibility"},{level:2,title:"How to activate",slug:"how-to-activate"}]},{title:"Troubleshooting an issue in BTCPay Server",frontmatter:{},regularPath:"/Troubleshooting.html",relativePath:"Troubleshooting.md",key:"v-36032c85",path:"/Troubleshooting/",headers:[{level:2,title:"1. Replicating the issue",slug:"1-replicating-the-issue"},{level:3,title:"1.1 Updating the server",slug:"11-updating-the-server"},{level:3,title:"1.2 Restarting the server",slug:"12-restarting-the-server"},{level:3,title:"1.3 Restarting a service",slug:"13-restarting-a-service"},{level:2,title:"2. Looking through the logs",slug:"2-looking-through-the-logs"},{level:3,title:"2.1 BTCPay Logs",slug:"21-btcpay-logs"},{level:3,title:"2.2 Lightning Network Logs",slug:"22-lightning-network-logs"},{level:3,title:"2.2.1 - Lightning Network LND - Docker",slug:"221-lightning-network-lnd-docker"},{level:3,title:"2.2.2 - Lightning Network Core Lightning (CLN) - Docker",slug:"222-lightning-network-core-lightning-cln-docker"},{level:2,title:"2.3 - Bitcoin Node Logs",slug:"23-bitcoin-node-logs"},{level:2,title:"3. Finding a solution yourself (Google, FAQ, GitHub issues)",slug:"3-finding-a-solution-yourself-google-faq-github-issues"},{level:3,title:"3.1 BTCPay FAQ",slug:"31-btcpay-faq"},{level:3,title:"3.2 GitHub",slug:"32-github"},{level:3,title:"3.3 Mattermost",slug:"33-mattermost"},{level:2,title:"4. Asking for help",slug:"4-asking-for-help"},{level:3,title:"4.1 Asking the community (general problems)",slug:"41-asking-the-community-general-problems"},{level:3,title:"4.2 Opening an Issue on GitHub (advanced problems)",slug:"42-opening-an-issue-on-github-advanced-problems"},{level:3,title:"4.3 Premium Support",slug:"43-premium-support"},{level:3,title:"4.4 Lightning Network Support",slug:"44-lightning-network-support"}]},{title:"Try out BTCPay server",frontmatter:{},regularPath:"/TryItOut.html",relativePath:"TryItOut.md",key:"v-31f01d3e",path:"/TryItOut/",headers:[{level:2,title:"Our mainnet demo server",slug:"our-mainnet-demo-server"},{level:2,title:"Our Testnet demo server",slug:"our-testnet-demo-server"},{level:2,title:"Third-party hosts",slug:"third-party-hosts"},{level:2,title:"Start testing",slug:"start-testing"},{level:3,title:"BTCPay Server in action",slug:"btcpay-server-in-action"},{level:2,title:"Questions",slug:"questions"}]},{title:"Who can use BTCPay Server?",frontmatter:{description:"Who uses BTCPay Server and why? What are the benefits of using BTCPay Server over other payment gateways?",tags:["Use-case","Target-audience","BTCPay users","benefits"]},regularPath:"/UseCase.html",relativePath:"UseCase.md",key:"v-d4151eb6",path:"/UseCase/",headers:[{level:2,title:"Merchants",slug:"merchants"},{level:3,title:"Online stores",slug:"online-stores"},{level:3,title:"Physical stores",slug:"physical-stores"},{level:2,title:"Self-sovereign individuals",slug:"self-sovereign-individuals"},{level:2,title:"Freelancers & bill pay",slug:"freelancers-bill-pay"},{level:2,title:"Charities & non-profits",slug:"charities-non-profits"},{level:2,title:"Developers",slug:"developers"},{level:2,title:"Local communities",slug:"local-communities"},{level:2,title:"Cryptocurrency exchanges",slug:"cryptocurrency-exchanges"},{level:2,title:"Hosting providers",slug:"hosting-providers"}]},{title:"How to verify release signatures",frontmatter:{editLink:"https://github.com/btcpayserver/BTCPayServer.Vault/edit/master/docs/HowToVerify.md",externalRepo:"https://github.com/btcpayserver/BTCPayServer.Vault"},regularPath:"/Vault/HowToVerify.html",relativePath:"Vault/HowToVerify.md",key:"v-63822f36",path:"/Vault/HowToVerify/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"Checking PGP signatures",slug:"checking-pgp-signatures"},{level:3,title:"Importing Nicolas Dorier pgp keys (only first time)",slug:"importing-nicolas-dorier-pgp-keys-only-first-time"},{level:3,title:"Checking the actual PGP signature",slug:"checking-the-actual-pgp-signature"}]},{frontmatter:{editLink:"https://github.com/btcpayserver/BTCPayServer.Vault/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/BTCPayServer.Vault"},regularPath:"/Vault/",relativePath:"Vault/README.md",key:"v-dae82c60",path:"/Vault/",headers:[{level:2,title:"Why BTCPayServer Vault",slug:"why-btcpayserver-vault"},{level:2,title:"How to install",slug:"how-to-install"},{level:3,title:"Direct download",slug:"direct-download"},{level:3,title:"Via brew (macOS only)",slug:"via-brew-macos-only"},{level:2,title:"How does BTCPayServer Vault work",slug:"how-does-btcpayserver-vault-work"},{level:2,title:"Is it safe?",slug:"is-it-safe"},{level:2,title:"How to build?",slug:"how-to-build"},{level:2,title:"Documentation",slug:"documentation"},{level:2,title:"Licence",slug:"licence"},{level:2,title:"Special thanks",slug:"special-thanks"}]},{title:"Joomla VirtueMart integration",frontmatter:{description:"How to integrate BTCPay Server into your Joomla VirtueMart store.",tags:["VirtueMart","Joomla","Plugin","eCommerce"]},regularPath:"/VirtueMart.html",relativePath:"VirtueMart.md",key:"v-0e38183b",path:"/VirtueMart/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"1. Install BTCPay Plugin",slug:"1-install-btcpay-plugin"},{level:3,title:"1.1 Install plugin from Joomla Admin Dashboard (recommended)",slug:"11-install-plugin-from-joomla-admin-dashboard-recommended"},{level:3,title:"1.2 Download and install plugin from JED or GitHub",slug:"12-download-and-install-plugin-from-jed-or-github"},{level:3,title:"1.3 Enable the plugin",slug:"13-enable-the-plugin"},{level:2,title:"2. Connecting VirtueMart and BTCPay Server",slug:"2-connecting-virtuemart-and-btcpay-server"},{level:3,title:"2.1 Add BTCPay payment gateway in VirtueMart",slug:"21-add-btcpay-payment-gateway-in-virtuemart"},{level:3,title:"2.2 Create an API key and configure permissions",slug:"22-create-an-api-key-and-configure-permissions"},{level:3,title:"2.3 Create a webhook on BTCPay Server",slug:"23-create-a-webhook-on-btcpay-server"},{level:2,title:"3. Test the checkout",slug:"3-test-the-checkout"},{level:2,title:"Customizing VirtueMart BTCPay payment method settings",slug:"customizing-virtuemart-btcpay-payment-method-settings"},{level:3,title:"Section: BTCPay Server connection settings",slug:"section-btcpay-server-connection-settings"},{level:3,title:"Section: Order states mapping",slug:"section-order-states-mapping"},{level:3,title:"Section: Restrictions",slug:"section-restrictions"},{level:3,title:"Section Discounts and fees",slug:"section-discounts-and-fees"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:'Error on checkout "There was an error processing the payment on BTCPay Server. Please try again and contact us if the problem persists."',slug:"error-on-checkout-there-was-an-error-processing-the-payment-on-btcpay-server-please-try-again-and-contact-us-if-the-problem-persists-"},{level:2,title:"The order states do not update although the invoice has been paid",slug:"the-order-states-do-not-update-although-the-invoice-has-been-paid"},{level:2,title:"I have troubles with using the plugin or some other related questions",slug:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}]},{title:"The BTCPay Server Coinjoin plugin",frontmatter:{editLink:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.Wabisabi/edit/master/docs/readme.md",externalRepo:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.Wabisabi"},regularPath:"/Wabisabi/",relativePath:"Wabisabi/readme.md",key:"v-315abc86",path:"/Wabisabi/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Spending privately",slug:"spending-privately"},{level:2,title:"Pleb mode vs Scientist mode",slug:"pleb-mode-vs-scientist-mode"},{level:2,title:"Additional Coordinators",slug:"additional-coordinators"},{level:2,title:"Running a coordinator",slug:"running-a-coordinator"}]},{title:"BTCPay Server Walkthrough",frontmatter:{},regularPath:"/Walkthrough.html",relativePath:"Walkthrough.md",key:"v-5bcac676",path:"/Walkthrough/",headers:[{level:2,title:"Store",slug:"store"},{level:2,title:"Notifications",slug:"notifications"},{level:2,title:"Dashboard",slug:"dashboard"},{level:2,title:"Wallets",slug:"wallets"},{level:3,title:"Bitcoin",slug:"bitcoin"},{level:3,title:"Lightning",slug:"lightning"},{level:2,title:"Payments",slug:"payments"},{level:3,title:"Invoices",slug:"invoices"},{level:3,title:"Payment Requests",slug:"payment-requests"},{level:3,title:"Pull Payments",slug:"pull-payments"},{level:3,title:"Payouts",slug:"payouts"},{level:3,title:"Pay Button",slug:"pay-button"},{level:2,title:"Apps",slug:"apps"},{level:2,title:"Plugins",slug:"plugins"},{level:2,title:"Server settings",slug:"server-settings"},{level:2,title:"Account",slug:"account"},{level:2,title:"Join The BTCPay Community",slug:"join-the-btcpay-community"}]},{title:"BTCPay Server Wallet",frontmatter:{},regularPath:"/Wallet.html",relativePath:"Wallet.md",key:"v-13a93ebf",path:"/Wallet/",headers:[{level:2,title:"Wallet features",slug:"wallet-features"},{level:3,title:"Transactions",slug:"transactions"},{level:3,title:"Send",slug:"send"},{level:3,title:"Receive",slug:"receive"},{level:3,title:"Pull Payments",slug:"pull-payments"},{level:3,title:"Payouts",slug:"payouts"},{level:3,title:"Re-scan",slug:"re-scan"},{level:3,title:"Settings",slug:"settings"}]},{title:"(3) Wallet Setup",frontmatter:{},regularPath:"/WalletSetup.html",relativePath:"WalletSetup.md",key:"v-8c111c76",path:"/WalletSetup/"},{title:"Connecting Wasabi Wallet to BTCPay Server",frontmatter:{},regularPath:"/WasabiWallet.html",relativePath:"WasabiWallet.md",key:"v-7d101341",path:"/WasabiWallet/",headers:[{level:2,title:"Wasabi Wallet Setup",slug:"wasabi-wallet-setup"},{level:2,title:"Quick Setup",slug:"quick-setup"},{level:2,title:"Step by Step",slug:"step-by-step"},{level:2,title:"Setup store wallet",slug:"setup-store-wallet"},{level:3,title:"Connecting Wasabi to BTCPay Server Full Node (If you're self-hosting BTCPay)",slug:"connecting-wasabi-to-btcpay-server-full-node-if-youre-self-hosting-btcpay"},{level:3,title:"Configuring the Gap Limit in Wasabi",slug:"configuring-the-gap-limit-in-wasabi"}]},{title:"(4) What's Next?",frontmatter:{},regularPath:"/WhatsNext.html",relativePath:"WhatsNext.md",key:"v-53d8e985",path:"/WhatsNext/",headers:[{level:2,title:"Creating the Point of Sale App",slug:"creating-the-point-of-sale-app"},{level:2,title:"Creating the Crowdfund App",slug:"creating-the-crowdfund-app"},{level:2,title:"Creating the Payment Request",slug:"creating-the-payment-request"},{level:2,title:"Creating the Pay Button",slug:"creating-the-pay-button"},{level:2,title:"Connecting your BTCPay store to your e-commerce platform",slug:"connecting-your-btcpay-store-to-your-e-commerce-platform"},{level:2,title:"Connecting Additional BTCPay Services",slug:"connecting-additional-btcpay-services"},{level:2,title:"Join The BTCPay Community",slug:"join-the-btcpay-community"}]},{title:"WooCommerce integration",frontmatter:{description:"How to integrate BTCPay Server into your WooCommerce store.",tags:["WooCommerce","WordPress","Plugin","eCommerce"]},regularPath:"/WooCommerce.html",relativePath:"WooCommerce.md",key:"v-faa5f0f6",path:"/WooCommerce/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"1. Install BTCPay Plugin",slug:"1-install-btcpay-plugin"},{level:3,title:"1.1 Install plugin from WordPress Admin Dashboard (recommended)",slug:"11-install-plugin-from-wordpress-admin-dashboard-recommended"},{level:3,title:"1.2 Download and install plugin from GitHub",slug:"12-download-and-install-plugin-from-github"},{level:2,title:"2. Connecting WooCommerce and BTCPay Server",slug:"2-connecting-woocommerce-and-btcpay-server"},{level:3,title:"2.1 Connect using the API key wizard (recommended)",slug:"21-connect-using-the-api-key-wizard-recommended"},{level:3,title:"2.2 Connect by manually creating the API key and permissions",slug:"22-connect-by-manually-creating-the-api-key-and-permissions"},{level:2,title:"3. Testing the checkout",slug:"3-testing-the-checkout"},{level:2,title:"4. Customizing BTCPay WooCommerce V2",slug:"4-customizing-btcpay-woocommerce-v2"},{level:3,title:"4.1 Global Settings",slug:"41-global-settings"},{level:3,title:"4.2 Payment Gateway specific",slug:"42-payment-gateway-specific"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"Error: Call to undefined function BTCPayServer\\Http\\curl_init()",slug:"error-call-to-undefined-function-btcpayserver-http-curl-init"},{level:3,title:"The order states do not update although the invoice has been paid",slug:"the-order-states-do-not-update-although-the-invoice-has-been-paid"},{level:3,title:"I get an error during checkout but not sure what the problem is.",slug:"i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"},{level:3,title:"I have troubles with using the plugin or some other related questions",slug:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"},{level:3,title:"Create a new API key",slug:"create-a-new-api-key"},{level:3,title:"I messed around with the webhook, how to fix",slug:"i-messed-around-with-the-webhook-how-to-fix"},{level:2,title:"Deploying WooCommerce from BTCPay Server",slug:"deploying-woocommerce-from-btcpay-server"}]},{title:"Easy Automation for BTCPay Server using Zapier.com - No Programming Skills Required",frontmatter:{editLink:"https://github.com/btcpayserver/zapier/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/zapier"},regularPath:"/Zapier/",relativePath:"Zapier/README.md",key:"v-a6ea6734",path:"/Zapier/",headers:[{level:2,title:"Free to Use",slug:"free-to-use"},{level:2,title:"What does it do?",slug:"what-does-it-do"},{level:2,title:"Who is it for?",slug:"who-is-it-for"},{level:2,title:"Some Examples",slug:"some-examples"},{level:2,title:"Getting Started",slug:"getting-started"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Security Considerations",slug:"security-considerations"},{level:2,title:"Which permissions should I choose for my API key?",slug:"which-permissions-should-i-choose-for-my-api-key"},{level:2,title:"How does it work technically?",slug:"how-does-it-work-technically"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"I got a 403 Forbidden error, what happened?",slug:"i-got-a-403-forbidden-error-what-happened"},{level:3,title:"I deleted the webhook from my BTCPay Server store by mistake.",slug:"i-deleted-the-webhook-from-my-btcpay-server-store-by-mistake"},{level:2,title:"Source Code, Issues and Feature Requests",slug:"source-code-issues-and-feature-requests"},{level:2,title:"Credits and Support",slug:"credits-and-support"}]},{title:"Refunds",frontmatter:{},regularPath:"/Refund.html",relativePath:"Refund.md",key:"v-1dfa3141",path:"/Refund/",headers:[{level:2,title:"Create a refund",slug:"create-a-refund"},{level:2,title:"Processing refund",slug:"processing-refund"}]},{title:"Pull payments",frontmatter:{},regularPath:"/PullPayments.html",relativePath:"PullPayments.md",key:"v-51df4a0d",path:"/PullPayments/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"Concept",slug:"concept"},{level:2,title:"Greenfield API",slug:"greenfield-api"},{level:2,title:"User interface",slug:"user-interface"},{level:3,title:"Create a pull payment",slug:"create-a-pull-payment"},{level:3,title:"Approve and pay a payout",slug:"approve-and-pay-a-payout"},{level:2,title:"Additional use cases for the Pull Payments feature",slug:"additional-use-cases-for-the-pull-payments-feature"}]}],themeConfig:{domain:"https://docs.btcpayserver.org",logo:"/img/btcpay-logo.svg",displayAllHeaders:!1,repo:"btcpayserver/btcpayserver-doc",docsDir:"docs",editLinks:!0,notSatisfiedLinks:!0,sidebarDepth:0,algolia:{indexName:"btcpayserver",appId:"EJBX059GO6",apiKey:"534cbeda78baf7eeb4767d555f2585d4",algoliaOptions:{typoTolerance:"min"},autocompleteOptions:{openOnFocus:!0}},nav:[{text:"User Guide",link:"/Guide/"},{text:"Deployment",link:"/Deployment/"},{text:"Developers",link:"/Development/"},{text:"Contribute",link:"/Contribute/"},{text:"FAQ",link:"/FAQ/"}],social:[{text:"Website",link:"https://btcpayserver.org/",rel:"noopener noreferrer website"},{text:"Chat",link:"https://chat.btcpayserver.org/",rel:"noopener noreferrer chat"},{text:"GitHub",link:"https://github.com/btcpayserver/",rel:"noopener noreferrer github"},{text:"Twitter",link:"https://twitter.com/BtcpayServer",rel:"noopener noreferrer twitter"}],sidebar:{"/Development":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/Contribute":[{title:"Contribute",path:"/Contribute/",collapsable:!1,children:[{title:"Code",path:"/Contribute/Dev",collapsable:!1,children:["/Contribute/DevCode","/Contribute/DevTest"]},{title:"Write",path:"/Contribute/Write",collapsable:!1,children:[["/Contribute/WriteSoftware","Software Stack"],["/Contribute/WriteDocs","Documentation"],["/Contribute/WriteBlog","Blog"]]},["/Contribute/Design","Design"],["/Contribute/Translate","Translate"],["/Contribute/Misc","Miscellaneous"]]}],"/Vault":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/BTCPayServer":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/NBXplorer":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/Configurator":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/Deployment":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/Docker":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/ElectrumX":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/ElectrumPersonalServer":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/Transmuter":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/FAQ/":[{title:"FAQ and common issues",path:"/FAQ/",collapsable:!1,children:["General","Deployment","Synchronization","Integrations","ServerSettings","Stores","Wallet","Apps","LightningNetwork","Altcoin"]}],"/":[{title:"Learn",collapsable:!1,children:[["/Guide","Introduction"],["/TryItOut","Try it out"],["/Walkthrough","Walkthrough"],["/UseCase","Use Case"],["/BTCPayVsOthers","BTCPay Server vs. Others"]]},{title:"Getting Started",collapsable:!1,children:["/RegisterAccount","/CreateStore",{title:"(3) Wallet Setup",path:"/WalletSetup",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"Connect Wallet",path:"/ConnectWallet"},{title:"Create Wallet",path:"/CreateWallet"},{title:"Lightning Network",path:"/LightningNetwork"}]},["/WhatsNext","(4) What's Next?"]]},{title:"Features",collapsable:!1,children:[["/Dashboard","Dashboard"],{title:"Wallet",path:"/Wallet",children:[["/HardwareWalletIntegration","Hardware Wallet Integration"]]},["/Invoices","Invoices"],["/PaymentRequests","Payment Requests"],{title:"Pull Payments",path:"/PullPayments",children:[["/Refund","Refunds"]]},["/Payouts","Payouts"],{title:"Form Builder",path:"/Forms",children:[["/AdvancedForms","Advanced Forms"]]},["/Apps","Apps"],["/Reporting","Reporting"],{title:"Payjoin",path:"/Payjoin",children:[["https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki","Payjoin specification",{type:"external"}]]}]},{title:"Integrations",collapsable:!1,children:[["/WooCommerce","WooCommerce"],["/Shopify","Shopify"],["/Magento","Magento"],["/PrestaShop","PrestaShop"],["/OpenCart","OpenCart"],["/Drupal","Drupal"],["/Zapier/","Zapier"],["/Shopware","Shopware"],["/VirtueMart","VirtueMart"],["/CustomIntegration","Custom Integration"]]},{title:"Plugins",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"LNbank",path:"/LNbank/",children:[["/LNbank/LNDhub","LNDhub Compatibility"],["/LNbank/Troubleshooting","Troubleshooting"]]},["/LNDhubAPI/","LNDhub API"],["/Nostr/","Nostr"],["/PodServer/","PodServer"],["/TicketTailor/","TicketTailor"],["/Trocador/","Trocador"],["/Wabisabi/","Wabisabi Coinjoin"]]},{title:"Support and Community",collapsable:!1,initialOpenGroupIndex:-1,children:[["/Troubleshooting","Troubleshooting an issue"],["/Support","Support"],["/Community","Community"]]}]}}},ql=n(228),{COLOR_MODES:Ql,STORE_ATTR:Gl,setColorMode:Vl}=n(91),Ul=e=>"Enter"===e.code||13===(e.keyCode||e.which),Xl=e=>{const t=e.target.matches("#algolia-search-input")&&Ul(e);(e.target.matches(".ds-dropdown-menu *")||t)&&document.getElementById("algolia-search-input").blur(),e.target.matches(".ytEmbed")&&(e.preventDefault(),(e=>{const t=e.querySelector("iframe[data-src]");if(t){const e=t.getAttribute("data-src");t.setAttribute("src",e)}})(e.target))};if("undefined"==typeof process||"server"!==process.env.VUE_ENV){const e=window.matchMedia("(prefers-color-scheme: dark)").matches?Ql[1]:Ql[0],t=window.localStorage.getItem(Gl);Vl(Ql.includes(t)?t:e)}n(229);Gn.component("Badge",()=>Promise.all([n.e(0),n.e(45)]).then(n.bind(null,806))),Gn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(46)]).then(n.bind(null,669))),Gn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(47)]).then(n.bind(null,670)));n(230);var Kl=[({router:e})=>{"undefined"!=typeof process&&"server"===process.env.VUE_ENV||(e.onReady(()=>{const{app:t}=e;ql.forEach(t=>e.addRoute(t)),document.addEventListener("click",Xl),document.addEventListener("keyup",e=>{Ul(e)&&Xl(e)})}),e.afterEach(e=>{const{hash:t}=e;t.length>1&&setTimeout(()=>{const e=t.substring(1),n=document.getElementById(e);n&&n.scrollIntoView()},500)}))},{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({Vue:e})=>{e.component("CodeCopy",Al)}],Jl=[];class Yl extends class{constructor(){this.store=new Gn({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,t){Gn.set(this.store.state,e,t)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}{}Object.assign(Yl.prototype,{getPageAsyncComponent:al,getLayoutAsyncComponent:ll,getAsyncComponent:sl,getVueComponent:cl});var Zl={install(e){const t=new Yl;e.$vuepress=t,e.prototype.$vuepress=t}};function es(e,t){const n=t.toLowerCase();return e.options.routes.some(e=>e.path.toLowerCase()===n)}var ts={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const t=this.pageKey||this.$parent.$page.key;return pl("pageKey",t),Gn.component(t)||Gn.component(t,al(t)),Gn.component(t)?e(t):e("")}},ns={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:t,slots:n})=>e("div",{class:["content__"+t.slotKey]},n()[t.slotKey])},rs={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},os=(n(231),n(232),Object(Tl.a)(rs,(function(){var e=this._self._c;return e("span",[e("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[e("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),e("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),e("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),is={functional:!0,render(e,{parent:t,children:n}){if(t._isMounted)return n;t.$once("hook:mounted",()=>{t.$forceUpdate()})}};Gn.config.productionTip=!1,Gn.use(qa),Gn.use(Zl),Gn.mixin(function(e,t,n=Gn){!function(e){e.locales&&Object.keys(e.locales).forEach(t=>{e.locales[t].path=t});Object.freeze(e)}(t),n.$vuepress.$set("siteData",t);const r=new(e(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((e,t)=>(t.startsWith("$")&&(e[t]=o[t].get),e),i),{computed:i}}(e=>class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let t,n;for(const r in e)"/"===r?n=e[r]:0===this.$page.path.indexOf(r)&&(t=e[r]);return t||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:e}=this.$page.frontmatter;return"string"==typeof e&&e}get $title(){const e=this.$page,{metaTitle:t}=this.$page.frontmatter;if("string"==typeof t)return t;const n=this.$siteTitle,r=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const e=function(e){if(e){const t=e.filter(e=>"description"===e.name)[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(e,t){for(let n=0;nn||(e.hash?!Gn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(e.hash)}:{x:0,y:0})});!function(e){e.beforeEach((t,n,r)=>{if(es(e,t.path))r();else if(/(\/|\.html)$/.test(t.path))if(/\/$/.test(t.path)){const n=t.path.replace(/\/$/,"")+".html";es(e,n)?r(n):r()}else r();else{const n=t.path+"/",o=t.path+".html";es(e,o)?r(o):es(e,n)?r(n):r()}})}(n);const r={};try{await Promise.all(Kl.filter(e=>"function"==typeof e).map(t=>t({Vue:Gn,options:r,router:n,siteData:zl,isServer:e})))}catch(e){console.error(e)}return{app:new Gn(Object.assign(r,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("RouterView",{ref:"layout"}),e("div",{class:"global-ui"},Jl.map(t=>e(t)))])})),router:n}}(!1).then(({app:e,router:t})=>{t.onReady(()=>{e.$mount("#app")})})}]); \ No newline at end of file +var r=Object.freeze({}),o=Array.isArray;function i(e){return null==e}function a(e){return null!=e}function l(e){return!0===e}function s(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function c(e){return"function"==typeof e}function u(e){return null!==e&&"object"==typeof e}var p=Object.prototype.toString;function d(e){return"[object Object]"===p.call(e)}function h(e){return"[object RegExp]"===p.call(e)}function v(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function m(e){return a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function f(e){return null==e?"":Array.isArray(e)||d(e)&&e.toString===p?JSON.stringify(e,null,2):String(e)}function g(e){var t=parseFloat(e);return isNaN(t)?e:t}function y(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o-1)return e.splice(r,1)}}var P=Object.prototype.hasOwnProperty;function C(e,t){return P.call(e,t)}function D(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,S=D((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),x=D((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),T=/\B([A-Z])/g,A=D((function(e){return e.replace(T,"-$1").toLowerCase()}));var _=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function E(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function L(e,t){for(var n in t)e[n]=t[n];return e}function B(e){for(var t={},n=0;n0,Y=X&&X.indexOf("edge/")>0;X&&X.indexOf("android");var Z=X&&/iphone|ipad|ipod|ios/.test(X);X&&/chrome\/\d+/.test(X),X&&/phantomjs/.test(X);var ee,te=X&&X.match(/firefox\/(\d+)/),ne={}.watch,re=!1;if(U)try{var oe={};Object.defineProperty(oe,"passive",{get:function(){re=!0}}),window.addEventListener("test-passive",null,oe)}catch(e){}var ie=function(){return void 0===ee&&(ee=!U&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),ee},ae=U&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function le(e){return"function"==typeof e&&/native code/.test(e.toString())}var se,ce="undefined"!=typeof Symbol&&le(Symbol)&&"undefined"!=typeof Reflect&&le(Reflect.ownKeys);se="undefined"!=typeof Set&&le(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=null;function pe(e){void 0===e&&(e=null),e||ue&&ue._scope.off(),ue=e,e&&e._scope.on()}var de=function(){function e(e,t,n,r,o,i,a,l){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=l,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),he=function(e){void 0===e&&(e="");var t=new de;return t.text=e,t.isComment=!0,t};function ve(e){return new de(void 0,void 0,void 0,String(e))}function me(e){var t=new de(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var fe=0,ge=[],ye=function(){function e(){this._pending=!1,this.id=fe++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,ge.push(this))},e.prototype.depend=function(t){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){var t=this.subs.filter((function(e){return e}));for(var n=0,r=t.length;n0&&(Xe((c=e(c,"".concat(n||"","_").concat(r)))[0])&&Xe(p)&&(d[u]=ve(p.text+c[0].text),c.shift()),d.push.apply(d,c)):s(c)?Xe(p)?d[u]=ve(p.text+c):""!==c&&d.push(ve(c)):Xe(c)&&Xe(p)?d[u]=ve(p.text+c.text):(l(t._isVList)&&a(c.tag)&&i(c.key)&&a(n)&&(c.key="__vlist".concat(n,"_").concat(r,"__")),d.push(c)));return d}(e):void 0}function Xe(e){return a(e)&&a(e.text)&&!1===e.isComment}function Ke(e,t){var n,r,i,l,s=null;if(o(e)||"string"==typeof e)for(s=new Array(e.length),n=0,r=e.length;n0,l=t?!!t.$stable:!a,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(l&&o&&o!==r&&s===o.$key&&!a&&!o.$hasNormal)return o;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=mt(e,n,c,t[c]))}else i={};for(var u in n)u in i||(i[u]=ft(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),Q(i,"$stable",l),Q(i,"$key",s),Q(i,"$hasNormal",a),i}function mt(e,t,n,r){var i=function(){var t=ue;pe(e);var n=arguments.length?r.apply(null,arguments):r({}),i=(n=n&&"object"==typeof n&&!o(n)?[n]:Ue(n))&&n[0];return pe(t),n&&(!i||1===n.length&&i.isComment&&!ht(i))?void 0:n};return r.proxy&&Object.defineProperty(t,n,{get:i,enumerable:!0,configurable:!0}),i}function ft(e,t){return function(){return e[t]}}function gt(e){return{get attrs(){if(!e._attrsProxy){var t=e._attrsProxy={};Q(t,"_v_attr_proxy",!0),yt(t,e.$attrs,r,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||yt(e._listenersProxy={},e.$listeners,r,e,"$listeners");return e._listenersProxy},get slots(){return function(e){e._slotsProxy||wt(e._slotsProxy={},e.$scopedSlots);return e._slotsProxy}(e)},emit:_(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return je(e,t,n)}))}}}function yt(e,t,n,r,o){var i=!1;for(var a in t)a in e?t[a]!==n[a]&&(i=!0):(i=!0,bt(e,a,r,o));for(var a in e)a in t||(i=!0,delete e[a]);return i}function bt(e,t,n,r){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return n[r][t]}})}function wt(e,t){for(var n in t)e[n]=t[n];for(var n in e)n in t||delete e[n]}var Pt=null;function Ct(e,t){return(e.__esModule||ce&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?t.extend(e):e}function Dt(e){if(o(e))for(var t=0;tdocument.createEvent("Event").timeStamp&&(sn=function(){return cn.now()})}var un=function(e,t){if(e.post){if(!t.post)return 1}else if(t.post)return-1;return e.id-t.id};function pn(){var e,t;for(ln=sn(),on=!0,en.sort(un),an=0;anan&&en[n].id>e.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn=!0,Wt(pn))}}function hn(e,t){if(e){for(var n=Object.create(null),r=ce?Reflect.ownKeys(e):Object.keys(e),o=0;o-1)if(i&&!C(o,"default"))a=!1;else if(""===a||a===A(e)){var s=On(String,o.type);(s<0||l-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!h(e)&&e.test(t)}function Kn(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var l=a.name;l&&!t(l)&&Jn(n,i,r,o)}}}function Jn(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,w(n,t)}Gn.prototype._init=function(e){var t=this;t._uid=qn++,t._isVue=!0,t.__v_skip=!0,t._scope=new $e(!0),t._scope._vm=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=_n(Qn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Ut(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,o=n&&n.context;e.$slots=pt(t._renderChildren,o),e.$scopedSlots=n?vt(e.$parent,n.data.scopedSlots,e.$slots):r,e._c=function(t,n,r,o){return kt(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return kt(e,t,n,r,o,!0)};var i=n&&n.data;Le(e,"$attrs",i&&i.attrs||r,null,!0),Le(e,"$listeners",t._parentListeners||r,null,!0)}(t),Zt(t,"beforeCreate",void 0,!1),function(e){var t=hn(e.$options.inject,e);t&&(Te(!1),Object.keys(t).forEach((function(n){Le(e,n,t[n])})),Te(!0))}(t),Wn(t),function(e){var t=e.$options.provide;if(t){var n=c(t)?t.call(e):t;if(!u(n))return;for(var r=Me(e),o=ce?Reflect.ownKeys(n):Object.keys(n),i=0;i1?E(n):n;for(var r=E(arguments,1),o='event handler for "'.concat(e,'"'),i=0,a=n.length;iparseInt(this.max)&&Jn(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Jn(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(t){Kn(e,(function(e){return Xn(t,e)}))})),this.$watch("exclude",(function(t){Kn(e,(function(e){return!Xn(t,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=Dt(e),n=t&&t.componentOptions;if(n){var r=Un(n),o=this.include,i=this.exclude;if(o&&(!r||!Xn(o,r))||i&&r&&Xn(i,r))return t;var a=this.cache,l=this.keys,s=null==t.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):t.key;a[s]?(t.componentInstance=a[s].componentInstance,w(l,s),l.push(s)):(this.vnodeToCache=t,this.keyToCache=s),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return M}};Object.defineProperty(e,"config",t),e.util={warn:Cn,extend:L,mergeOptions:_n,defineReactive:Le},e.set=Be,e.delete=Ie,e.nextTick=Wt,e.observable=function(e){return Ee(e),e},e.options=Object.create(null),F.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,L(e.options.components,Zn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=E(arguments,1);return n.unshift(this),c(e.install)?e.install.apply(e,n):c(e)&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=_n(this.options,e),this}}(e),Vn(e),function(e){F.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&d(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&c(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Gn),Object.defineProperty(Gn.prototype,"$isServer",{get:ie}),Object.defineProperty(Gn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Gn,"FunctionalRenderContext",{value:vn}),Gn.version="2.7.14";var er=y("style,class"),tr=y("input,textarea,option,select,progress"),nr=y("contenteditable,draggable,spellcheck"),rr=y("events,caret,typing,plaintext-only"),or=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ir="http://www.w3.org/1999/xlink",ar=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},lr=function(e){return ar(e)?e.slice(6,e.length):""},sr=function(e){return null==e||!1===e};function cr(e){for(var t=e.data,n=e,r=e;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=ur(r.data,t));for(;a(n=n.parent);)n&&n.data&&(t=ur(t,n.data));return function(e,t){if(a(e)||a(t))return pr(e,dr(t));return""}(t.staticClass,t.class)}function ur(e,t){return{staticClass:pr(e.staticClass,t.staticClass),class:a(e.class)?[e.class,t.class]:t.class}}function pr(e,t){return e?t?e+" "+t:e:t||""}function dr(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,o=e.length;r-1?Rr(e,t,n):or(t)?sr(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):nr(t)?e.setAttribute(t,function(e,t){return sr(t)||"false"===t?"false":"contenteditable"===e&&rr(t)?t:"true"}(t,n)):ar(t)?sr(n)?e.removeAttributeNS(ir,lr(t)):e.setAttributeNS(ir,t,n):Rr(e,t,n)}function Rr(e,t,n){if(sr(n))e.removeAttribute(t);else{if(K&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Hr={create:Nr,update:Nr};function Wr(e,t){var n=t.elm,r=t.data,o=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var l=cr(t),s=n._transitionClasses;a(s)&&(l=pr(l,dr(s))),l!==n._prevClass&&(n.setAttribute("class",l),n._prevClass=l)}}var jr,Fr={create:Wr,update:Wr};function $r(e,t,n){var r=jr;return function o(){var i=t.apply(null,arguments);null!==i&&qr(e,o,n,r)}}var Mr=Et&&!(te&&Number(te[1])<=53);function zr(e,t,n,r){if(Mr){var o=ln,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=o||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}jr.addEventListener(e,t,re?{capture:n,passive:r}:n)}function qr(e,t,n,r){(r||jr).removeEventListener(e,t._wrapper||t,n)}function Qr(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};jr=t.elm||e.elm,function(e){if(a(e.__r)){var t=K?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}a(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),Qe(n,r,zr,qr,$r,t.context),jr=void 0}}var Gr,Vr={create:Qr,update:Qr,destroy:function(e){return Qr(e,Dr)}};function Ur(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,o=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in(a(c.__ob__)||l(c._v_attr_proxy))&&(c=t.data.domProps=L({},c)),s)n in c||(o[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var u=i(r)?"":String(r);Xr(o,u)&&(o.value=u)}else if("innerHTML"===n&&mr(o.tagName)&&i(o.innerHTML)){(Gr=Gr||document.createElement("div")).innerHTML="".concat(r,"");for(var p=Gr.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;p.firstChild;)o.appendChild(p.firstChild)}else if(r!==s[n])try{o[n]=r}catch(e){}}}}function Xr(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(a(r)){if(r.number)return g(n)!==g(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Kr={create:Ur,update:Ur},Jr=D((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function Yr(e){var t=Zr(e.style);return e.staticStyle?L(e.staticStyle,t):t}function Zr(e){return Array.isArray(e)?B(e):"string"==typeof e?Jr(e):e}var eo,to=/^--/,no=/\s*!important$/,ro=function(e,t,n){if(to.test(t))e.style.setProperty(t,n);else if(no.test(n))e.style.setProperty(A(t),n.replace(no,""),"important");else{var r=io(t);if(Array.isArray(n))for(var o=0,i=n.length;o-1?t.split(so).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function uo(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(so).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function po(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&L(t,ho(e.name||"v")),L(t,e),t}return"string"==typeof e?ho(e):void 0}}var ho=D((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),vo=U&&!J,mo="transition",fo="transitionend",go="animation",yo="animationend";vo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(mo="WebkitTransition",fo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(go="WebkitAnimation",yo="webkitAnimationEnd"));var bo=U?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function wo(e){bo((function(){bo(e)}))}function Po(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),co(e,t))}function Co(e,t){e._transitionClasses&&w(e._transitionClasses,t),uo(e,t)}function Do(e,t,n){var r=So(e,t),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var l="transition"===o?fo:yo,s=0,c=function(){e.removeEventListener(l,u),n()},u=function(t){t.target===e&&++s>=a&&c()};setTimeout((function(){s0&&(n="transition",u=a,p=i.length):"animation"===t?c>0&&(n="animation",u=c,p=s.length):p=(n=(u=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===n?i.length:s.length:0,{type:n,timeout:u,propCount:p,hasTransform:"transition"===n&&ko.test(r[mo+"Property"])}}function xo(e,t){for(;e.length1}function Bo(e,t){!0!==t.data.show&&Ao(t)}var Io=function(e){var t,n,r={},c=e.modules,u=e.nodeOps;for(t=0;tv?w(e,i(n[g+1])?null:n[g+1].elm,n,h,g,r):h>g&&C(t,p,v)}(p,m,g,n,c):a(g)?(a(e.text)&&u.setTextContent(p,""),w(p,null,g,0,g.length-1,n)):a(m)?C(m,0,m.length-1):a(e.text)&&u.setTextContent(p,""):e.text!==t.text&&u.setTextContent(p,t.text),a(v)&&a(h=v.hook)&&a(h=h.postpatch)&&h(e,t)}}}function x(e,t,n){if(l(n)&&a(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(R(Wo(a),r))return void(e.selectedIndex!==l&&(e.selectedIndex=l));o||(e.selectedIndex=-1)}}function Ho(e,t){return t.every((function(t){return!R(t,e)}))}function Wo(e){return"_value"in e?e._value:e.value}function jo(e){e.target.composing=!0}function Fo(e){e.target.composing&&(e.target.composing=!1,$o(e.target,"input"))}function $o(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Mo(e){return!e.componentInstance||e.data&&e.data.transition?e:Mo(e.componentInstance._vnode)}var zo={model:No,show:{bind:function(e,t,n){var r=t.value,o=(n=Mo(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&o?(n.data.show=!0,Ao(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Mo(n)).data&&n.data.transition?(n.data.show=!0,r?Ao(n,(function(){e.style.display=e.__vOriginalDisplay})):_o(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,o){o||(e.style.display=e.__vOriginalDisplay)}}},qo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Qo(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Qo(Dt(t.children)):e}function Go(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var o=n._parentListeners;for(var r in o)t[S(r)]=o[r];return t}function Vo(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Uo=function(e){return e.tag||ht(e)},Xo=function(e){return"show"===e.name},Ko={name:"transition",props:qo,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Uo)).length){0;var r=this.mode;0;var o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var i=Qo(o);if(!i)return o;if(this._leaving)return Vo(e,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var l=(i.data||(i.data={})).transition=Go(this),c=this._vnode,u=Qo(c);if(i.data.directives&&i.data.directives.some(Xo)&&(i.data.show=!0),u&&u.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,u)&&!ht(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var p=u.data.transition=L({},l);if("out-in"===r)return this._leaving=!0,Ge(p,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),Vo(e,o);if("in-out"===r){if(ht(i))return c;var d,h=function(){d()};Ge(l,"afterEnter",h),Ge(l,"enterCancelled",h),Ge(p,"delayLeave",(function(e){d=e}))}}return o}}},Jo=L({tag:String,moveClass:String},qo);function Yo(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Zo(e){e.data.newPos=e.elm.getBoundingClientRect()}function ei(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,o=t.top-n.top;if(r||o){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}delete Jo.mode;var ti={Transition:Ko,TransitionGroup:{props:Jo,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var o=Kt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,o(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Go(this),l=0;l-1?gr[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:gr[e]=/HTMLUnknownElement/.test(t.toString())},L(Gn.options.directives,zo),L(Gn.options.components,ti),Gn.prototype.__patch__=U?Io:I,Gn.prototype.$mount=function(e,t){return function(e,t,n){var r;e.$el=t,e.$options.render||(e.$options.render=he),Zt(e,"beforeMount"),r=function(){e._update(e._render(),n)},new qt(e,r,I,{before:function(){e._isMounted&&!e._isDestroyed&&Zt(e,"beforeUpdate")}},!0),n=!1;var o=e._preWatchers;if(o)for(var i=0;i=0&&(t=e.slice(r),e=e.slice(0,r));var o=e.indexOf("?");return o>=0&&(n=e.slice(o+1),e=e.slice(0,o)),{path:e,query:n,hash:t}}(o.path||""),c=t&&t.path||"/",u=s.path?Ci(s.path,c,n||o.append):c,p=function(e,t,n){void 0===t&&(t={});var r,o=n||ci;try{r=o(e||"")}catch(e){r={}}for(var i in t){var a=t[i];r[i]=Array.isArray(a)?a.map(si):si(a)}return r}(s.query,o.query,r&&r.options.parseQuery),d=o.hash||s.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:u,query:p,hash:d}}var zi,qi=function(){},Qi={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var t=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,l=o.href,s={},c=n.options.linkActiveClass,u=n.options.linkExactActiveClass,p=null==c?"router-link-active":c,d=null==u?"router-link-exact-active":u,h=null==this.activeClass?p:this.activeClass,v=null==this.exactActiveClass?d:this.exactActiveClass,m=a.redirectedFrom?di(null,Mi(a.redirectedFrom),null,n):a;s[v]=gi(r,m,this.exactPath),s[h]=this.exact||this.exactPath?s[v]:function(e,t){return 0===e.path.replace(pi,"/").indexOf(t.path.replace(pi,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(r,m);var f=s[v]?this.ariaCurrentValue:null,g=function(e){Gi(e)&&(t.replace?n.replace(i,qi):n.push(i,qi))},y={click:Gi};Array.isArray(this.event)?this.event.forEach((function(e){y[e]=g})):y[this.event]=g;var b={class:s},w=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:l,route:a,navigate:g,isActive:s[h],isExactActive:s[v]});if(w){if(1===w.length)return w[0];if(w.length>1||!w.length)return 0===w.length?e():e("span",{},w)}if("a"===this.tag)b.on=y,b.attrs={href:l,"aria-current":f};else{var P=function e(t){var n;if(t)for(var r=0;r-1&&(l.params[d]=n.params[d]);return l.path=$i(u.path,l.params),s(u,l,a)}if(l.path){l.params={};for(var h=0;h-1}function Da(e,t){return Ca(e)&&e._isRouter&&(null==t||e.type===t)}function ka(e,t,n){var r=function(o){o>=e.length?n():e[o]?t(e[o],(function(){r(o+1)})):r(o+1)};r(0)}function Sa(e){return function(t,n,r){var o=!1,i=0,a=null;xa(e,(function(e,t,n,l){if("function"==typeof e&&void 0===e.cid){o=!0,i++;var s,c=_a((function(t){var o;((o=t).__esModule||Aa&&"Module"===o[Symbol.toStringTag])&&(t=t.default),e.resolved="function"==typeof t?t:zi.extend(t),n.components[l]=t,--i<=0&&r()})),u=_a((function(e){var t="Failed to resolve async component "+l+": "+e;a||(a=Ca(e)?e:new Error(t),r(a))}));try{s=e(c,u)}catch(e){u(e)}if(s)if("function"==typeof s.then)s.then(c,u);else{var p=s.component;p&&"function"==typeof p.then&&p.then(c,u)}}})),o||r()}}function xa(e,t){return Ta(e.map((function(e){return Object.keys(e.components).map((function(n){return t(e.components[n],e.instances[n],e,n)}))})))}function Ta(e){return Array.prototype.concat.apply([],e)}var Aa="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function _a(e){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,e.apply(this,n)}}var Ea=function(e,t){this.router=e,this.base=function(e){if(!e)if(Vi){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=vi,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function La(e,t,n,r){var o=xa(e,(function(e,r,o,i){var a=function(e,t){"function"!=typeof e&&(e=zi.extend(e));return e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map((function(e){return n(e,r,o,i)})):n(a,r,o,i)}));return Ta(r?o.reverse():o)}function Ba(e,t){if(t)return function(){return e.apply(t,arguments)}}Ea.prototype.listen=function(e){this.cb=e},Ea.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},Ea.prototype.onError=function(e){this.errorCbs.push(e)},Ea.prototype.transitionTo=function(e,t,n){var r,o=this;try{r=this.router.match(e,this.current)}catch(e){throw this.errorCbs.forEach((function(t){t(e)})),e}var i=this.current;this.confirmTransition(r,(function(){o.updateRoute(r),t&&t(r),o.ensureURL(),o.router.afterHooks.forEach((function(e){e&&e(r,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(e){e(r)})))}),(function(e){n&&n(e),e&&!o.ready&&(Da(e,ga.redirected)&&i===vi||(o.ready=!0,o.readyErrorCbs.forEach((function(t){t(e)}))))}))},Ea.prototype.confirmTransition=function(e,t,n){var r=this,o=this.current;this.pending=e;var i,a,l=function(e){!Da(e)&&Ca(e)&&(r.errorCbs.length?r.errorCbs.forEach((function(t){t(e)})):console.error(e)),n&&n(e)},s=e.matched.length-1,c=o.matched.length-1;if(gi(e,o)&&s===c&&e.matched[s]===o.matched[c])return this.ensureURL(),e.hash&&ia(this.router,o,e,!1),l(((a=wa(i=o,e,ga.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var u=function(e,t){var n,r=Math.max(e.length,t.length);for(n=0;n0)){var t=this.router,n=t.options.scrollBehavior,r=va&&n;r&&this.listeners.push(oa());var o=function(){var n=e.current,o=Na(e.base);e.current===vi&&o===e._startLocation||e.transitionTo(o,(function(e){r&&ia(t,e,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},t.prototype.go=function(e){window.history.go(e)},t.prototype.push=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){ma(Di(r.base+e.fullPath)),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){fa(Di(r.base+e.fullPath)),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.ensureURL=function(e){if(Na(this.base)!==this.current.fullPath){var t=Di(this.base+this.current.fullPath);e?ma(t):fa(t)}},t.prototype.getCurrentLocation=function(){return Na(this.base)},t}(Ea);function Na(e){var t=window.location.pathname,n=t.toLowerCase(),r=e.toLowerCase();return!e||n!==r&&0!==n.indexOf(Di(r+"/"))||(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash}var Oa=function(e){function t(t,n,r){e.call(this,t,n),r&&function(e){var t=Na(e);if(!/^\/#/.test(t))return window.location.replace(Di(e+"/#"+t)),!0}(this.base)||Ra()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var t=this.router.options.scrollBehavior,n=va&&t;n&&this.listeners.push(oa());var r=function(){var t=e.current;Ra()&&e.transitionTo(Ha(),(function(r){n&&ia(e.router,r,t,!0),va||Fa(r.fullPath)}))},o=va?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},t.prototype.push=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){ja(e.fullPath),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){Fa(e.fullPath),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.go=function(e){window.history.go(e)},t.prototype.ensureURL=function(e){var t=this.current.fullPath;Ha()!==t&&(e?ja(t):Fa(t))},t.prototype.getCurrentLocation=function(){return Ha()},t}(Ea);function Ra(){var e=Ha();return"/"===e.charAt(0)||(Fa("/"+e),!1)}function Ha(){var e=window.location.href,t=e.indexOf("#");return t<0?"":e=e.slice(t+1)}function Wa(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function ja(e){va?ma(Wa(e)):window.location.hash=e}function Fa(e){va?fa(Wa(e)):window.location.replace(Wa(e))}var $a=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index).concat(e),t&&t(e)}),n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var e=t.current;t.index=n,t.updateRoute(r),t.router.afterHooks.forEach((function(t){t&&t(r,e)}))}),(function(e){Da(e,ga.duplicated)&&(t.index=n)}))}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(Ea),Ma=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ki(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!va&&!1!==e.fallback,this.fallback&&(t="hash"),Vi||(t="abstract"),this.mode=t,t){case"history":this.history=new Ia(this,e.base);break;case"hash":this.history=new Oa(this,e.base,this.fallback);break;case"abstract":this.history=new $a(this,e.base);break;default:0}},za={currentRoute:{configurable:!0}};Ma.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},za.currentRoute.get=function(){return this.history&&this.history.current},Ma.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null),t.app||t.history.teardown()})),!this.app){this.app=e;var n=this.history;if(n instanceof Ia||n instanceof Oa){var r=function(e){n.setupListeners(),function(e){var r=n.current,o=t.options.scrollBehavior;va&&o&&"fullPath"in e&&ia(t,e,r,!1)}(e)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(e){t.apps.forEach((function(t){t._route=e}))}))}},Ma.prototype.beforeEach=function(e){return Qa(this.beforeHooks,e)},Ma.prototype.beforeResolve=function(e){return Qa(this.resolveHooks,e)},Ma.prototype.afterEach=function(e){return Qa(this.afterHooks,e)},Ma.prototype.onReady=function(e,t){this.history.onReady(e,t)},Ma.prototype.onError=function(e){this.history.onError(e)},Ma.prototype.push=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.push(e,t,n)}));this.history.push(e,t,n)},Ma.prototype.replace=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.replace(e,t,n)}));this.history.replace(e,t,n)},Ma.prototype.go=function(e){this.history.go(e)},Ma.prototype.back=function(){this.go(-1)},Ma.prototype.forward=function(){this.go(1)},Ma.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map((function(e){return Object.keys(e.components).map((function(t){return e.components[t]}))}))):[]},Ma.prototype.resolve=function(e,t,n){var r=Mi(e,t=t||this.history.current,n,this),o=this.match(r,t),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(e,t,n){var r="hash"===n?"#"+t:t;return e?Di(e+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Ma.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ma.prototype.addRoute=function(e,t){this.matcher.addRoute(e,t),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Ma.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ma.prototype,za);var qa=Ma;function Qa(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}Ma.install=function e(t){if(!e.installed||zi!==t){e.installed=!0,zi=t;var n=function(e){return void 0!==e},r=function(e,t){var r=e.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",wi),t.component("RouterLink",Qi);var o=t.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Ma.version="3.6.5",Ma.isNavigationFailure=Da,Ma.NavigationFailureType=ga,Ma.START_LOCATION=vi,Vi&&window.Vue&&window.Vue.use(Ma);n(94);n(120);var Ga={NotFound:()=>n.e(77).then(n.bind(null,667)),Layout:()=>Promise.all([n.e(0),n.e(3),n.e(16)]).then(n.bind(null,666)),Homepage:()=>Promise.all([n.e(0),n.e(17)]).then(n.bind(null,668))},Va={"v-128c2a25":()=>n.e(54).then(n.bind(null,671)),"v-03334e4d":()=>n.e(55).then(n.bind(null,672)),"v-68028296":()=>n.e(78).then(n.bind(null,673)),"v-3b19ebb6":()=>n.e(79).then(n.bind(null,674)),"v-9b4e0776":()=>n.e(80).then(n.bind(null,675)),"v-c3e4e676":()=>n.e(81).then(n.bind(null,676)),"v-4c4d56f6":()=>n.e(82).then(n.bind(null,677)),"v-4d775b7a":()=>n.e(56).then(n.bind(null,678)),"v-61d8fd52":()=>n.e(83).then(n.bind(null,679)),"v-bc3ce3b6":()=>n.e(36).then(n.bind(null,680)),"v-64599034":()=>n.e(12).then(n.bind(null,681)),"v-9d2d2936":()=>n.e(57).then(n.bind(null,682)),"v-bac53276":()=>n.e(84).then(n.bind(null,683)),"v-0516060b":()=>n.e(85).then(n.bind(null,684)),"v-6762cd1e":()=>n.e(26).then(n.bind(null,685)),"v-a46e67b2":()=>n.e(48).then(n.bind(null,686)),"v-a39385f6":()=>n.e(86).then(n.bind(null,687)),"v-9909a134":()=>n.e(87).then(n.bind(null,688)),"v-3e89bcce":()=>n.e(58).then(n.bind(null,689)),"v-5c41b537":()=>n.e(88).then(n.bind(null,690)),"v-af48c69a":()=>n.e(89).then(n.bind(null,691)),"v-43a641c1":()=>n.e(59).then(n.bind(null,692)),"v-28bb6fe9":()=>n.e(20).then(n.bind(null,693)),"v-8e93b036":()=>n.e(60).then(n.bind(null,694)),"v-1ce314c7":()=>n.e(21).then(n.bind(null,695)),"v-11279236":()=>n.e(90).then(n.bind(null,696)),"v-ba716776":()=>n.e(23).then(n.bind(null,697)),"v-17b4e927":()=>n.e(42).then(n.bind(null,698)),"v-9ed60e36":()=>n.e(24).then(n.bind(null,699)),"v-784e0e36":()=>n.e(37).then(n.bind(null,700)),"v-f5865886":()=>n.e(18).then(n.bind(null,701)),"v-1aba0945":()=>n.e(91).then(n.bind(null,702)),"v-6423130d":()=>n.e(61).then(n.bind(null,703)),"v-4a79bbe7":()=>n.e(62).then(n.bind(null,704)),"v-7afc10f6":()=>n.e(92).then(n.bind(null,705)),"v-30d086c5":()=>n.e(93).then(n.bind(null,706)),"v-45023d5a":()=>n.e(94).then(n.bind(null,707)),"v-af8f8776":()=>n.e(95).then(n.bind(null,708)),"v-8a00b836":()=>n.e(96).then(n.bind(null,709)),"v-41065f05":()=>n.e(97).then(n.bind(null,710)),"v-d21f2f34":()=>n.e(63).then(n.bind(null,711)),"v-5762b925":()=>n.e(49).then(n.bind(null,712)),"v-180c16e5":()=>n.e(98).then(n.bind(null,713)),"v-39c48f76":()=>n.e(99).then(n.bind(null,714)),"v-762b62cf":()=>n.e(100).then(n.bind(null,715)),"v-49909ce5":()=>n.e(32).then(n.bind(null,716)),"v-3ec65b5a":()=>n.e(101).then(n.bind(null,717)),"v-dc719dd2":()=>n.e(102).then(n.bind(null,718)),"v-10e3317f":()=>n.e(103).then(n.bind(null,719)),"v-b64dbc36":()=>n.e(104).then(n.bind(null,720)),"v-f2be4ef6":()=>n.e(105).then(n.bind(null,721)),"v-3d044e45":()=>n.e(106).then(n.bind(null,722)),"v-ede35016":()=>n.e(107).then(n.bind(null,723)),"v-7daf4329":()=>n.e(108).then(n.bind(null,724)),"v-6f03bcc5":()=>n.e(50).then(n.bind(null,725)),"v-8ade6c04":()=>n.e(64).then(n.bind(null,726)),"v-19638485":()=>n.e(109).then(n.bind(null,727)),"v-06e5e8b6":()=>n.e(7).then(n.bind(null,728)),"v-3a2a5ff4":()=>n.e(110).then(n.bind(null,729)),"v-bcc9c0f6":()=>n.e(111).then(n.bind(null,730)),"v-52901cc5":()=>n.e(112).then(n.bind(null,731)),"v-aeaaf052":()=>n.e(33).then(n.bind(null,732)),"v-e159d7f6":()=>n.e(34).then(n.bind(null,733)),"v-2d316036":()=>n.e(113).then(n.bind(null,734)),"v-67ccefa5":()=>n.e(114).then(n.bind(null,735)),"v-3d266a05":()=>n.e(115).then(n.bind(null,736)),"v-bf626e76":()=>n.e(116).then(n.bind(null,737)),"v-92a19676":()=>n.e(117).then(n.bind(null,738)),"v-195b101b":()=>n.e(118).then(n.bind(null,739)),"v-b69e09ee":()=>n.e(119).then(n.bind(null,740)),"v-14b9fcf5":()=>n.e(120).then(n.bind(null,741)),"v-6dcde349":()=>n.e(11).then(n.bind(null,742)),"v-1e8449a5":()=>n.e(121).then(n.bind(null,743)),"v-5a7c8936":()=>n.e(122).then(n.bind(null,744)),"v-0fd6afca":()=>n.e(27).then(n.bind(null,745)),"v-02bea796":()=>n.e(43).then(n.bind(null,746)),"v-b4e335b6":()=>n.e(44).then(n.bind(null,747)),"v-dec9d2fe":()=>n.e(28).then(n.bind(null,748)),"v-42e075f7":()=>n.e(31).then(n.bind(null,749)),"v-78e9ef70":()=>n.e(123).then(n.bind(null,750)),"v-0763789a":()=>n.e(35).then(n.bind(null,751)),"v-1eb7e25b":()=>n.e(65).then(n.bind(null,752)),"v-0c2701b6":()=>n.e(124).then(n.bind(null,753)),"v-65060acd":()=>n.e(51).then(n.bind(null,754)),"v-7900ca36":()=>n.e(29).then(n.bind(null,755)),"v-51796845":()=>n.e(66).then(n.bind(null,756)),"v-2ad91fe5":()=>n.e(13).then(n.bind(null,757)),"v-3526ef36":()=>n.e(52).then(n.bind(null,758)),"v-9b2edb34":()=>n.e(67).then(n.bind(null,759)),"v-60c4a545":()=>n.e(125).then(n.bind(null,760)),"v-21ea7c46":()=>n.e(68).then(n.bind(null,761)),"v-7a7299c2":()=>n.e(126).then(n.bind(null,762)),"v-1a5789ad":()=>n.e(69).then(n.bind(null,763)),"v-6761eaa9":()=>n.e(70).then(n.bind(null,764)),"v-25de27bb":()=>n.e(127).then(n.bind(null,765)),"v-78fb4ca5":()=>n.e(128).then(n.bind(null,766)),"v-20a8c736":()=>n.e(129).then(n.bind(null,767)),"v-eee9bb82":()=>n.e(130).then(n.bind(null,768)),"v-6a07ad05":()=>n.e(71).then(n.bind(null,769)),"v-e3db5fd8":()=>n.e(131).then(n.bind(null,770)),"v-2352e414":()=>n.e(132).then(n.bind(null,771)),"v-88980e76":()=>n.e(38).then(n.bind(null,772)),"v-8d0f1fc6":()=>n.e(9).then(n.bind(null,773)),"v-15132f85":()=>n.e(30).then(n.bind(null,774)),"v-e98912f6":()=>n.e(39).then(n.bind(null,775)),"v-15dab665":()=>n.e(72).then(n.bind(null,776)),"v-49efd338":()=>n.e(73).then(n.bind(null,777)),"v-68f6ac6a":()=>n.e(40).then(n.bind(null,778)),"v-f5202af6":()=>n.e(74).then(n.bind(null,779)),"v-40e08a05":()=>n.e(134).then(n.bind(null,780)),"v-0597b005":()=>n.e(5).then(n.bind(null,781)),"v-21fce50b":()=>n.e(135).then(n.bind(null,782)),"v-7c2268b6":()=>n.e(136).then(n.bind(null,783)),"v-50ea01b4":()=>n.e(137).then(n.bind(null,784)),"v-937bc12e":()=>n.e(14).then(n.bind(null,785)),"v-9c5e78fe":()=>n.e(10).then(n.bind(null,786)),"v-784978e6":()=>n.e(138).then(n.bind(null,787)),"v-604d19c6":()=>n.e(139).then(n.bind(null,788)),"v-36032c85":()=>n.e(140).then(n.bind(null,789)),"v-31f01d3e":()=>n.e(141).then(n.bind(null,790)),"v-d4151eb6":()=>n.e(75).then(n.bind(null,791)),"v-63822f36":()=>n.e(142).then(n.bind(null,792)),"v-dae82c60":()=>n.e(76).then(n.bind(null,793)),"v-0e38183b":()=>n.e(4).then(n.bind(null,794)),"v-315abc86":()=>n.e(15).then(n.bind(null,795)),"v-5bcac676":()=>n.e(41).then(n.bind(null,796)),"v-13a93ebf":()=>n.e(22).then(n.bind(null,797)),"v-8c111c76":()=>n.e(143).then(n.bind(null,798)),"v-7d101341":()=>n.e(8).then(n.bind(null,799)),"v-53d8e985":()=>n.e(144).then(n.bind(null,800)),"v-faa5f0f6":()=>n.e(6).then(n.bind(null,801)),"v-a6ea6734":()=>n.e(53).then(n.bind(null,802)),"v-51df4a0d":()=>n.e(25).then(n.bind(null,803)),"v-1dfa3141":()=>n.e(19).then(n.bind(null,804)),"v-dde32bd4":()=>n.e(133).then(n.bind(null,805))};function Ua(e){const t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}const Xa=/-(\w)/g,Ka=Ua(e=>e.replace(Xa,(e,t)=>t?t.toUpperCase():"")),Ja=/\B([A-Z])/g,Ya=Ua(e=>e.replace(Ja,"-$1").toLowerCase()),Za=Ua(e=>e.charAt(0).toUpperCase()+e.slice(1));function el(e,t){if(!t)return;if(e(t))return e(t);return t.includes("-")?e(Za(Ka(t))):e(Za(t))||e(Ya(t))}const tl=Object.assign({},Ga,Va),nl=e=>tl[e],rl=e=>Va[e],ol=e=>Ga[e],il=e=>Gn.component(e);function al(e){return el(rl,e)}function ll(e){return el(ol,e)}function sl(e){return el(nl,e)}function cl(e){return el(il,e)}function ul(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!cl(e)&&sl(e)){const t=await sl(e)();Gn.component(e,t.default)}}))}function pl(e,t){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=t)}var dl=n(87),hl=n.n(dl),vl=n(88),ml=n.n(vl),fl={created(){if(this.siteMeta=this.$site.headTags.filter(([e])=>"meta"===e).map(([e,t])=>t),this.$ssrContext){const t=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(e=t)?e.map(e=>{let t="{t+=` ${n}="${ml()(e[n])}"`}),t+">"}).join("\n "):"",this.$ssrContext.canonicalLink=yl(this.$canonicalUrl)}var e},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const e=this.getMergedMetaTags();this.currentMetaTags=bl(e,this.currentMetaTags)},getMergedMetaTags(){const e=this.$page.frontmatter.meta||[];return hl()([{name:"description",content:this.$description}],e,this.siteMeta,wl)},updateCanonicalLink(){gl(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",yl(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){bl(null,this.currentMetaTags),gl()}};function gl(){const e=document.querySelector("link[rel='canonical']");e&&e.remove()}function yl(e=""){return e?``:""}function bl(e,t){if(t&&[...t].filter(e=>e.parentNode===document.head).forEach(e=>document.head.removeChild(e)),e)return e.map(e=>{const t=document.createElement("meta");return Object.keys(e).forEach(n=>{t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}function wl(e){for(const t of["name","property","itemprop"])if(e.hasOwnProperty(t))return e[t]+t;return JSON.stringify(e)}var Pl=n(89),Cl={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(Pl)()((function(){this.setActiveHash()}),300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),t=[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(e=>e.hash===t.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let e=0;e=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Dl=n(21),kl=n.n(Dl),Sl={mounted(){kl.a.configure({showSpinner:!1}),this.$router.beforeEach((e,t,n)=>{e.path===t.path||Gn.component(e.name)||kl.a.start(),n()}),this.$router.afterEach(()=>{kl.a.done(),this.isSidebarOpen=!1})}},xl={props:{parent:Object,code:String,options:{align:String,color:String,backgroundTransition:Boolean,backgroundColor:String,successText:String,staticIcon:Boolean}},data:()=>({success:!1,originalBackground:null,originalTransition:null}),computed:{alignStyle(){let e={};return e[this.options.align]="7.5px",e},iconClass(){return this.options.staticIcon?"":"hover"}},mounted(){this.originalTransition=this.parent.style.transition,this.originalBackground=this.parent.style.background},beforeDestroy(){this.parent.style.transition=this.originalTransition,this.parent.style.background=this.originalBackground},methods:{hexToRgb(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null},copyToClipboard(e){if(navigator.clipboard)navigator.clipboard.writeText(this.code).then(()=>{this.setSuccessTransitions()},()=>{});else{let e=document.createElement("textarea");document.body.appendChild(e),e.value=this.code,e.select(),document.execCommand("Copy"),e.remove(),this.setSuccessTransitions()}},setSuccessTransitions(){if(clearTimeout(this.successTimeout),this.options.backgroundTransition){this.parent.style.transition="background 350ms";let e=this.hexToRgb(this.options.backgroundColor);this.parent.style.background=`rgba(${e.r}, ${e.g}, ${e.b}, 0.1)`}this.success=!0,this.successTimeout=setTimeout(()=>{this.options.backgroundTransition&&(this.parent.style.background=this.originalBackground,this.parent.style.transition=this.originalTransition),this.success=!1},500)}}},Tl=(n(225),n(9)),Al=Object(Tl.a)(xl,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"code-copy"},[t("svg",{class:e.iconClass,style:e.alignStyle,attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},on:{click:e.copyToClipboard}},[t("path",{attrs:{fill:"none",d:"M0 0h24v24H0z"}}),e._v(" "),t("path",{attrs:{fill:e.options.color,d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}})]),e._v(" "),t("span",{class:e.success?"success":"",style:e.alignStyle},[e._v("\n "+e._s(e.options.successText)+"\n ")])])}),[],!1,null,"49140617",null).exports,_l=(n(226),{updated(){this.update()},methods:{update(){setTimeout(()=>{document.querySelectorAll('div[class*="language-"] pre').forEach(e=>{if(e.classList.contains("code-copy-added"))return;let t=new(Gn.extend(Al));t.options={align:"bottom",color:"#8F979E",backgroundTransition:!1,backgroundColor:"#0075b8",successText:"Copied!",staticIcon:!0},t.code=e.innerText,t.parent=e,t.$mount(),e.classList.add("code-copy-added"),e.appendChild(t.$el)})},100)}}}),El=(n(227),Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},o=function(e){var t=e.target;t!==S?-1!==b.indexOf(t)&&m({target:t}):v()},i=function(){if(!P&&k.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(C-e)>D.scrollOffset&&setTimeout(v,150)}},a=function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||v()},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(S.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=El({},D.container,e.container)),e.template){var n=Bl(e.template)?e.template:document.querySelector(e.template);t.template=n}return D=El({},D,t),b.forEach((function(e){e.dispatchEvent(Hl("medium-zoom:update",{detail:{zoom:x}}))})),x},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(El({},D,t))},c=function(){for(var e=arguments.length,t=Array(e),n=0;n0?t.reduce((function(e,t){return[].concat(e,Nl(t))}),[]):b;return r.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(Hl("medium-zoom:detach",{detail:{zoom:x}}))})),b=b.filter((function(e){return-1===r.indexOf(e)})),x},p=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(r){r.addEventListener("medium-zoom:"+e,t,n)})),w.push({type:"medium-zoom:"+e,listener:t,options:n}),x},d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(r){r.removeEventListener("medium-zoom:"+e,t,n)})),w=w.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),x},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(D.container)if(D.container instanceof Object)t=(e=El({},e,D.container)).width-e.left-e.right-2*D.margin,n=e.height-e.top-e.bottom-2*D.margin;else{var r=(Bl(D.container)?D.container:document.querySelector(D.container)).getBoundingClientRect(),o=r.width,i=r.height,a=r.left,l=r.top;e=El({},e,{width:o,height:i,left:a,top:l})}t=t||e.width-2*D.margin,n=n||e.height-2*D.margin;var s=k.zoomedHd||k.original,c=Il(s)?t:s.naturalWidth||t,u=Il(s)?n:s.naturalHeight||n,p=s.getBoundingClientRect(),d=p.top,h=p.left,v=p.width,m=p.height,f=Math.min(c,t)/v,g=Math.min(u,n)/m,y=Math.min(f,g),b="scale("+y+") translate3d("+((t-v)/2-h+D.margin+e.left)/y+"px, "+((n-m)/2-d+D.margin+e.top)/y+"px, 0)";k.zoomed.style.transform=b,k.zoomedHd&&(k.zoomedHd.style.transform=b)};return new r((function(e){if(t&&-1===b.indexOf(t))e(x);else{if(k.zoomed)e(x);else{if(t)k.original=t;else{if(!(b.length>0))return void e(x);var r=b;k.original=r[0]}if(k.original.dispatchEvent(Hl("medium-zoom:open",{detail:{zoom:x}})),C=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,P=!0,k.zoomed=Rl(k.original),document.body.appendChild(S),D.template){var o=Bl(D.template)?D.template:document.querySelector(D.template);k.template=document.createElement("div"),k.template.appendChild(o.content.cloneNode(!0)),document.body.appendChild(k.template)}if(document.body.appendChild(k.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),k.original.classList.add("medium-zoom-image--hidden"),k.zoomed.classList.add("medium-zoom-image--opened"),k.zoomed.addEventListener("click",v),k.zoomed.addEventListener("transitionend",(function t(){P=!1,k.zoomed.removeEventListener("transitionend",t),k.original.dispatchEvent(Hl("medium-zoom:opened",{detail:{zoom:x}})),e(x)})),k.original.getAttribute("data-zoom-src")){k.zoomedHd=k.zoomed.cloneNode(),k.zoomedHd.removeAttribute("srcset"),k.zoomedHd.removeAttribute("sizes"),k.zoomedHd.src=k.zoomed.getAttribute("data-zoom-src"),k.zoomedHd.onerror=function(){clearInterval(i),console.warn("Unable to reach the zoom image target "+k.zoomedHd.src),k.zoomedHd=null,n()};var i=setInterval((function(){k.zoomedHd.complete&&(clearInterval(i),k.zoomedHd.classList.add("medium-zoom-image--opened"),k.zoomedHd.addEventListener("click",v),document.body.appendChild(k.zoomedHd),n())}),10)}else if(k.original.hasAttribute("srcset")){k.zoomedHd=k.zoomed.cloneNode(),k.zoomedHd.removeAttribute("sizes"),k.zoomedHd.removeAttribute("loading");var a=k.zoomedHd.addEventListener("load",(function(){k.zoomedHd.removeEventListener("load",a),k.zoomedHd.classList.add("medium-zoom-image--opened"),k.zoomedHd.addEventListener("click",v),document.body.appendChild(k.zoomedHd),n()}))}else n()}}}))},v=function(){return new r((function(e){if(!P&&k.original){P=!0,document.body.classList.remove("medium-zoom--opened"),k.zoomed.style.transform="",k.zoomedHd&&(k.zoomedHd.style.transform=""),k.template&&(k.template.style.transition="opacity 150ms",k.template.style.opacity=0),k.original.dispatchEvent(Hl("medium-zoom:close",{detail:{zoom:x}})),k.zoomed.addEventListener("transitionend",(function t(){k.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(k.zoomed),k.zoomedHd&&document.body.removeChild(k.zoomedHd),document.body.removeChild(S),k.zoomed.classList.remove("medium-zoom-image--opened"),k.template&&document.body.removeChild(k.template),P=!1,k.zoomed.removeEventListener("transitionend",t),k.original.dispatchEvent(Hl("medium-zoom:closed",{detail:{zoom:x}})),k.original=null,k.zoomed=null,k.zoomedHd=null,k.template=null,e(x)}))}else e(x)}))},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;return k.original?v():h({target:t})},f=function(){return D},g=function(){return b},y=function(){return k.original},b=[],w=[],P=!1,C=0,D=n,k={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?D=t:(t||"string"==typeof t)&&c(t),D=El({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},D);var S=Ol(D.background);document.addEventListener("click",o),document.addEventListener("keyup",a),document.addEventListener("scroll",i),window.addEventListener("resize",v);var x={open:h,close:v,toggle:m,update:l,clone:s,attach:c,detach:u,on:p,off:d,getOptions:f,getImages:g,getZoomedImage:y};return x},jl=[fl,Cl,Sl,_l,{data:()=>({zoom:null}),mounted(){this.updateZoom()},updated(){this.updateZoom()},methods:{updateZoom(){setTimeout(()=>{this.zoom&&this.zoom.detach(),this.zoom=Wl(".theme-default-content :not(a) > img",void 0)},1e3)}}}],Fl={name:"GlobalLayout",computed:{layout(){const e=this.getLayout();return pl("layout",e),Gn.component(e)}},methods:{getLayout(){if(this.$page.path){const e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}}},$l=Object(Tl.a)(Fl,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":e[t]||(e[t]=[]),e[t].push(...n);break;default:throw new Error("Unknown option name.")}}($l,"mixins",jl);const Ml=[{name:"v-128c2a25",path:"/AdvancedForms/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-128c2a25").then(n)}},{path:"/AdvancedForms/index.html",redirect:"/AdvancedForms/"},{path:"/AdvancedForms.html",redirect:"/AdvancedForms/"},{name:"v-03334e4d",path:"/Apps/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-03334e4d").then(n)}},{path:"/Apps/index.html",redirect:"/Apps/"},{path:"/Apps.html",redirect:"/Apps/"},{name:"v-68028296",path:"/BTCPayServer/LocalDevSetup/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-68028296").then(n)}},{path:"/BTCPayServer/LocalDevSetup/index.html",redirect:"/BTCPayServer/LocalDevSetup/"},{path:"/BTCPayServer/LocalDevSetup.html",redirect:"/BTCPayServer/LocalDevSetup/"},{name:"v-3b19ebb6",path:"/BTCPayServer/Security/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3b19ebb6").then(n)}},{path:"/BTCPayServer/Security/index.html",redirect:"/BTCPayServer/Security/"},{path:"/BTCPayServer/Security.html",redirect:"/BTCPayServer/Security/"},{name:"v-9b4e0776",path:"/BTCPayServer/db-migration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9b4e0776").then(n)}},{path:"/BTCPayServer/db-migration/index.html",redirect:"/BTCPayServer/db-migration/"},{path:"/BTCPayServer/db-migration.html",redirect:"/BTCPayServer/db-migration/"},{name:"v-c3e4e676",path:"/BTCPayServer/greenfield-authorization/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-c3e4e676").then(n)}},{path:"/BTCPayServer/greenfield-authorization/index.html",redirect:"/BTCPayServer/greenfield-authorization/"},{path:"/BTCPayServer/greenfield-authorization.html",redirect:"/BTCPayServer/greenfield-authorization/"},{name:"v-4c4d56f6",path:"/BTCPayServer/greenfield-development/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-4c4d56f6").then(n)}},{path:"/BTCPayServer/greenfield-development/index.html",redirect:"/BTCPayServer/greenfield-development/"},{path:"/BTCPayServer/greenfield-development.html",redirect:"/BTCPayServer/greenfield-development/"},{name:"v-4d775b7a",path:"/BTCPayVsOthers/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-4d775b7a").then(n)}},{path:"/BTCPayVsOthers/index.html",redirect:"/BTCPayVsOthers/"},{path:"/BTCPayVsOthers.html",redirect:"/BTCPayVsOthers/"},{name:"v-61d8fd52",path:"/ColdCardWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-61d8fd52").then(n)}},{path:"/ColdCardWallet/index.html",redirect:"/ColdCardWallet/"},{path:"/ColdCardWallet.html",redirect:"/ColdCardWallet/"},{name:"v-bc3ce3b6",path:"/Community/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bc3ce3b6").then(n)}},{path:"/Community/index.html",redirect:"/Community/"},{path:"/Community.html",redirect:"/Community/"},{name:"v-64599034",path:"/Configurator/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-64599034").then(n)}},{path:"/Configurator/index.html",redirect:"/Configurator/"},{name:"v-9d2d2936",path:"/ConnectWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9d2d2936").then(n)}},{path:"/ConnectWallet/index.html",redirect:"/ConnectWallet/"},{path:"/ConnectWallet.html",redirect:"/ConnectWallet/"},{name:"v-bac53276",path:"/Contribute/Design/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bac53276").then(n)}},{path:"/Contribute/Design/index.html",redirect:"/Contribute/Design/"},{path:"/Contribute/Design.html",redirect:"/Contribute/Design/"},{name:"v-0516060b",path:"/Contribute/Dev/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0516060b").then(n)}},{path:"/Contribute/Dev/index.html",redirect:"/Contribute/Dev/"},{path:"/Contribute/Dev.html",redirect:"/Contribute/Dev/"},{name:"v-6762cd1e",path:"/Contribute/DevCode/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6762cd1e").then(n)}},{path:"/Contribute/DevCode/index.html",redirect:"/Contribute/DevCode/"},{path:"/Contribute/DevCode.html",redirect:"/Contribute/DevCode/"},{name:"v-a46e67b2",path:"/Contribute/DevTest/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-a46e67b2").then(n)}},{path:"/Contribute/DevTest/index.html",redirect:"/Contribute/DevTest/"},{path:"/Contribute/DevTest.html",redirect:"/Contribute/DevTest/"},{name:"v-a39385f6",path:"/Contribute/Misc/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-a39385f6").then(n)}},{path:"/Contribute/Misc/index.html",redirect:"/Contribute/Misc/"},{path:"/Contribute/Misc.html",redirect:"/Contribute/Misc/"},{name:"v-9909a134",path:"/Contribute/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9909a134").then(n)}},{path:"/Contribute/index.html",redirect:"/Contribute/"},{name:"v-3e89bcce",path:"/Contribute/Translate/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3e89bcce").then(n)}},{path:"/Contribute/Translate/index.html",redirect:"/Contribute/Translate/"},{path:"/Contribute/Translate.html",redirect:"/Contribute/Translate/"},{name:"v-5c41b537",path:"/Contribute/Write/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5c41b537").then(n)}},{path:"/Contribute/Write/index.html",redirect:"/Contribute/Write/"},{path:"/Contribute/Write.html",redirect:"/Contribute/Write/"},{name:"v-af48c69a",path:"/Contribute/WriteBlog/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-af48c69a").then(n)}},{path:"/Contribute/WriteBlog/index.html",redirect:"/Contribute/WriteBlog/"},{path:"/Contribute/WriteBlog.html",redirect:"/Contribute/WriteBlog/"},{name:"v-43a641c1",path:"/Contribute/WriteDocs/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-43a641c1").then(n)}},{path:"/Contribute/WriteDocs/index.html",redirect:"/Contribute/WriteDocs/"},{path:"/Contribute/WriteDocs.html",redirect:"/Contribute/WriteDocs/"},{name:"v-28bb6fe9",path:"/Contribute/WriteSoftware/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-28bb6fe9").then(n)}},{path:"/Contribute/WriteSoftware/index.html",redirect:"/Contribute/WriteSoftware/"},{path:"/Contribute/WriteSoftware.html",redirect:"/Contribute/WriteSoftware/"},{name:"v-8e93b036",path:"/CreateStore/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8e93b036").then(n)}},{path:"/CreateStore/index.html",redirect:"/CreateStore/"},{path:"/CreateStore.html",redirect:"/CreateStore/"},{name:"v-1ce314c7",path:"/CreateWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1ce314c7").then(n)}},{path:"/CreateWallet/index.html",redirect:"/CreateWallet/"},{path:"/CreateWallet.html",redirect:"/CreateWallet/"},{name:"v-11279236",path:"/CustomIntegration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-11279236").then(n)}},{path:"/CustomIntegration/index.html",redirect:"/CustomIntegration/"},{path:"/CustomIntegration.html",redirect:"/CustomIntegration/"},{name:"v-ba716776",path:"/Dashboard/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-ba716776").then(n)}},{path:"/Dashboard/index.html",redirect:"/Dashboard/"},{path:"/Dashboard.html",redirect:"/Dashboard/"},{name:"v-17b4e927",path:"/Deployment/Azure/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-17b4e927").then(n)}},{path:"/Deployment/Azure/index.html",redirect:"/Deployment/Azure/"},{path:"/Deployment/Azure.html",redirect:"/Deployment/Azure/"},{name:"v-9ed60e36",path:"/Deployment/AzurePennyPinching/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9ed60e36").then(n)}},{path:"/Deployment/AzurePennyPinching/index.html",redirect:"/Deployment/AzurePennyPinching/"},{path:"/Deployment/AzurePennyPinching.html",redirect:"/Deployment/AzurePennyPinching/"},{name:"v-784e0e36",path:"/Deployment/Clovyr/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-784e0e36").then(n)}},{path:"/Deployment/Clovyr/index.html",redirect:"/Deployment/Clovyr/"},{path:"/Deployment/Clovyr.html",redirect:"/Deployment/Clovyr/"},{name:"v-f5865886",path:"/Deployment/DreamlabNetwork/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-f5865886").then(n)}},{path:"/Deployment/DreamlabNetwork/index.html",redirect:"/Deployment/DreamlabNetwork/"},{path:"/Deployment/DreamlabNetwork.html",redirect:"/Deployment/DreamlabNetwork/"},{name:"v-1aba0945",path:"/Deployment/DynamicDNS/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1aba0945").then(n)}},{path:"/Deployment/DynamicDNS/index.html",redirect:"/Deployment/DynamicDNS/"},{path:"/Deployment/DynamicDNS.html",redirect:"/Deployment/DynamicDNS/"},{name:"v-6423130d",path:"/Deployment/GoogleCloud/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6423130d").then(n)}},{path:"/Deployment/GoogleCloud/index.html",redirect:"/Deployment/GoogleCloud/"},{path:"/Deployment/GoogleCloud.html",redirect:"/Deployment/GoogleCloud/"},{name:"v-4a79bbe7",path:"/Deployment/Hack0/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-4a79bbe7").then(n)}},{path:"/Deployment/Hack0/index.html",redirect:"/Deployment/Hack0/"},{path:"/Deployment/Hack0.html",redirect:"/Deployment/Hack0/"},{name:"v-7afc10f6",path:"/Deployment/Hardware/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7afc10f6").then(n)}},{path:"/Deployment/Hardware/index.html",redirect:"/Deployment/Hardware/"},{path:"/Deployment/Hardware.html",redirect:"/Deployment/Hardware/"},{name:"v-30d086c5",path:"/Deployment/HardwareAsAService/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-30d086c5").then(n)}},{path:"/Deployment/HardwareAsAService/index.html",redirect:"/Deployment/HardwareAsAService/"},{path:"/Deployment/HardwareAsAService.html",redirect:"/Deployment/HardwareAsAService/"},{name:"v-45023d5a",path:"/Deployment/LightningInABox/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-45023d5a").then(n)}},{path:"/Deployment/LightningInABox/index.html",redirect:"/Deployment/LightningInABox/"},{path:"/Deployment/LightningInABox.html",redirect:"/Deployment/LightningInABox/"},{name:"v-af8f8776",path:"/Deployment/LunaNode/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-af8f8776").then(n)}},{path:"/Deployment/LunaNode/index.html",redirect:"/Deployment/LunaNode/"},{path:"/Deployment/LunaNode.html",redirect:"/Deployment/LunaNode/"},{name:"v-8a00b836",path:"/Deployment/ManualDeployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8a00b836").then(n)}},{path:"/Deployment/ManualDeployment/index.html",redirect:"/Deployment/ManualDeployment/"},{path:"/Deployment/ManualDeployment.html",redirect:"/Deployment/ManualDeployment/"},{name:"v-41065f05",path:"/Deployment/ManualDeploymentExtended/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-41065f05").then(n)}},{path:"/Deployment/ManualDeploymentExtended/index.html",redirect:"/Deployment/ManualDeploymentExtended/"},{path:"/Deployment/ManualDeploymentExtended.html",redirect:"/Deployment/ManualDeploymentExtended/"},{name:"v-d21f2f34",path:"/Deployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-d21f2f34").then(n)}},{path:"/Deployment/index.html",redirect:"/Deployment/"},{name:"v-5762b925",path:"/Deployment/RaspberryPi4/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5762b925").then(n)}},{path:"/Deployment/RaspberryPi4/index.html",redirect:"/Deployment/RaspberryPi4/"},{path:"/Deployment/RaspberryPi4.html",redirect:"/Deployment/RaspberryPi4/"},{name:"v-180c16e5",path:"/Deployment/ReverseProxyToTor/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-180c16e5").then(n)}},{path:"/Deployment/ReverseProxyToTor/index.html",redirect:"/Deployment/ReverseProxyToTor/"},{path:"/Deployment/ReverseProxyToTor.html",redirect:"/Deployment/ReverseProxyToTor/"},{name:"v-39c48f76",path:"/Deployment/ReverseSSHtunnel/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-39c48f76").then(n)}},{path:"/Deployment/ReverseSSHtunnel/index.html",redirect:"/Deployment/ReverseSSHtunnel/"},{path:"/Deployment/ReverseSSHtunnel.html",redirect:"/Deployment/ReverseSSHtunnel/"},{name:"v-762b62cf",path:"/Deployment/ThirdPartyHosting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-762b62cf").then(n)}},{path:"/Deployment/ThirdPartyHosting/index.html",redirect:"/Deployment/ThirdPartyHosting/"},{path:"/Deployment/ThirdPartyHosting.html",redirect:"/Deployment/ThirdPartyHosting/"},{name:"v-49909ce5",path:"/Deployment/voltagecloud/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-49909ce5").then(n)}},{path:"/Deployment/voltagecloud/index.html",redirect:"/Deployment/voltagecloud/"},{path:"/Deployment/voltagecloud.html",redirect:"/Deployment/voltagecloud/"},{name:"v-3ec65b5a",path:"/Deployment/webdeployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3ec65b5a").then(n)}},{path:"/Deployment/webdeployment/index.html",redirect:"/Deployment/webdeployment/"},{path:"/Deployment/webdeployment.html",redirect:"/Deployment/webdeployment/"},{name:"v-dc719dd2",path:"/Development/Altcoins/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-dc719dd2").then(n)}},{path:"/Development/Altcoins/index.html",redirect:"/Development/Altcoins/"},{path:"/Development/Altcoins.html",redirect:"/Development/Altcoins/"},{name:"v-10e3317f",path:"/Development/GreenFieldExample-NodeJS/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-10e3317f").then(n)}},{path:"/Development/GreenFieldExample-NodeJS/index.html",redirect:"/Development/GreenFieldExample-NodeJS/"},{path:"/Development/GreenFieldExample-NodeJS.html",redirect:"/Development/GreenFieldExample-NodeJS/"},{name:"v-b64dbc36",path:"/Development/GreenFieldExample/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-b64dbc36").then(n)}},{path:"/Development/GreenFieldExample/index.html",redirect:"/Development/GreenFieldExample/"},{path:"/Development/GreenFieldExample.html",redirect:"/Development/GreenFieldExample/"},{name:"v-f2be4ef6",path:"/Development/GreenfieldExample-PHP/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-f2be4ef6").then(n)}},{path:"/Development/GreenfieldExample-PHP/index.html",redirect:"/Development/GreenfieldExample-PHP/"},{path:"/Development/GreenfieldExample-PHP.html",redirect:"/Development/GreenfieldExample-PHP/"},{name:"v-3d044e45",path:"/Development/InvoiceMetadata/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3d044e45").then(n)}},{path:"/Development/InvoiceMetadata/index.html",redirect:"/Development/InvoiceMetadata/"},{path:"/Development/InvoiceMetadata.html",redirect:"/Development/InvoiceMetadata/"},{name:"v-ede35016",path:"/Development/LocalDev/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-ede35016").then(n)}},{path:"/Development/LocalDev/index.html",redirect:"/Development/LocalDev/"},{path:"/Development/LocalDev.html",redirect:"/Development/LocalDev/"},{name:"v-7daf4329",path:"/Development/LocalDevelopment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7daf4329").then(n)}},{path:"/Development/LocalDevelopment/index.html",redirect:"/Development/LocalDevelopment/"},{path:"/Development/LocalDevelopment.html",redirect:"/Development/LocalDevelopment/"},{name:"v-6f03bcc5",path:"/Development/Plugins/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6f03bcc5").then(n)}},{path:"/Development/Plugins/index.html",redirect:"/Development/Plugins/"},{path:"/Development/Plugins.html",redirect:"/Development/Plugins/"},{name:"v-8ade6c04",path:"/Development/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8ade6c04").then(n)}},{path:"/Development/index.html",redirect:"/Development/"},{name:"v-19638485",path:"/Development/TestnetDemo/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-19638485").then(n)}},{path:"/Development/TestnetDemo/index.html",redirect:"/Development/TestnetDemo/"},{path:"/Development/TestnetDemo.html",redirect:"/Development/TestnetDemo/"},{name:"v-06e5e8b6",path:"/Development/Theme/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-06e5e8b6").then(n)}},{path:"/Development/Theme/index.html",redirect:"/Development/Theme/"},{path:"/Development/Theme.html",redirect:"/Development/Theme/"},{name:"v-3a2a5ff4",path:"/Docker/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3a2a5ff4").then(n)}},{path:"/Docker/index.html",redirect:"/Docker/"},{name:"v-bcc9c0f6",path:"/Docker/backup-restore/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bcc9c0f6").then(n)}},{path:"/Docker/backup-restore/index.html",redirect:"/Docker/backup-restore/"},{path:"/Docker/backup-restore.html",redirect:"/Docker/backup-restore/"},{name:"v-52901cc5",path:"/Docker/chatwoot/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-52901cc5").then(n)}},{path:"/Docker/chatwoot/index.html",redirect:"/Docker/chatwoot/"},{path:"/Docker/chatwoot.html",redirect:"/Docker/chatwoot/"},{name:"v-aeaaf052",path:"/Docker/cloudflare-tunnel/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-aeaaf052").then(n)}},{path:"/Docker/cloudflare-tunnel/index.html",redirect:"/Docker/cloudflare-tunnel/"},{path:"/Docker/cloudflare-tunnel.html",redirect:"/Docker/cloudflare-tunnel/"},{name:"v-e159d7f6",path:"/Docker/fastsync/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-e159d7f6").then(n)}},{path:"/Docker/fastsync/index.html",redirect:"/Docker/fastsync/"},{path:"/Docker/fastsync.html",redirect:"/Docker/fastsync/"},{name:"v-2d316036",path:"/Docker/fireflyiii/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-2d316036").then(n)}},{path:"/Docker/fireflyiii/index.html",redirect:"/Docker/fireflyiii/"},{path:"/Docker/fireflyiii.html",redirect:"/Docker/fireflyiii/"},{name:"v-67ccefa5",path:"/Docker/joinmarket/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-67ccefa5").then(n)}},{path:"/Docker/joinmarket/index.html",redirect:"/Docker/joinmarket/"},{path:"/Docker/joinmarket.html",redirect:"/Docker/joinmarket/"},{name:"v-3d266a05",path:"/Docker/lightning-terminal/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3d266a05").then(n)}},{path:"/Docker/lightning-terminal/index.html",redirect:"/Docker/lightning-terminal/"},{path:"/Docker/lightning-terminal.html",redirect:"/Docker/lightning-terminal/"},{name:"v-bf626e76",path:"/Docker/ndlc/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-bf626e76").then(n)}},{path:"/Docker/ndlc/index.html",redirect:"/Docker/ndlc/"},{path:"/Docker/ndlc.html",redirect:"/Docker/ndlc/"},{name:"v-92a19676",path:"/Docker/pihole/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-92a19676").then(n)}},{path:"/Docker/pihole/index.html",redirect:"/Docker/pihole/"},{path:"/Docker/pihole.html",redirect:"/Docker/pihole/"},{name:"v-195b101b",path:"/Docker/tallycoin-connect/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-195b101b").then(n)}},{path:"/Docker/tallycoin-connect/index.html",redirect:"/Docker/tallycoin-connect/"},{path:"/Docker/tallycoin-connect.html",redirect:"/Docker/tallycoin-connect/"},{name:"v-b69e09ee",path:"/Drupal/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-b69e09ee").then(n)}},{path:"/Drupal/index.html",redirect:"/Drupal/"},{path:"/Drupal.html",redirect:"/Drupal/"},{name:"v-14b9fcf5",path:"/ElectrumPersonalServer/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-14b9fcf5").then(n)}},{path:"/ElectrumPersonalServer/index.html",redirect:"/ElectrumPersonalServer/"},{path:"/ElectrumPersonalServer.html",redirect:"/ElectrumPersonalServer/"},{name:"v-6dcde349",path:"/ElectrumWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6dcde349").then(n)}},{path:"/ElectrumWallet/index.html",redirect:"/ElectrumWallet/"},{path:"/ElectrumWallet.html",redirect:"/ElectrumWallet/"},{name:"v-1e8449a5",path:"/ElectrumX/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1e8449a5").then(n)}},{path:"/ElectrumX/index.html",redirect:"/ElectrumX/"},{path:"/ElectrumX.html",redirect:"/ElectrumX/"},{name:"v-5a7c8936",path:"/FAQ/Altcoin/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5a7c8936").then(n)}},{path:"/FAQ/Altcoin/index.html",redirect:"/FAQ/Altcoin/"},{path:"/FAQ/Altcoin.html",redirect:"/FAQ/Altcoin/"},{name:"v-0fd6afca",path:"/FAQ/Apps/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0fd6afca").then(n)}},{path:"/FAQ/Apps/index.html",redirect:"/FAQ/Apps/"},{path:"/FAQ/Apps.html",redirect:"/FAQ/Apps/"},{name:"v-02bea796",path:"/FAQ/Deployment/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-02bea796").then(n)}},{path:"/FAQ/Deployment/index.html",redirect:"/FAQ/Deployment/"},{path:"/FAQ/Deployment.html",redirect:"/FAQ/Deployment/"},{name:"v-b4e335b6",path:"/FAQ/General/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-b4e335b6").then(n)}},{path:"/FAQ/General/index.html",redirect:"/FAQ/General/"},{path:"/FAQ/General.html",redirect:"/FAQ/General/"},{name:"v-dec9d2fe",path:"/FAQ/Integrations/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-dec9d2fe").then(n)}},{path:"/FAQ/Integrations/index.html",redirect:"/FAQ/Integrations/"},{path:"/FAQ/Integrations.html",redirect:"/FAQ/Integrations/"},{name:"v-42e075f7",path:"/FAQ/LightningNetwork/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-42e075f7").then(n)}},{path:"/FAQ/LightningNetwork/index.html",redirect:"/FAQ/LightningNetwork/"},{path:"/FAQ/LightningNetwork.html",redirect:"/FAQ/LightningNetwork/"},{name:"v-78e9ef70",path:"/FAQ/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-78e9ef70").then(n)}},{path:"/FAQ/index.html",redirect:"/FAQ/"},{name:"v-0763789a",path:"/FAQ/ServerSettings/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0763789a").then(n)}},{path:"/FAQ/ServerSettings/index.html",redirect:"/FAQ/ServerSettings/"},{path:"/FAQ/ServerSettings.html",redirect:"/FAQ/ServerSettings/"},{name:"v-1eb7e25b",path:"/FAQ/Stores/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1eb7e25b").then(n)}},{path:"/FAQ/Stores/index.html",redirect:"/FAQ/Stores/"},{path:"/FAQ/Stores.html",redirect:"/FAQ/Stores/"},{name:"v-0c2701b6",path:"/FAQ/Synchronization/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0c2701b6").then(n)}},{path:"/FAQ/Synchronization/index.html",redirect:"/FAQ/Synchronization/"},{path:"/FAQ/Synchronization.html",redirect:"/FAQ/Synchronization/"},{name:"v-65060acd",path:"/FAQ/Wallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-65060acd").then(n)}},{path:"/FAQ/Wallet/index.html",redirect:"/FAQ/Wallet/"},{path:"/FAQ/Wallet.html",redirect:"/FAQ/Wallet/"},{name:"v-7900ca36",path:"/Forms/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7900ca36").then(n)}},{path:"/Forms/index.html",redirect:"/Forms/"},{path:"/Forms.html",redirect:"/Forms/"},{name:"v-51796845",path:"/Guide/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-51796845").then(n)}},{path:"/Guide/index.html",redirect:"/Guide/"},{path:"/Guide.html",redirect:"/Guide/"},{name:"v-2ad91fe5",path:"/HardwareWalletIntegration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-2ad91fe5").then(n)}},{path:"/HardwareWalletIntegration/index.html",redirect:"/HardwareWalletIntegration/"},{path:"/HardwareWalletIntegration.html",redirect:"/HardwareWalletIntegration/"},{name:"v-3526ef36",path:"/Invoices/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-3526ef36").then(n)}},{path:"/Invoices/index.html",redirect:"/Invoices/"},{path:"/Invoices.html",redirect:"/Invoices/"},{name:"v-9b2edb34",path:"/LNDhubAPI/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9b2edb34").then(n)}},{path:"/LNDhubAPI/index.html",redirect:"/LNDhubAPI/"},{name:"v-60c4a545",path:"/LNbank/LNDhub/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-60c4a545").then(n)}},{path:"/LNbank/LNDhub/index.html",redirect:"/LNbank/LNDhub/"},{path:"/LNbank/LNDhub.html",redirect:"/LNbank/LNDhub/"},{name:"v-21ea7c46",path:"/LNbank/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-21ea7c46").then(n)}},{path:"/LNbank/index.html",redirect:"/LNbank/"},{name:"v-7a7299c2",path:"/LNbank/Troubleshooting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7a7299c2").then(n)}},{path:"/LNbank/Troubleshooting/index.html",redirect:"/LNbank/Troubleshooting/"},{path:"/LNbank/Troubleshooting.html",redirect:"/LNbank/Troubleshooting/"},{name:"v-1a5789ad",path:"/LedgerWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1a5789ad").then(n)}},{path:"/LedgerWallet/index.html",redirect:"/LedgerWallet/"},{path:"/LedgerWallet.html",redirect:"/LedgerWallet/"},{name:"v-6761eaa9",path:"/LightningNetwork/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6761eaa9").then(n)}},{path:"/LightningNetwork/index.html",redirect:"/LightningNetwork/"},{path:"/LightningNetwork.html",redirect:"/LightningNetwork/"},{name:"v-25de27bb",path:"/LightningNetwork_PaymentChannels/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-25de27bb").then(n)}},{path:"/LightningNetwork_PaymentChannels/index.html",redirect:"/LightningNetwork_PaymentChannels/"},{path:"/LightningNetwork_PaymentChannels.html",redirect:"/LightningNetwork_PaymentChannels/"},{name:"v-78fb4ca5",path:"/Magento/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-78fb4ca5").then(n)}},{path:"/Magento/index.html",redirect:"/Magento/"},{path:"/Magento.html",redirect:"/Magento/"},{name:"v-20a8c736",path:"/NBXplorer/API/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-20a8c736").then(n)}},{path:"/NBXplorer/API/index.html",redirect:"/NBXplorer/API/"},{path:"/NBXplorer/API.html",redirect:"/NBXplorer/API/"},{name:"v-eee9bb82",path:"/NBXplorer/Postgres-Migration/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-eee9bb82").then(n)}},{path:"/NBXplorer/Postgres-Migration/index.html",redirect:"/NBXplorer/Postgres-Migration/"},{path:"/NBXplorer/Postgres-Migration.html",redirect:"/NBXplorer/Postgres-Migration/"},{name:"v-6a07ad05",path:"/NBXplorer/Postgres-Schema/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-6a07ad05").then(n)}},{path:"/NBXplorer/Postgres-Schema/index.html",redirect:"/NBXplorer/Postgres-Schema/"},{path:"/NBXplorer/Postgres-Schema.html",redirect:"/NBXplorer/Postgres-Schema/"},{name:"v-e3db5fd8",path:"/NBXplorer/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-e3db5fd8").then(n)}},{path:"/NBXplorer/index.html",redirect:"/NBXplorer/"},{name:"v-2352e414",path:"/Nostr/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-2352e414").then(n)}},{path:"/Nostr/index.html",redirect:"/Nostr/"},{name:"v-88980e76",path:"/Notifications/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-88980e76").then(n)}},{path:"/Notifications/index.html",redirect:"/Notifications/"},{path:"/Notifications.html",redirect:"/Notifications/"},{name:"v-8d0f1fc6",path:"/OpenCart/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8d0f1fc6").then(n)}},{path:"/OpenCart/index.html",redirect:"/OpenCart/"},{path:"/OpenCart.html",redirect:"/OpenCart/"},{name:"v-15132f85",path:"/Payjoin/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-15132f85").then(n)}},{path:"/Payjoin/index.html",redirect:"/Payjoin/"},{path:"/Payjoin.html",redirect:"/Payjoin/"},{name:"v-e98912f6",path:"/PaymentRequests/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-e98912f6").then(n)}},{path:"/PaymentRequests/index.html",redirect:"/PaymentRequests/"},{path:"/PaymentRequests.html",redirect:"/PaymentRequests/"},{name:"v-15dab665",path:"/Payouts/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-15dab665").then(n)}},{path:"/Payouts/index.html",redirect:"/Payouts/"},{path:"/Payouts.html",redirect:"/Payouts/"},{name:"v-49efd338",path:"/PodServer/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-49efd338").then(n)}},{path:"/PodServer/index.html",redirect:"/PodServer/"},{name:"v-68f6ac6a",path:"/PrestaShop/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-68f6ac6a").then(n)}},{path:"/PrestaShop/index.html",redirect:"/PrestaShop/"},{path:"/PrestaShop.html",redirect:"/PrestaShop/"},{name:"v-f5202af6",path:"/RegisterAccount/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-f5202af6").then(n)}},{path:"/RegisterAccount/index.html",redirect:"/RegisterAccount/"},{path:"/RegisterAccount.html",redirect:"/RegisterAccount/"},{name:"v-40e08a05",path:"/Reporting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-40e08a05").then(n)}},{path:"/Reporting/index.html",redirect:"/Reporting/"},{path:"/Reporting.html",redirect:"/Reporting/"},{name:"v-0597b005",path:"/Shopify/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0597b005").then(n)}},{path:"/Shopify/index.html",redirect:"/Shopify/"},{path:"/Shopify.html",redirect:"/Shopify/"},{name:"v-21fce50b",path:"/Shopware/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-21fce50b").then(n)}},{path:"/Shopware/index.html",redirect:"/Shopware/"},{path:"/Shopware.html",redirect:"/Shopware/"},{name:"v-7c2268b6",path:"/Support/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7c2268b6").then(n)}},{path:"/Support/index.html",redirect:"/Support/"},{path:"/Support.html",redirect:"/Support/"},{name:"v-50ea01b4",path:"/TicketTailor/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-50ea01b4").then(n)}},{path:"/TicketTailor/index.html",redirect:"/TicketTailor/"},{name:"v-937bc12e",path:"/Transmuter/DCA/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-937bc12e").then(n)}},{path:"/Transmuter/DCA/index.html",redirect:"/Transmuter/DCA/"},{path:"/Transmuter/DCA.html",redirect:"/Transmuter/DCA/"},{name:"v-9c5e78fe",path:"/Transmuter/EmailReceiptsPreset/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-9c5e78fe").then(n)}},{path:"/Transmuter/EmailReceiptsPreset/index.html",redirect:"/Transmuter/EmailReceiptsPreset/"},{path:"/Transmuter/EmailReceiptsPreset.html",redirect:"/Transmuter/EmailReceiptsPreset/"},{name:"v-784978e6",path:"/Transmuter/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-784978e6").then(n)}},{path:"/Transmuter/index.html",redirect:"/Transmuter/"},{name:"v-604d19c6",path:"/Trocador/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-604d19c6").then(n)}},{path:"/Trocador/index.html",redirect:"/Trocador/"},{name:"v-36032c85",path:"/Troubleshooting/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-36032c85").then(n)}},{path:"/Troubleshooting/index.html",redirect:"/Troubleshooting/"},{path:"/Troubleshooting.html",redirect:"/Troubleshooting/"},{name:"v-31f01d3e",path:"/TryItOut/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-31f01d3e").then(n)}},{path:"/TryItOut/index.html",redirect:"/TryItOut/"},{path:"/TryItOut.html",redirect:"/TryItOut/"},{name:"v-d4151eb6",path:"/UseCase/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-d4151eb6").then(n)}},{path:"/UseCase/index.html",redirect:"/UseCase/"},{path:"/UseCase.html",redirect:"/UseCase/"},{name:"v-63822f36",path:"/Vault/HowToVerify/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-63822f36").then(n)}},{path:"/Vault/HowToVerify/index.html",redirect:"/Vault/HowToVerify/"},{path:"/Vault/HowToVerify.html",redirect:"/Vault/HowToVerify/"},{name:"v-dae82c60",path:"/Vault/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-dae82c60").then(n)}},{path:"/Vault/index.html",redirect:"/Vault/"},{name:"v-0e38183b",path:"/VirtueMart/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-0e38183b").then(n)}},{path:"/VirtueMart/index.html",redirect:"/VirtueMart/"},{path:"/VirtueMart.html",redirect:"/VirtueMart/"},{name:"v-315abc86",path:"/Wabisabi/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-315abc86").then(n)}},{path:"/Wabisabi/index.html",redirect:"/Wabisabi/"},{name:"v-5bcac676",path:"/Walkthrough/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-5bcac676").then(n)}},{path:"/Walkthrough/index.html",redirect:"/Walkthrough/"},{path:"/Walkthrough.html",redirect:"/Walkthrough/"},{name:"v-13a93ebf",path:"/Wallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-13a93ebf").then(n)}},{path:"/Wallet/index.html",redirect:"/Wallet/"},{path:"/Wallet.html",redirect:"/Wallet/"},{name:"v-8c111c76",path:"/WalletSetup/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-8c111c76").then(n)}},{path:"/WalletSetup/index.html",redirect:"/WalletSetup/"},{path:"/WalletSetup.html",redirect:"/WalletSetup/"},{name:"v-7d101341",path:"/WasabiWallet/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-7d101341").then(n)}},{path:"/WasabiWallet/index.html",redirect:"/WasabiWallet/"},{path:"/WasabiWallet.html",redirect:"/WasabiWallet/"},{name:"v-53d8e985",path:"/WhatsNext/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-53d8e985").then(n)}},{path:"/WhatsNext/index.html",redirect:"/WhatsNext/"},{path:"/WhatsNext.html",redirect:"/WhatsNext/"},{name:"v-faa5f0f6",path:"/WooCommerce/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-faa5f0f6").then(n)}},{path:"/WooCommerce/index.html",redirect:"/WooCommerce/"},{path:"/WooCommerce.html",redirect:"/WooCommerce/"},{name:"v-a6ea6734",path:"/Zapier/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-a6ea6734").then(n)}},{path:"/Zapier/index.html",redirect:"/Zapier/"},{name:"v-51df4a0d",path:"/PullPayments/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-51df4a0d").then(n)}},{path:"/PullPayments/index.html",redirect:"/PullPayments/"},{path:"/PullPayments.html",redirect:"/PullPayments/"},{name:"v-1dfa3141",path:"/Refund/",component:$l,beforeEnter:(e,t,n)=>{ul("Layout","v-1dfa3141").then(n)}},{path:"/Refund/index.html",redirect:"/Refund/"},{path:"/Refund.html",redirect:"/Refund/"},{name:"v-dde32bd4",path:"/",component:$l,beforeEnter:(e,t,n)=>{ul("Homepage","v-dde32bd4").then(n)}},{path:"/index.html",redirect:"/"},{path:"*",component:$l}],zl={title:"BTCPay Server",description:"BTCPay Server Official Documentation",base:"/",headTags:[["meta",{name:"viewport",content:"width=device-width,initial-scale=1.0"}],["link",{rel:"stylesheet",href:"/styles/btcpayserver-variables.css"}]],pages:[{title:"Forms",frontmatter:{},regularPath:"/AdvancedForms.html",relativePath:"AdvancedForms.md",key:"v-128c2a25",path:"/AdvancedForms/",headers:[{level:2,title:"Well-known field names",slug:"well-known-field-names"},{level:2,title:"Mirror fields",slug:"mirror-fields"},{level:2,title:"Pre-filling form values",slug:"pre-filling-form-values"}]},{title:"BTCPay Server Apps",frontmatter:{description:"Apps allow users an easy way to extend BTCPay Server.",tags:["BTCPay Server","Apps","Point of Sale","Crowdfunding","Payment Button"]},regularPath:"/Apps.html",relativePath:"Apps.md",key:"v-03334e4d",path:"/Apps/",headers:[{level:2,title:"Point of Sale App",slug:"point-of-sale-app"},{level:2,title:"Crowdfunding App",slug:"crowdfunding-app"},{level:2,title:"Payment Button",slug:"payment-button"},{level:3,title:"Payment Button for React Developers",slug:"payment-button-for-react-developers"}]},{title:"Tooling",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/LocalDevSetup.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/LocalDevSetup.html",relativePath:"BTCPayServer/LocalDevSetup.md",key:"v-68028296",path:"/BTCPayServer/LocalDevSetup/",headers:[{level:2,title:"How to manually test payments",slug:"how-to-manually-test-payments"},{level:3,title:"Using the test bitcoin-cli",slug:"using-the-test-bitcoin-cli"},{level:3,title:"Using Polar to test Lightning payments",slug:"using-polar-to-test-lightning-payments"},{level:3,title:"Using the test litecoin-cli",slug:"using-the-test-litecoin-cli"},{level:3,title:"Using the test lightning-cli",slug:"using-the-test-lightning-cli"},{level:3,title:"Alternative Lightning testing: Using Polar to test Lightning payments",slug:"alternative-lightning-testing-using-polar-to-test-lightning-payments"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"docker-compose up dev failed or tests are not passing, what should I do?",slug:"docker-compose-up-dev-failed-or-tests-are-not-passing-what-should-i-do"},{level:3,title:"How to run the Altcoin environment?",slug:"how-to-run-the-altcoin-environment"},{level:3,title:"How to run the Selenium test with a browser?",slug:"how-to-run-the-selenium-test-with-a-browser"},{level:3,title:"Session not created: This version of ChromeDriver only supports Chrome version 88",slug:"session-not-created-this-version-of-chromedriver-only-supports-chrome-version-88"}]},{title:"Reporting a potential Vulnerability.",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/SECURITY.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/Security.html",relativePath:"BTCPayServer/Security.md",key:"v-3b19ebb6",path:"/BTCPayServer/Security/"},{title:"Migration from SQLite and MySQL to Postgres",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/db-migration.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/db-migration.html",relativePath:"BTCPayServer/db-migration.md",key:"v-9b4e0776",path:"/BTCPayServer/db-migration/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"Procedure",slug:"procedure"},{level:2,title:"Known issues",slug:"known-issues"}]},{title:"GreenField API Authorization Flow",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/greenfield-authorization.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/greenfield-authorization.html",relativePath:"BTCPayServer/greenfield-authorization.md",key:"v-c3e4e676",path:"/BTCPayServer/greenfield-authorization/",headers:[{level:2,title:"Basic auth",slug:"basic-auth"},{level:2,title:"API Keys",slug:"api-keys"}]},{title:"GreenField API Development Documentation",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver/edit/master/docs/greenfield-development.md",externalRepo:"https://github.com/btcpayserver/btcpayserver"},regularPath:"/BTCPayServer/greenfield-development.html",relativePath:"BTCPayServer/greenfield-development.md",key:"v-4c4d56f6",path:"/BTCPayServer/greenfield-development/",headers:[{level:2,title:"Adding new API endpoints",slug:"adding-new-api-endpoints"},{level:2,title:"Updating existing API endpoints",slug:"updating-existing-api-endpoints"},{level:3,title:"Scenario 1: Changing a property type on the model",slug:"scenario-1-changing-a-property-type-on-the-model"},{level:3,title:"Scenario 2: Removing a property on the model",slug:"scenario-2-removing-a-property-on-the-model"},{level:3,title:"Scenario 3: Adding a property on the model",slug:"scenario-3-adding-a-property-on-the-model"},{level:2,title:"Technical specifics",slug:"technical-specifics"},{level:3,title:"Detecting missing properties in a JSON model.",slug:"detecting-missing-properties-in-a-json-model"}]},{title:"BTCPay Server vs. Others",frontmatter:{},regularPath:"/BTCPayVsOthers.html",relativePath:"BTCPayVsOthers.md",key:"v-4d775b7a",path:"/BTCPayVsOthers/",headers:[{level:2,title:"Features",slug:"features"},{level:2,title:"Cost",slug:"cost"},{level:2,title:"Security",slug:"security"},{level:2,title:"Privacy",slug:"privacy"},{level:2,title:"Censorship-Resistance",slug:"censorship-resistance"},{level:2,title:"Decentralized",slug:"decentralized"},{level:2,title:"Fiat",slug:"fiat"},{level:2,title:"Can't find this information for other payment processors?",slug:"cant-find-this-information-for-other-payment-processors"}]},{title:"Connecting Coldcard Wallet to BTCPay Server",frontmatter:{},regularPath:"/ColdCardWallet.html",relativePath:"ColdCardWallet.md",key:"v-61d8fd52",path:"/ColdCardWallet/",headers:[{level:2,title:"Coldcard Wallet Setup",slug:"coldcard-wallet-setup"},{level:3,title:"Quick Setup",slug:"quick-setup"},{level:3,title:"Spending from BTCPay Server wallet with Coldcard (PSBT)",slug:"spending-from-btcpay-server-wallet-with-coldcard-psbt"}]},{title:"Community",frontmatter:{},regularPath:"/Community.html",relativePath:"Community.md",key:"v-bc3ce3b6",path:"/Community/"},{title:"Deploy BTCPay with Configurator",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-configurator/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-configurator"},regularPath:"/Configurator/",relativePath:"Configurator/README.md",key:"v-64599034",path:"/Configurator/",headers:[{level:2,title:"Option 1: Add as an external service to BTCPay",slug:"option-1-add-as-an-external-service-to-btcpay"},{level:2,title:"Option 2: Build locally with Docker",slug:"option-2-build-locally-with-docker"},{level:2,title:"Export Manual Configuration",slug:"export-manual-configuration"},{level:2,title:"Privacy & Security Concerns",slug:"privacy-security-concerns"}]},{title:"Connect an existing wallet",frontmatter:{},regularPath:"/ConnectWallet.html",relativePath:"ConnectWallet.md",key:"v-9d2d2936",path:"/ConnectWallet/",headers:[{level:2,title:"Connect an existing wallet",slug:"connect-an-existing-wallet"},{level:3,title:"Connect hardware wallet",slug:"connect-hardware-wallet"},{level:3,title:"Import Wallet file",slug:"import-wallet-file"},{level:3,title:"Enter extended public key",slug:"enter-extended-public-key"},{level:3,title:"Scan wallet QR code",slug:"scan-wallet-qr-code"},{level:3,title:"Enter wallet seed",slug:"enter-wallet-seed"}]},{title:"Design BTCPay Server",frontmatter:{},regularPath:"/Contribute/Design.html",relativePath:"Contribute/Design.md",key:"v-bac53276",path:"/Contribute/Design/",headers:[{level:2,title:"Why designing matters",slug:"why-designing-matters"}]},{title:"Coding BTCPay Server",frontmatter:{},regularPath:"/Contribute/Dev.html",relativePath:"Contribute/Dev.md",key:"v-0516060b",path:"/Contribute/Dev/",headers:[{level:2,title:"Why coding matters",slug:"why-coding-matters"},{level:2,title:"Where to start",slug:"where-to-start"},{level:3,title:"Setup Developer Environment",slug:"setup-developer-environment"},{level:3,title:"Local BTCPay Development",slug:"local-btcpay-development"},{level:3,title:"Local BTCPay Testing",slug:"local-btcpay-testing"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Videos",slug:"videos"}]},{title:"Setup Developer Environment",frontmatter:{},regularPath:"/Contribute/DevCode.html",relativePath:"Contribute/DevCode.md",key:"v-6762cd1e",path:"/Contribute/DevCode/",headers:[{level:2,title:"Developer Resources",slug:"developer-resources"},{level:2,title:"Windows Setup Software",slug:"windows-setup-software"},{level:2,title:"Git Setup",slug:"git-setup"},{level:3,title:"Fork BTCPay Server Repository",slug:"fork-btcpay-server-repository"},{level:3,title:"Clone BTCPay Server Repository",slug:"clone-btcpay-server-repository"},{level:3,title:"Create a Development Feature Branch",slug:"create-a-development-feature-branch"},{level:2,title:"Local BTCPay Setup",slug:"local-btcpay-setup"},{level:3,title:"Bitcoin Regtest Network Setup",slug:"bitcoin-regtest-network-setup"},{level:3,title:"Build Local BTCPay Server in Browser Mode",slug:"build-local-btcpay-server-in-browser-mode"},{level:3,title:"Visual Studio Setup",slug:"visual-studio-setup"},{level:3,title:"Build Local BTCPay Server in Debug Mode",slug:"build-local-btcpay-server-in-debug-mode"},{level:3,title:"Visual Studio Code Changes In Your Local BTCPay Server",slug:"visual-studio-code-changes-in-your-local-btcpay-server"},{level:2,title:"Git Maintenance",slug:"git-maintenance"},{level:3,title:"Sync Forked BTCPay Server Repository",slug:"sync-forked-btcpay-server-repository"},{level:3,title:"Commit Code To Make Pull Request",slug:"commit-code-to-make-pull-request"},{level:3,title:"Create a Branch of a Pull Request",slug:"create-a-branch-of-a-pull-request"},{level:3,title:"Delete Local Branch",slug:"delete-local-branch"},{level:2,title:"Working with Docker Containers",slug:"working-with-docker-containers"},{level:2,title:"Greenfield API Development",slug:"greenfield-api-development"},{level:2,title:"Working with the Database",slug:"working-with-the-database"},{level:2,title:"Questions",slug:"questions"}]},{title:"Testing BTCPay Server",frontmatter:{},regularPath:"/Contribute/DevTest.html",relativePath:"Contribute/DevTest.md",key:"v-a46e67b2",path:"/Contribute/DevTest/",headers:[{level:2,title:"Setup Regtest Network and Local BTCPay Server",slug:"setup-regtest-network-and-local-btcpay-server"},{level:2,title:"Using Docker Images for Mainnet Testing",slug:"using-docker-images-for-mainnet-testing"},{level:2,title:"Create Invoice",slug:"create-invoice"},{level:2,title:"Pay Invoice",slug:"pay-invoice"},{level:2,title:"Testers FAQ",slug:"testers-faq"},{level:3,title:"Start Debugging gives Error: No connection could be made because the target machine actively refused it. 127.0.0.1:39372",slug:"start-debugging-gives-error-no-connection-could-be-made-because-the-target-machine-actively-refused-it-12700139372"},{level:3,title:"Regtest payments are not showing as confirmed?",slug:"regtest-payments-are-not-showing-as-confirmed"},{level:3,title:"Which branch should be tested for major releases?",slug:"which-branch-should-be-tested-for-major-releases"},{level:3,title:"Can I mark an invoice as paid?",slug:"can-i-mark-an-invoice-as-paid"}]},{title:"Contributing to BTCPay Server in other ways",frontmatter:{},regularPath:"/Contribute/Misc.html",relativePath:"Contribute/Misc.md",key:"v-a39385f6",path:"/Contribute/Misc/",headers:[{level:2,title:"Create Videos & Graphics",slug:"create-videos-graphics"},{level:2,title:"Hosting Providers",slug:"hosting-providers"},{level:2,title:"Contribute to the Directory",slug:"contribute-to-the-directory"},{level:2,title:"Project Discussions",slug:"project-discussions"},{level:2,title:"Community",slug:"community"},{level:2,title:"Spreading the word",slug:"spreading-the-word"}]},{title:"How to contribute to BTCPay Server?",frontmatter:{},regularPath:"/Contribute/",relativePath:"Contribute/README.md",key:"v-9909a134",path:"/Contribute/"},{title:"Translating BTCPay Server",frontmatter:{},regularPath:"/Contribute/Translate.html",relativePath:"Contribute/Translate.md",key:"v-3e89bcce",path:"/Contribute/Translate/",headers:[{level:2,title:"Why translations matter",slug:"why-translations-matter"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Step 1: View Existing Translations",slug:"step-1-view-existing-translations"},{level:2,title:"Step 2: Start New Translation",slug:"step-2-start-new-translation"},{level:2,title:"Step 3: Translation",slug:"step-3-translation"},{level:2,title:"Translation Tips",slug:"translation-tips"},{level:3,title:"Variables",slug:"variables"},{level:3,title:"Notifications",slug:"notifications"},{level:2,title:"Get help, ask questions",slug:"get-help-ask-questions"}]},{title:"Documenting BTCPay Server",frontmatter:{},regularPath:"/Contribute/Write.html",relativePath:"Contribute/Write.md",key:"v-5c41b537",path:"/Contribute/Write/",headers:[{level:2,title:"Why documentation matters",slug:"why-documentation-matters"},{level:2,title:"BTCPay Documentation",slug:"btcpay-documentation"},{level:2,title:"BTCPay Blog",slug:"btcpay-blog"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Recommended software",slug:"recommended-software"},{level:3,title:"Text Editor",slug:"text-editor"},{level:3,title:"Version Control",slug:"version-control"}]},{title:"Contribute to the blog",frontmatter:{},regularPath:"/Contribute/WriteBlog.html",relativePath:"Contribute/WriteBlog.md",key:"v-af48c69a",path:"/Contribute/WriteBlog/"},{title:"Contribute to the documentation",frontmatter:{},regularPath:"/Contribute/WriteDocs.html",relativePath:"Contribute/WriteDocs.md",key:"v-43a641c1",path:"/Contribute/WriteDocs/"},{title:"Contribute to the software stack",frontmatter:{},regularPath:"/Contribute/WriteSoftware.html",relativePath:"Contribute/WriteSoftware.md",key:"v-28bb6fe9",path:"/Contribute/WriteSoftware/",headers:[{level:2,title:"Step 1",slug:"step-1"},{level:2,title:"Step 2",slug:"step-2"},{level:2,title:"Step 3",slug:"step-3"},{level:2,title:"Step 4",slug:"step-4"},{level:2,title:"Step 5",slug:"step-5"}]},{title:"(2) Create a store",frontmatter:{},regularPath:"/CreateStore.html",relativePath:"CreateStore.md",key:"v-8e93b036",path:"/CreateStore/",headers:[{level:2,title:"Creating a Store in BTCPay Server",slug:"creating-a-store-in-btcpay-server"},{level:2,title:"Customizing your BTCPay Store Settings",slug:"customizing-your-btcpay-store-settings"}]},{title:"Create a new wallet",frontmatter:{},regularPath:"/CreateWallet.html",relativePath:"CreateWallet.md",key:"v-1ce314c7",path:"/CreateWallet/",headers:[{level:3,title:"Hot Wallet",slug:"hot-wallet"},{level:3,title:"Watch-only wallet",slug:"watch-only-wallet"}]},{title:"Using the BTCPay API for Custom Integration",frontmatter:{},regularPath:"/CustomIntegration.html",relativePath:"CustomIntegration.md",key:"v-11279236",path:"/CustomIntegration/",headers:[{level:2,title:"Official Client Libraries",slug:"official-client-libraries"},{level:2,title:"Accessing the API Manually",slug:"accessing-the-api-manually"},{level:2,title:"Pairing process",slug:"pairing-process"},{level:3,title:"Client side pairing",slug:"client-side-pairing"},{level:3,title:"Server side pairing",slug:"server-side-pairing"},{level:2,title:"Note",slug:"note"},{level:2,title:"Modal Checkout",slug:"modal-checkout"}]},{title:"Dashboard",frontmatter:{},regularPath:"/Dashboard.html",relativePath:"Dashboard.md",key:"v-ba716776",path:"/Dashboard/",headers:[{level:2,title:"Dashboard tiles",slug:"dashboard-tiles"},{level:3,title:"Wallet Balance",slug:"wallet-balance"},{level:3,title:"Transaction activity",slug:"transaction-activity"},{level:3,title:"Lightning Balance",slug:"lightning-balance"},{level:3,title:"Lightning Services",slug:"lightning-services"},{level:3,title:"Recent Transactions",slug:"recent-transactions"},{level:3,title:"Recent invoices",slug:"recent-invoices"},{level:3,title:"Current active crowdfund",slug:"current-active-crowdfund"}]},{title:"Azure Deployment",frontmatter:{},regularPath:"/Deployment/Azure.html",relativePath:"Deployment/Azure.md",key:"v-17b4e927",path:"/Deployment/Azure/",headers:[{level:2,title:"One-click setup",slug:"one-click-setup"}]},{title:"How to penny-pinch your Azure deployment",frontmatter:{},regularPath:"/Deployment/AzurePennyPinching.html",relativePath:"Deployment/AzurePennyPinching.md",key:"v-9ed60e36",path:"/Deployment/AzurePennyPinching/",headers:[{level:2,title:"How much am I spending now?",slug:"how-much-am-i-spending-now"},{level:2,title:"What is my current configuration",slug:"what-is-my-current-configuration"},{level:2,title:"Selecting a new Virtual Machine",slug:"selecting-a-new-virtual-machine"},{level:3,title:"FAQ: B1MS does not appear in the list",slug:"faq-b1ms-does-not-appear-in-the-list-"}]},{title:"Clovyr BTCPay Server web deployment.",frontmatter:{},regularPath:"/Deployment/Clovyr.html",relativePath:"Deployment/Clovyr.md",key:"v-784e0e36",path:"/Deployment/Clovyr/",headers:[{level:2,title:"1. Visit the Clovyer BTCPay Server launch page",slug:"1-visit-the-clovyer-btcpay-server-launch-page"},{level:2,title:"2. Account creation",slug:"2-account-creation"},{level:2,title:"3. Accessing BTCPay Server",slug:"3-accessing-btcpay-server"},{level:2,title:"4. Start your first store.",slug:"4-start-your-first-store"},{level:2,title:"5. Welcome to your BTCPay Server dashboard",slug:"5-welcome-to-your-btcpay-server-dashboard"},{level:2,title:"6. Billing",slug:"6-billing"}]},{title:"Dream Lab Network BTCPay Server web deployment.",frontmatter:{},regularPath:"/Deployment/DreamlabNetwork.html",relativePath:"Deployment/DreamlabNetwork.md",key:"v-f5865886",path:"/Deployment/DreamlabNetwork/",headers:[{level:2,title:"1. Pick the server that fits your needs",slug:"1-pick-the-server-that-fits-your-needs"},{level:2,title:"2. Configure your BTCPay Server",slug:"2-configure-your-btcpay-server"},{level:3,title:"Hostname",slug:"hostname"},{level:3,title:"Configurable Options",slug:"configurable-options"},{level:3,title:"Addition Information",slug:"addition-information"},{level:3,title:"Review & Checkout",slug:"review-checkout"},{level:2,title:"3. Client Area Dream Lab Network",slug:"3-client-area-dream-lab-network"},{level:2,title:"4. Start your first store.",slug:"4-start-your-first-store"},{level:2,title:"5. Welcome to your BTCPay Server dashboard",slug:"5-welcome-to-your-btcpay-server-dashboard"}]},{title:"Dynamic DNS Service",frontmatter:{},regularPath:"/Deployment/DynamicDNS.html",relativePath:"Deployment/DynamicDNS.md",key:"v-1aba0945",path:"/Deployment/DynamicDNS/",headers:[{level:2,title:"Motivation",slug:"motivation"},{level:2,title:"How to use",slug:"how-to-use"},{level:3,title:"Step 1: Create the domain",slug:"step-1-create-the-domain"},{level:3,title:"Step 2: Configure Dynamic DNS on BTCPay Server",slug:"step-2-configure-dynamic-dns-on-btcpay-server"},{level:3,title:"Step 3: Configure your BTCPay docker install to provide HTTPS certificates",slug:"step-3-configure-your-btcpay-docker-install-to-provide-https-certificates"}]},{title:"Google Cloud Deployment",frontmatter:{},regularPath:"/Deployment/GoogleCloud.html",relativePath:"Deployment/GoogleCloud.md",key:"v-6423130d",path:"/Deployment/GoogleCloud/",headers:[{level:2,title:"Google Cloud shell setup",slug:"google-cloud-shell-setup"}]},{title:"Hack0",frontmatter:{},regularPath:"/Deployment/Hack0.html",relativePath:"Deployment/Hack0.md",key:"v-4a79bbe7",path:"/Deployment/Hack0/",headers:[{level:2,title:"Hardware specification (for distributors)",slug:"hardware-specification-for-distributors"},{level:2,title:"Factory installation (for distributors)",slug:"factory-installation-for-distributors"},{level:2,title:"End user setup",slug:"end-user-setup"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"How to connect via SSH to your hack0?",slug:"how-to-connect-via-ssh-to-your-hack0"}]},{title:"Hardware Deployment",frontmatter:{},regularPath:"/Deployment/Hardware.html",relativePath:"Deployment/Hardware.md",key:"v-7afc10f6",path:"/Deployment/Hardware/"},{title:"Hardware As A Service",frontmatter:{},regularPath:"/Deployment/HardwareAsAService.html",relativePath:"Deployment/HardwareAsAService.md",key:"v-30d086c5",path:"/Deployment/HardwareAsAService/"},{title:"Hardware Deployment",frontmatter:{},regularPath:"/Deployment/LightningInABox.html",relativePath:"Deployment/LightningInABox.md",key:"v-45023d5a",path:"/Deployment/LightningInABox/"},{title:"Deploying BTCPay - LunaNode Web-Wizard",frontmatter:{},regularPath:"/Deployment/LunaNode.html",relativePath:"Deployment/LunaNode.md",key:"v-af8f8776",path:"/Deployment/LunaNode/",headers:[{level:2,title:"1. Create the account and add credits",slug:"1-create-the-account-and-add-credits"},{level:2,title:"2. Create the API Key",slug:"2-create-the-api-key"},{level:2,title:"3. Web-Wizard Deployment",slug:"3-web-wizard-deployment"},{level:2,title:"4. Additional customization (optional)",slug:"4-additional-customization-optional"}]},{title:"Minimal manual setup",frontmatter:{},regularPath:"/Deployment/ManualDeployment.html",relativePath:"Deployment/ManualDeployment.md",key:"v-8a00b836",path:"/Deployment/ManualDeployment/",headers:[{level:2,title:"Warning: Not recommended to use in production",slug:"warning-not-recommended-to-use-in-production"},{level:2,title:"Typical manual installation",slug:"typical-manual-installation"},{level:3,title:"1) Install Bitcoin Core 0.19.1",slug:"1-install-bitcoin-core-0191"},{level:3,title:"2) Install .NET 6.0 SDK",slug:"2-install-net-60-sdk"},{level:3,title:"3) Install NBXplorer",slug:"3-install-nbxplorer"},{level:3,title:"4) Install BTCPayServer",slug:"4-install-btcpayserver"},{level:3,title:"5) Run bitcoind",slug:"5-run-bitcoind"},{level:3,title:"6) Run NBXplorer",slug:"6-run-nbxplorer"},{level:3,title:"7) Run BTCPay Server",slug:"7-run-btcpay-server"},{level:2,title:"Testnet Specific Deployments",slug:"testnet-specific-deployments"},{level:3,title:"Run bitcoind in testnet mode",slug:"run-bitcoind-in-testnet-mode"},{level:3,title:"Run NBXplorer in testnet mode",slug:"run-nbxplorer-in-testnet-mode"},{level:3,title:"Run BTCPayServer in testnet mode",slug:"run-btcpayserver-in-testnet-mode"},{level:2,title:"Additional links",slug:"additional-links"}]},{title:"Extended Manual Setup",frontmatter:{},regularPath:"/Deployment/ManualDeploymentExtended.html",relativePath:"Deployment/ManualDeploymentExtended.md",key:"v-41065f05",path:"/Deployment/ManualDeploymentExtended/",headers:[{level:2,title:"Installation Steps Overview",slug:"installation-steps-overview"},{level:3,title:"Security",slug:"security"},{level:2,title:"Unprivileged user",slug:"unprivileged-user"},{level:3,title:"Prerequisites",slug:"prerequisites"},{level:3,title:"Application Components",slug:"application-components"},{level:2,title:"Postgresql",slug:"postgresql"},{level:2,title:"Tor",slug:"tor"},{level:2,title:"NGINX and Let's Encrypt",slug:"nginx-and-lets-encrypt"},{level:2,title:"Bitcoin Core",slug:"bitcoin-core"},{level:2,title:"NBXplorer",slug:"nbxplorer"},{level:2,title:"BTCPay Server",slug:"btcpay-server"},{level:2,title:"Lightning Network Daemon (LND)",slug:"lightning-network-daemon-lnd"},{level:2,title:"Ride The Lightning (RTL)",slug:"ride-the-lightning-rtl"},{level:2,title:"The End",slug:"the-end"},{level:3,title:"Questions",slug:"questions"}]},{title:"Choosing a Deployment Method",frontmatter:{},regularPath:"/Deployment/",relativePath:"Deployment/README.md",key:"v-d21f2f34",path:"/Deployment/",headers:[{level:2,title:"To choose one that will best suit your needs, consider the following:",slug:"to-choose-one-that-will-best-suit-your-needs-consider-the-following"}]},{title:"Raspberry Pi Deployment",frontmatter:{},regularPath:"/Deployment/RaspberryPi4.html",relativePath:"Deployment/RaspberryPi4.md",key:"v-5762b925",path:"/Deployment/RaspberryPi4/",headers:[{level:2,title:"Required Hardware",slug:"required-hardware"},{level:3,title:"Raspberry Pi 4",slug:"raspberry-pi-4"},{level:3,title:"Data Storage options",slug:"data-storage-options"},{level:3,title:"Power Adapter options",slug:"power-adapter-options"},{level:3,title:"Case and Cooling options",slug:"case-and-cooling-options"},{level:2,title:"Quickstart",slug:"quickstart"},{level:3,title:"Setting up the Raspberry Pi",slug:"setting-up-the-raspberry-pi"},{level:2,title:"Detailed Step by Step Instructions",slug:"detailed-step-by-step-instructions"},{level:3,title:"Upgrade the OS packages to latest",slug:"upgrade-the-os-packages-to-latest"},{level:3,title:"Configuring the storage",slug:"configuring-the-storage"},{level:3,title:"Install Docker",slug:"install-docker"},{level:3,title:"Create mount for Docker volumes",slug:"create-mount-for-docker-volumes"},{level:3,title:"Configuring the firewall",slug:"configuring-the-firewall"},{level:3,title:"Setup BTCPay Server",slug:"setup-btcpay-server"},{level:3,title:"FastSync (optional)",slug:"fastsync-optional"}]},{title:"Reverse proxy to Tor",frontmatter:{},regularPath:"/Deployment/ReverseProxyToTor.html",relativePath:"Deployment/ReverseProxyToTor.md",key:"v-180c16e5",path:"/Deployment/ReverseProxyToTor/",headers:[{level:2,title:"Advantages",slug:"advantages"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"VPS Setup",slug:"vps-setup"},{level:3,title:"Socat setup",slug:"socat-setup"},{level:3,title:"Webserver setup",slug:"webserver-setup"},{level:2,title:"Do all this in a Docker container",slug:"do-all-this-in-a-docker-container"},{level:3,title:"SocaTor = SOCAT + TOR",slug:"socator-socat-tor"},{level:3,title:"Usage",slug:"usage"},{level:2,title:"Use that Docker container in a Kubernetes Cluster using these manifests",slug:"use-that-docker-container-in-a-kubernetes-cluster-using-these-manifests"},{level:2,title:"Resources",slug:"resources"}]},{title:"Forward ports with a reverse SSH tunnel",frontmatter:{},regularPath:"/Deployment/ReverseSSHtunnel.html",relativePath:"Deployment/ReverseSSHtunnel.md",key:"v-39c48f76",path:"/Deployment/ReverseSSHtunnel/",headers:[{level:2,title:"Advantages",slug:"advantages"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Setup",slug:"setup"},{level:3,title:"On the host (your BTCPay Server instance)",slug:"on-the-host-your-btcpay-server-instance"},{level:3,title:"On the VPS",slug:"on-the-vps"},{level:3,title:"Back to the host (your BTCPay Server instance)",slug:"back-to-the-host-your-btcpay-server-instance"},{level:2,title:"Monitoring",slug:"monitoring"},{level:2,title:"Resources",slug:"resources"}]},{title:"Third-party hosting",frontmatter:{},regularPath:"/Deployment/ThirdPartyHosting.html",relativePath:"Deployment/ThirdPartyHosting.md",key:"v-762b62cf",path:"/Deployment/ThirdPartyHosting/",headers:[{level:2,title:"Advantages and disadvantages",slug:"advantages-and-disadvantages"},{level:3,title:"Pros",slug:"pros"},{level:3,title:"Cons",slug:"cons"},{level:2,title:"Concerns For Use",slug:"concerns-for-use"},{level:3,title:"Security Concerns",slug:"security-concerns"},{level:3,title:"Privacy Concerns",slug:"privacy-concerns"},{level:3,title:"Trust Concerns",slug:"trust-concerns"},{level:2,title:"Third Party Hosting FAQ",slug:"third-party-hosting-faq"},{level:2,title:"Where is the list of BTCPay third-party hosts?",slug:"where-is-the-list-of-btcpay-third-party-hosts"},{level:2,title:"How can one become a third-party host?",slug:"how-can-one-become-a-third-party-host"},{level:2,title:"Are there any limitations in features when using a third-party host?",slug:"are-there-any-limitations-in-features-when-using-a-third-party-host"},{level:2,title:"Can I enable the use of my Lightning Network node to others?",slug:"can-i-enable-the-use-of-my-lightning-network-node-to-others"},{level:2,title:"What does the trusted third-party host know about their users?",slug:"what-does-the-trusted-third-party-host-know-about-their-users"}]},{title:"Voltage Cloud BTCPay Server web deployment",frontmatter:{},regularPath:"/Deployment/voltagecloud.html",relativePath:"Deployment/voltagecloud.md",key:"v-49909ce5",path:"/Deployment/voltagecloud/",headers:[{level:2,title:"1. Sign up and top up your account.",slug:"1-sign-up-and-top-up-your-account"},{level:2,title:"2. What node suits you?",slug:"2-what-node-suits-you"},{level:2,title:"3. Node dashboard",slug:"3-node-dashboard"},{level:2,title:"4. BTCPay server node",slug:"4-btcpay-server-node"},{level:2,title:"5. Finnish initial deployment.",slug:"5-finnish-initial-deployment"},{level:2,title:"6. Welcome to your BTCPay Server dashboard",slug:"6-welcome-to-your-btcpay-server-dashboard"}]},{title:"Introduction to Web Deployments",frontmatter:{},regularPath:"/Deployment/webdeployment.html",relativePath:"Deployment/webdeployment.md",key:"v-3ec65b5a",path:"/Deployment/webdeployment/",headers:[{level:2,title:"Known web deployments.",slug:"known-web-deployments"},{level:3,title:"LunaNode web-wizard.",slug:"lunanode-web-wizard"},{level:3,title:"Voltage Cloud",slug:"voltage-cloud"},{level:3,title:"DreamLab Network Solutions",slug:"dreamlab-network-solutions"},{level:3,title:"Clovyr",slug:"clovyr"},{level:2,title:"Missing deployments?",slug:"missing-deployments"}]},{title:"How to add an Altcoin",frontmatter:{},regularPath:"/Development/Altcoins.html",relativePath:"Development/Altcoins.md",key:"v-dc719dd2",path:"/Development/Altcoins/",headers:[{level:2,title:"How can I add an altcoin to BTCPayServer?",slug:"how-can-i-add-an-altcoin-to-btcpayserver"}]},{title:"Greenfield API example with Node.JS (JavaScript)",frontmatter:{},regularPath:"/Development/GreenFieldExample-NodeJS.html",relativePath:"Development/GreenFieldExample-NodeJS.md",key:"v-10e3317f",path:"/Development/GreenFieldExample-NodeJS/",headers:[{level:2,title:"Create a new user",slug:"create-a-new-user"},{level:2,title:"Create a new API key",slug:"create-a-new-api-key"},{level:2,title:"Create a new store",slug:"create-a-new-store"},{level:2,title:"Webhook implementation with Node.JS + Express",slug:"webhook-implementation-with-nodejs-express"}]},{title:"Greenfield API example with cURL",frontmatter:{},regularPath:"/Development/GreenFieldExample.html",relativePath:"Development/GreenFieldExample.md",key:"v-b64dbc36",path:"/Development/GreenFieldExample/",headers:[{level:2,title:"Create a new user",slug:"create-a-new-user"},{level:2,title:"Create a new API key",slug:"create-a-new-api-key"},{level:2,title:"Create a new store",slug:"create-a-new-store"},{level:2,title:"Create a new API key with limiting permissions on the new store, for example read only",slug:"create-a-new-api-key-with-limiting-permissions-on-the-new-store-for-example-read-only"},{level:2,title:"Read store information",slug:"read-store-information"}]},{title:"Greenfield API examples with PHP",frontmatter:{},regularPath:"/Development/GreenfieldExample-PHP.html",relativePath:"Development/GreenfieldExample-PHP.md",key:"v-f2be4ef6",path:"/Development/GreenfieldExample-PHP/",headers:[{level:2,title:"Create a new user",slug:"create-a-new-user"},{level:2,title:"Create a new API key",slug:"create-a-new-api-key"},{level:2,title:"Create a new store",slug:"create-a-new-store"},{level:2,title:"Create a simple invoice",slug:"create-a-simple-invoice"},{level:2,title:"Webhook implementation and validation with PHP",slug:"webhook-implementation-and-validation-with-php"}]},{title:"Invoice metadata",frontmatter:{},regularPath:"/Development/InvoiceMetadata.html",relativePath:"Development/InvoiceMetadata.md",key:"v-3d044e45",path:"/Development/InvoiceMetadata/",headers:[{level:2,title:"Well-known properties",slug:"well-known-properties"},{level:2,title:"Examples",slug:"examples"}]},{title:"Local development",frontmatter:{},regularPath:"/Development/LocalDev.html",relativePath:"Development/LocalDev.md",key:"v-ede35016",path:"/Development/LocalDev/",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:2,title:"Dependencies",slug:"dependencies"},{level:2,title:"Which IDE?",slug:"which-ide"},{level:2,title:"Build configuration",slug:"build-configuration"},{level:2,title:"Launch profiles",slug:"launch-profiles"},{level:2,title:"Running tests",slug:"running-tests"},{level:2,title:"Altcoin support development",slug:"altcoin-support-development"},{level:2,title:"HTTPS support for local development",slug:"https-support-for-local-development"},{level:2,title:"Videos",slug:"videos"}]},{title:"Local development",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-doc/edit/master/docs/Development/LocalDev.md"},regularPath:"/Development/LocalDevelopment.html",relativePath:"Development/LocalDevelopment.md",key:"v-7daf4329",path:"/Development/LocalDevelopment/",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:2,title:"Dependencies",slug:"dependencies"},{level:2,title:"Which IDE?",slug:"which-ide"},{level:2,title:"Build configuration",slug:"build-configuration"},{level:2,title:"Launch profiles",slug:"launch-profiles"},{level:2,title:"Running tests",slug:"running-tests"},{level:2,title:"Altcoin support development",slug:"altcoin-support-development"},{level:2,title:"HTTPS support for local development",slug:"https-support-for-local-development"},{level:2,title:"Videos",slug:"videos"},{level:2,title:"How to manually test payments",slug:"how-to-manually-test-payments"},{level:3,title:"Using the test bitcoin-cli",slug:"using-the-test-bitcoin-cli"},{level:3,title:"Using Polar to test Lightning payments",slug:"using-polar-to-test-lightning-payments"},{level:3,title:"Using the test litecoin-cli",slug:"using-the-test-litecoin-cli"},{level:3,title:"Using the test lightning-cli",slug:"using-the-test-lightning-cli"},{level:3,title:"Alternative Lightning testing: Using Polar to test Lightning payments",slug:"alternative-lightning-testing-using-polar-to-test-lightning-payments"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"docker-compose up dev failed or tests are not passing, what should I do?",slug:"docker-compose-up-dev-failed-or-tests-are-not-passing-what-should-i-do"},{level:3,title:"How to run the Altcoin environment?",slug:"how-to-run-the-altcoin-environment"},{level:3,title:"How to run the Selenium test with a browser?",slug:"how-to-run-the-selenium-test-with-a-browser"},{level:3,title:"Session not created: This version of ChromeDriver only supports Chrome version 88",slug:"session-not-created-this-version-of-chromedriver-only-supports-chrome-version-88"}]},{title:"Plugins",frontmatter:{},regularPath:"/Development/Plugins.html",relativePath:"Development/Plugins.md",key:"v-6f03bcc5",path:"/Development/Plugins/",headers:[{level:2,title:"Setup of a new plugin",slug:"setup-of-a-new-plugin"},{level:3,title:"Plugin reference",slug:"plugin-reference"},{level:2,title:"Coding a plugin",slug:"coding-a-plugin"},{level:3,title:"Assets",slug:"assets"},{level:3,title:"Database",slug:"database"},{level:3,title:"UI Extension Points",slug:"ui-extension-points"},{level:3,title:"Actions and Filters",slug:"actions-and-filters"},{level:3,title:"Authorization and Permissions",slug:"authorization-and-permissions"},{level:3,title:"API",slug:"api"},{level:2,title:"Publishing the plugin",slug:"publishing-the-plugin"},{level:2,title:"Resources",slug:"resources"}]},{title:"Architecture",frontmatter:{},regularPath:"/Development/",relativePath:"Development/README.md",key:"v-8ade6c04",path:"/Development/"},{title:"Testnet demo",frontmatter:{},regularPath:"/Development/TestnetDemo.html",relativePath:"Development/TestnetDemo.md",key:"v-19638485",path:"/Development/TestnetDemo/",headers:[{level:2,title:"Questions",slug:"questions"}]},{title:"Customizing themes",frontmatter:{},regularPath:"/Development/Theme.html",relativePath:"Development/Theme.md",key:"v-06e5e8b6",path:"/Development/Theme/",headers:[{level:2,title:"Built-in themes",slug:"built-in-themes"},{level:2,title:"1. Custom themes",slug:"1-custom-themes"},{level:3,title:"Developing and extending a custom theme",slug:"developing-and-extending-a-custom-theme"},{level:2,title:"2. Bootstrap themes",slug:"2-bootstrap-themes"},{level:2,title:"Checkout page themes",slug:"checkout-page-themes"},{level:3,title:"Andreas M. Antonopolous",slug:"andreas-m-antonopolous"},{level:3,title:"Bitcoin Fortune Cookie",slug:"bitcoin-fortune-cookie"},{level:3,title:"Bitma.tk",slug:"bitmatk"},{level:3,title:"Blockstream",slug:"blockstream"},{level:3,title:"Coincards",slug:"coincards"},{level:3,title:"CryptoCloaks",slug:"cryptocloaks"},{level:3,title:"Human Rights Foundation",slug:"human-rights-foundation"},{level:3,title:"Shiftcrypto",slug:"shiftcrypto"},{level:3,title:"Wears My Liberty",slug:"wears-my-liberty"},{level:3,title:"Bitcoin People",slug:"bitcoin-people"}]},{title:"Introduction",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/",relativePath:"Docker/README.md",key:"v-3a2a5ff4",path:"/Docker/",headers:[{level:2,title:"Generated docker-compose",slug:"generated-docker-compose"},{level:2,title:"Again, what does btcpay-setup.sh do?",slug:"again-what-does-btcpay-setupsh-do"},{level:2,title:"Overview of files generated by btcpay-setup.sh",slug:"overview-of-files-generated-by-btcpay-setupsh"},{level:2,title:"How can I modify my environment?",slug:"how-can-i-modify-my-environment"},{level:2,title:"I deployed before btcpay-setup.sh existed (before May 17, 2018), can I migrate to this new system?",slug:"i-deployed-before-btcpay-setupsh-existed-before-may-17-2018-can-i-migrate-to-this-new-system"},{level:2,title:"I'm getting an error on Windows: Cannot create container for service docker: Mount denied?",slug:"im-getting-an-error-on-windows-cannot-create-container-for-service-docker-mount-denied"},{level:2,title:"How I can prune my node(s)?",slug:"how-i-can-prune-my-nodes"},{level:2,title:"How can I customize the generated docker-compose file?",slug:"how-can-i-customize-the-generated-docker-compose-file"},{level:2,title:"Can I run BTCPay Server on ports other than 80 and 443?",slug:"can-i-run-btcpay-server-on-ports-other-than-80-and-443"},{level:2,title:"Can I offload HTTPS termination?",slug:"can-i-offload-https-termination"},{level:2,title:"How can I back up my BTCPay Server?",slug:"how-can-i-back-up-my-btcpay-server"},{level:2,title:"How can I connect to the database?",slug:"how-can-i-connect-to-the-database"},{level:2,title:"How do I upgrade my BTCPay Server docker?",slug:"how-do-i-upgrade-my-btcpay-server-docker"}]},{title:"Backup & Restore",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/backup-restore.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/backup-restore.html",relativePath:"Docker/backup-restore.md",key:"v-bcc9c0f6",path:"/Docker/backup-restore/",headers:[{level:2,title:"Remarks and Considerations",slug:"remarks-and-considerations"},{level:3,title:"Lightning channel backup",slug:"lightning-channel-backup"},{level:2,title:"How does the backup work?",slug:"how-does-the-backup-work"},{level:3,title:"Set a backup passphrase",slug:"set-a-backup-passphrase"},{level:3,title:"Automation by crontab",slug:"automation-by-crontab"},{level:2,title:"How to restore?",slug:"how-to-restore"}]},{title:"Chatwoot support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/chatwoot.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/chatwoot.html",relativePath:"Docker/chatwoot.md",key:"v-52901cc5",path:"/Docker/chatwoot/",headers:[{level:2,title:"How to use",slug:"how-to-use"}]},{title:"Cloudflare tunnel support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/cloudflare-tunnel.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/cloudflare-tunnel.html",relativePath:"Docker/cloudflare-tunnel.md",key:"v-aeaaf052",path:"/Docker/cloudflare-tunnel/",headers:[{level:2,title:"How to use?",slug:"how-to-use"},{level:2,title:"Recommended additional step",slug:"recommended-additional-step"},{level:2,title:"Known error",slug:"known-error"},{level:3,title:"Error 503",slug:"error-503"}]},{title:"Fast sync Bitcoin for BTCPay Server",frontmatter:{},regularPath:"/Docker/fastsync.html",relativePath:"Docker/fastsync.md",key:"v-e159d7f6",path:"/Docker/fastsync/",headers:[{level:2,title:"What problem does Fast Sync solve?",slug:"what-problem-does-fast-sync-solve"},{level:2,title:"How does Fast Sync solve the problem?",slug:"how-does-fast-sync-solve-the-problem"},{level:2,title:"What are the downsides of Fast Sync?",slug:"what-are-the-downsides-of-fast-sync"},{level:3,title:"Malicious UTXO Set",slug:"malicious-utxo-set"},{level:3,title:"Lightning Network routing issues",slug:"lightning-network-routing-issues"},{level:2,title:"How to verify that the UTXO Set snapshot follows the consensus?",slug:"how-to-verify-that-the-utxo-set-snapshot-follows-the-consensus"},{level:3,title:"If you trust the owner of this repository....",slug:"if-you-trust-the-owner-of-this-repository"},{level:3,title:"Don't trust, verify!",slug:"dont-trust-verify-"},{level:3,title:"If you trust someone else...",slug:"if-you-trust-someone-else"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"Can I add my signature to this repository?",slug:"can-i-add-my-signature-to-this-repository"},{level:3,title:"Where can I download UTXO set snapshots",slug:"where-can-i-download-utxo-set-snapshots"},{level:3,title:"How can I create my own snapshot?",slug:"how-can-i-create-my-own-snapshot"},{level:3,title:"How can I do this for my altcoin?",slug:"how-can-i-do-this-for-my-altcoin"},{level:3,title:"Do you plan to destroy Bitcoin?",slug:"do-you-plan-to-destroy-bitcoin"},{level:3,title:"Why you don't just: Make BTCPayServer rely on SPV",slug:"why-you-dont-just-make-btcpayserver-rely-on-spv"},{level:3,title:"Why you don't just: Make BTCPayServer rely on an external trusted node",slug:"why-you-dont-just-make-btcpayserver-rely-on-an-external-trusted-node"}]},{title:"Firefly III support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/fireflyiii.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/fireflyiii.html",relativePath:"Docker/fireflyiii.md",key:"v-2d316036",path:"/Docker/fireflyiii/",headers:[{level:2,title:"How to use",slug:"how-to-use"}]},{title:"Joinmarket support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/joinmarket.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/joinmarket.html",relativePath:"Docker/joinmarket.md",key:"v-67ccefa5",path:"/Docker/joinmarket/",headers:[{level:2,title:"How to use",slug:"how-to-use"},{level:2,title:"How to change joinmarket configuration?",slug:"how-to-change-joinmarket-configuration"},{level:2,title:"Managing your wallet",slug:"managing-your-wallet"},{level:2,title:"Getting command prompt into the container",slug:"getting-command-prompt-into-the-container"},{level:2,title:"Managing the services such as yield generators",slug:"managing-the-services-such-as-yield-generators"},{level:2,title:"OB-Watcher",slug:"ob-watcher"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"Error: Failed to load wallet, you need to remove the lock file",slug:"error-failed-to-load-wallet-you-need-to-remove-the-lock-file"},{level:3,title:"Read the logs of services",slug:"read-the-logs-of-services"}]},{title:"Lightning Terminal (LiT)",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/lightning-terminal.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/lightning-terminal.html",relativePath:"Docker/lightning-terminal.md",key:"v-3d266a05",path:"/Docker/lightning-terminal/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Troubleshooting",slug:"troubleshooting"}]},{title:"NDLC support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/ndlc.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/ndlc.html",relativePath:"Docker/ndlc.md",key:"v-bf626e76",path:"/Docker/ndlc/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"How to use",slug:"how-to-use"}]},{title:"Pi-Hole support",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/pihole.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/pihole.html",relativePath:"Docker/pihole.md",key:"v-92a19676",path:"/Docker/pihole/",headers:[{level:2,title:"How to use",slug:"how-to-use"},{level:2,title:"Using the dashboard",slug:"using-the-dashboard"}]},{title:"Tallycoin Connect",frontmatter:{editLink:"https://github.com/btcpayserver/btcpayserver-docker/edit/master/docs/tallycoin-connect.md",externalRepo:"https://github.com/btcpayserver/btcpayserver-docker"},regularPath:"/Docker/tallycoin-connect.html",relativePath:"Docker/tallycoin-connect.md",key:"v-195b101b",path:"/Docker/tallycoin-connect/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Troubleshooting",slug:"troubleshooting"}]},{title:"Drupal Commerce 2.x integration",frontmatter:{},regularPath:"/Drupal.html",relativePath:"Drupal.md",key:"v-b69e09ee",path:"/Drupal/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Module installation and configuration",slug:"module-installation-and-configuration"},{level:3,title:"Quick walkthrough screencast",slug:"quick-walkthrough-screencast"},{level:3,title:"Quick walkthrough steps",slug:"quick-walkthrough-steps"}]},{title:"Electrum Personal Server (EPS) integration",frontmatter:{},regularPath:"/ElectrumPersonalServer.html",relativePath:"ElectrumPersonalServer.md",key:"v-14b9fcf5",path:"/ElectrumPersonalServer/",headers:[{level:2,title:"About Tor support",slug:"about-tor-support"},{level:2,title:"How to enable Electrum Personal Server (EPS) in BTCPay:",slug:"how-to-enable-electrum-personal-server-eps-in-btcpay"},{level:2,title:"How to connect Electrum Wallet to EPS",slug:"how-to-connect-electrum-wallet-to-eps"},{level:3,title:"Reflection on what has been achieved:",slug:"reflection-on-what-has-been-achieved"},{level:3,title:"Troubleshooting:",slug:"troubleshooting"}]},{title:"Connecting Electrum Wallet to BTCPay Server",frontmatter:{},regularPath:"/ElectrumWallet.html",relativePath:"ElectrumWallet.md",key:"v-6dcde349",path:"/ElectrumWallet/",headers:[{level:2,title:"Electrum Wallet Setup",slug:"electrum-wallet-setup"},{level:3,title:"Quick Setup",slug:"quick-setup"},{level:2,title:"Step by Step",slug:"step-by-step"},{level:3,title:"Alternative Setup",slug:"alternative-setup"},{level:3,title:"Configuring the Gap Limit in Electrum",slug:"configuring-the-gap-limit-in-electrum"}]},{title:"ElectrumX",frontmatter:{},regularPath:"/ElectrumX.html",relativePath:"ElectrumX.md",key:"v-1e8449a5",path:"/ElectrumX/",headers:[{level:2,title:"How to integrate ElectrumX into your BTCPay Server and connect your Electrum Wallet to it for your complete privacy",slug:"how-to-integrate-electrumx-into-your-btcpay-server-and-connect-your-electrum-wallet-to-it-for-your-complete-privacy"},{level:3,title:"(only available in BTCPay docker version)",slug:"only-available-in-btcpay-docker-version"},{level:2,title:"Section 2.1 Enable Your Own ElectrumX Server (fully integrated with your BTCPay Server's full bitcoin node)",slug:"section-21-enable-your-own-electrumx-server-fully-integrated-with-your-btcpay-servers-full-bitcoin-node"},{level:3,title:"Prerequisites (mandatory):",slug:"prerequisites-mandatory"},{level:3,title:"How will enabling ElectrumX Server affect an existing BTCPay implementation?:",slug:"how-will-enabling-electrumx-server-affect-an-existing-btcpay-implementation"},{level:3,title:"Steps to enable ElectrumX Server in BTCPay:",slug:"steps-to-enable-electrumx-server-in-btcpay"},{level:2,title:"Section 2.2 Connect your Electrum Wallet (Desktop or Android) to your ElectrumX Server",slug:"section-22-connect-your-electrum-wallet-desktop-or-android-to-your-electrumx-server"},{level:3,title:"Connect to ElectrumX from Electrum Wallet on your Mac/PC/Linux Machine:",slug:"connect-to-electrumx-from-electrum-wallet-on-your-macpclinux-machine"},{level:3,title:"Reflection on what has been achieved:",slug:"reflection-on-what-has-been-achieved"},{level:3,title:"Troubleshooting:",slug:"troubleshooting"}]},{title:"Altcoins FAQ",frontmatter:{},regularPath:"/FAQ/Altcoin.html",relativePath:"FAQ/Altcoin.md",key:"v-5a7c8936",path:"/FAQ/Altcoin/",headers:[{level:2,title:"Which coins does BTCPay Server support?",slug:"which-coins-does-btcpay-server-support"},{level:2,title:"Can an XYZ coin be added in BTCPay?",slug:"can-an-xyz-coin-be-added-in-btcpay"},{level:2,title:"How to add an altcoin in BTCPay?",slug:"how-to-add-an-altcoin-in-btcpay"},{level:2,title:"How to add an altcoin to an existing BTCPay deployment?",slug:"how-to-add-an-altcoin-to-an-existing-btcpay-deployment"},{level:2,title:"How to remove a coin from BTCPay?",slug:"how-to-remove-a-coin-from-btcpay"}]},{title:"Apps FAQ",frontmatter:{},regularPath:"/FAQ/Apps.html",relativePath:"FAQ/Apps.md",key:"v-0fd6afca",path:"/FAQ/Apps/",headers:[{level:2,title:"What are the Apps in BTCPay?",slug:"what-are-the-apps-in-btcpay"},{level:2,title:"Is there a limit on the number of Apps I can create?",slug:"is-there-a-limit-on-the-number-of-apps-i-can-create"},{level:2,title:"Is there a Point of Sale feature in BTCPay?",slug:"is-there-a-point-of-sale-feature-in-btcpay"},{level:2,title:"How can I use BTCPay in a physical store?",slug:"how-can-i-use-btcpay-in-a-physical-store"},{level:2,title:"How to customize the appearance of Point of Sale App in BTCPay",slug:"how-to-customize-the-appearance-of-point-of-sale-app-in-btcpay"},{level:2,title:"What is a Payment Button?",slug:"what-is-a-payment-button"},{level:2,title:"How to create a Pay Button with a custom amount?",slug:"how-to-create-a-pay-button-with-a-custom-amount"},{level:2,title:"How to map a domain name to an app?",slug:"how-to-map-a-domain-name-to-an-app"},{level:2,title:"How to redirect to another site after payment?",slug:"how-to-redirect-to-another-site-after-payment"},{level:2,title:"How to integrate WooCommerce Store into a BTCPay Crowdfund app?",slug:"how-to-integrate-woocommerce-store-into-a-btcpay-crowdfund-app"},{level:3,title:"Requirements",slug:"requirements"},{level:3,title:"Instructions",slug:"instructions"}]},{title:"Deployment FAQ",frontmatter:{},regularPath:"/FAQ/Deployment.html",relativePath:"FAQ/Deployment.md",key:"v-02bea796",path:"/FAQ/Deployment/",headers:[{level:2,title:"General Deployment",slug:"general-deployment"},{level:3,title:"How much does it cost to run BTCPay Server?",slug:"how-much-does-it-cost-to-run-btcpay-server"},{level:3,title:"What are the minimal requirements for BTCPay?",slug:"what-are-the-minimal-requirements-for-btcpay"},{level:3,title:"What is the easiest method to deploy a self-hosted BTCPay Server?",slug:"what-is-the-easiest-method-to-deploy-a-self-hosted-btcpay-server"},{level:3,title:"How to choose a proper deployment method?",slug:"how-to-choose-a-proper-deployment-method"},{level:3,title:"Can I run BTCPay on my own hardware?",slug:"can-i-run-btcpay-on-my-own-hardware"},{level:3,title:"Can I deploy BTCPay on my existing VPS?",slug:"can-i-deploy-btcpay-on-my-existing-vps"},{level:3,title:"Are there free hosts where I can test?",slug:"are-there-free-hosts-where-i-can-test"},{level:3,title:"After initial deployment, I can't register and I don't have a login yet?",slug:"after-initial-deployment-i-cant-register-and-i-dont-have-a-login-yet"},{level:3,title:"How do I activate Tor on my BTCPay Server?",slug:"how-do-i-activate-tor-on-my-btcpay-server"},{level:3,title:"How do I disable Tor on my BTCPay Server?",slug:"how-do-i-disable-tor-on-my-btcpay-server"},{level:3,title:"Why activate Tor? Does it mean that nobody knows who I am?",slug:"why-activate-tor-does-it-mean-that-nobody-knows-who-i-am"},{level:3,title:"How to access the .onion address without clearnet?",slug:"how-to-access-the-onion-address-without-clearnet"},{level:3,title:"How can I modify or deactivate environment variables?",slug:"how-can-i-modify-or-deactivate-environment-variables"},{level:3,title:"How can I run BTCPay on testnet?",slug:"how-can-i-run-btcpay-on-testnet"},{level:3,title:"Can I start BTCPay only when I'm expecting a payment?",slug:"can-i-start-btcpay-only-when-im-expecting-a-payment"},{level:3,title:"Can I connect to my BTCPay Bitcoin P2P on port 8333?",slug:"can-i-connect-to-my-btcpay-bitcoin-p2p-on-port-8333"},{level:3,title:"How can I renew my SSL certificate?",slug:"how-can-i-renew-my-ssl-certificate"},{level:3,title:"Can I use an existing Nginx server as a reverse proxy with SSL termination?",slug:"can-i-use-an-existing-nginx-server-as-a-reverse-proxy-with-ssl-termination"},{level:2,title:"How to change your BTCPay Server domain name?",slug:"how-to-change-your-btcpay-server-domain-name"},{level:3,title:"Setting up DNS Records",slug:"setting-up-dns-records"},{level:3,title:"Change domain name in BTCPay Server settings",slug:"change-domain-name-in-btcpay-server-settings"},{level:3,title:"Change domain on command line",slug:"change-domain-on-command-line"},{level:2,title:"Web-deployment",slug:"web-deployment"},{level:3,title:"Can I run BTCPay on my home computer?",slug:"can-i-run-btcpay-on-my-home-computer"},{level:3,title:"LunaNode web-deployment",slug:"lunanode-web-deployment"},{level:2,title:"Manual Deployment",slug:"manual-deployment"},{level:3,title:"How do I completely uninstall BTCPay from a Linux environment (Docker version)",slug:"how-do-i-completely-uninstall-btcpay-from-a-linux-environment-docker-version"},{level:3,title:"How to deploy BTCPay Server alongside existing Bitcoin node?",slug:"how-to-deploy-btcpay-server-alongside-existing-bitcoin-node"},{level:3,title:"With the docker deployment, how to use a different volume for the data?",slug:"with-the-docker-deployment-how-to-use-a-different-volume-for-the-data"},{level:3,title:"I get 503 Service Temporarily Unavailable nginx",slug:"i-get-503-service-temporarily-unavailable-nginx"}]},{title:"General FAQ",frontmatter:{tags:["refund","merchant refund"]},regularPath:"/FAQ/General.html",relativePath:"FAQ/General.md",key:"v-b4e335b6",path:"/FAQ/General/",headers:[{level:2,title:"What is BTCPay Server?",slug:"what-is-btcpay-server"},{level:2,title:"Why should I choose BTCPay over other processors?",slug:"why-should-i-choose-btcpay-over-other-processors"},{level:2,title:"Why is everyone so excited about BTCPay?",slug:"why-is-everyone-so-excited-about-btcpay"},{level:2,title:"Who can use BTCPay?",slug:"who-can-use-btcpay"},{level:2,title:"How to install BTCPay Server?",slug:"how-to-install-btcpay-server"},{level:2,title:"Where to find BTCPay video tutorials?",slug:"where-to-find-btcpay-video-tutorials"},{level:2,title:"Do I need to have an online store to use BTCPay Server?",slug:"do-i-need-to-have-an-online-store-to-use-btcpay-server"},{level:2,title:"Why can't I just give my Bitcoin address to a buyer?",slug:"why-cant-i-just-give-my-bitcoin-address-to-a-buyer"},{level:2,title:"How does BTCPay create a new address for each invoice?",slug:"how-does-btcpay-create-a-new-address-for-each-invoice"},{level:2,title:"Does BTCPay need my private key?",slug:"does-btcpay-need-my-private-key"},{level:2,title:"Does BTCPay Server support crypto to fiat conversion?",slug:"does-btcpay-server-support-crypto-to-fiat-conversion"},{level:2,title:"What if I have a problem paying an invoice?",slug:"what-if-i-have-a-problem-paying-an-invoice"},{level:2,title:"What if I have a problem with a paid invoice?",slug:"what-if-i-have-a-problem-with-a-paid-invoice"},{level:2,title:"Where can I get help and support?",slug:"where-can-i-get-help-and-support"},{level:2,title:"How can I contribute to BTCPay?",slug:"how-can-i-contribute-to-btcpay"},{level:2,title:"How can I use the BTCPay Server API?",slug:"how-can-i-use-the-btcpay-server-api"},{level:2,title:"How to create a webhook ?",slug:"how-to-create-a-webhook-"},{level:2,title:"Webhook format is not bitpay compatible?",slug:"webhook-format-is-not-bitpay-compatible"},{level:2,title:"How can I backup my BTCPay Server?",slug:"how-can-i-backup-my-btcpay-server"},{level:2,title:"How can I charge for using my BTCPay Server instance?",slug:"how-can-i-charge-for-using-my-btcpay-server-instance"},{level:2,title:'Stuck synching: "NBXplorer is synchronizing"',slug:"stuck-synching-nbxplorer-is-synchronizing-"}]},{title:"Integrations FAQ",frontmatter:{},regularPath:"/FAQ/Integrations.html",relativePath:"FAQ/Integrations.md",key:"v-dec9d2fe",path:"/FAQ/Integrations/",headers:[{level:2,title:"General Integrations FAQ",slug:"general-integrations-faq"},{level:3,title:"What e-commerce integrations are available?",slug:"what-e-commerce-integrations-are-available"},{level:3,title:"How to use WooCommerce store with BTCPay?",slug:"how-to-use-woocommerce-store-with-btcpay"},{level:3,title:"How to use BTCPay with Drupal?",slug:"how-to-use-btcpay-with-drupal"},{level:3,title:"How to use BTCPay with Prestashop?",slug:"how-to-use-btcpay-with-prestashop"},{level:3,title:"Does BTCPay have a Shopify plugin?",slug:"does-btcpay-have-a-shopify-plugin"},{level:3,title:"Can I use BTCPay without an integration?",slug:"can-i-use-btcpay-without-an-integration"},{level:2,title:"WooCommerce FAQ",slug:"woocommerce-faq"},{level:3,title:"How to upgrade to the new BTCPay for WooCommerce V2 plugin?",slug:"how-to-upgrade-to-the-new-btcpay-for-woocommerce-v2-plugin"},{level:3,title:"How to configure order status in WooCommerce?",slug:"how-to-configure-order-status-in-woocommerce"},{level:3,title:"How to customize e-mail confirmations in WooCommerce?",slug:"how-to-customize-e-mail-confirmations-in-woocommerce"},{level:3,title:"Error: If you use an alternative order numbering system, please see class-wc-gateway-btcpay.php to apply a search filter",slug:"error-if-you-use-an-alternative-order-numbering-system-please-see-class-wc-gateway-btcpayphp-to-apply-a-search-filter"},{level:3,title:"How to configure Additional Token Support / Separate Payment Gateways",slug:"how-to-configure-additional-token-support-separate-payment-gateways"}]},{title:"Lightning Network FAQ",frontmatter:{},regularPath:"/FAQ/LightningNetwork.html",relativePath:"FAQ/LightningNetwork.md",key:"v-42e075f7",path:"/FAQ/LightningNetwork/",headers:[{level:2,title:"Lightning Network General FAQ",slug:"lightning-network-general-faq"},{level:3,title:"How many users can use Lightning Network in BTCPay?",slug:"how-many-users-can-use-lightning-network-in-btcpay"},{level:3,title:"How to find node info and open a direct channel with a store using BTCPay?",slug:"how-to-find-node-info-and-open-a-direct-channel-with-a-store-using-btcpay"},{level:3,title:"As a merchant, do I need to open direct channels?",slug:"as-a-merchant-do-i-need-to-open-direct-channels"},{level:3,title:"How can I get inbound capacity to my node?",slug:"how-can-i-get-inbound-capacity-to-my-node"},{level:3,title:"I previously installed BTCPayServer without lightning, can I enable it?",slug:"i-previously-installed-btcpayserver-without-lightning-can-i-enable-it"},{level:3,title:"Can I use a pruned node with LN in BTCPay?",slug:"can-i-use-a-pruned-node-with-ln-in-btcpay"},{level:3,title:"Can I use my existing LN node with BTCPay?",slug:"can-i-use-my-existing-ln-node-with-btcpay"},{level:3,title:"How to change from Core Lightning (CLN) to LND or vice-versa?",slug:"how-to-change-from-core-lightning-cln-to-lnd-or-vice-versa"},{level:3,title:'I switched Lightning Network implementation, but getting "no payment available" error',slug:"i-switched-lightning-network-implementation-but-getting-no-payment-available-error"},{level:3,title:'I get "WARNING: The LIGHTNING_ALIAS variable is not set. Defaulting to a blank string" when starting container',slug:"i-get-warning-the-lightning-alias-variable-is-not-set-defaulting-to-a-blank-string-when-starting-container"},{level:3,title:"How to display my Lightning Node information so that others can connect to me?",slug:"how-to-display-my-lightning-node-information-so-that-others-can-connect-to-me"},{level:3,title:"Where can I find recovery seed backup for my Lightning Network wallet in BTCPay Server?",slug:"where-can-i-find-recovery-seed-backup-for-my-lightning-network-wallet-in-btcpay-server"},{level:3,title:"How to disable on-chain payments and use LN payments only?",slug:"how-to-disable-on-chain-payments-and-use-ln-payments-only"},{level:3,title:"How to see my Lightning Network version?",slug:"how-to-see-my-lightning-network-version"},{level:3,title:"How to redirect a Lightning Address?",slug:"how-to-redirect-a-lightning-address"},{level:2,title:"Lightning Network LND FAQ",slug:"lightning-network-lnd-faq"},{level:3,title:"How to restart my LND?",slug:"how-to-restart-my-lnd"},{level:3,title:"How to rescan the LND on-chain wallet?",slug:"how-to-rescan-the-lnd-on-chain-wallet"},{level:3,title:"How to see LND logs?",slug:"how-to-see-lnd-logs"},{level:3,title:"What’s the default directory of LND in BTCPay?",slug:"what-s-the-default-directory-of-lnd-in-btcpay"},{level:3,title:"Which macaroon needs to be provided for external nodes?",slug:"which-macaroon-needs-to-be-provided-for-external-nodes"},{level:3,title:"LND connection issues after an update",slug:"lnd-connection-issues-after-an-update"},{level:3,title:"How to change my LND Node alias?",slug:"how-to-change-my-lnd-node-alias"},{level:3,title:"How to edit lnd.conf?",slug:"how-to-edit-lndconf"},{level:3,title:"How to connect to a LND watchtower?",slug:"how-to-connect-to-a-lnd-watchtower"},{level:3,title:"How to run a LND watchtower?",slug:"how-to-run-a-lnd-watchtower"},{level:3,title:"How to install ThunderHub?",slug:"how-to-install-thunderhub"},{level:2,title:"Lightning Network Core Lightning (CLN) FAQ",slug:"lightning-network-core-lightning-cln-faq"},{level:3,title:"How to restart my Core Lightning (CLN)?",slug:"how-to-restart-my-core-lightning-cln"},{level:3,title:"How to announce an IPv6 address?",slug:"how-to-announce-an-ipv6-address"},{level:2,title:"Lightning Network Questions and Support",slug:"lightning-network-questions-and-support"}]},{title:"Frequently Asked Questions and Common Issues",frontmatter:{},regularPath:"/FAQ/",relativePath:"FAQ/README.md",key:"v-78e9ef70",path:"/FAQ/",headers:[{level:2,title:"General FAQ",slug:"general-faq"},{level:2,title:"Deployment FAQ",slug:"deployment-faq"},{level:3,title:"General Deployment FAQ",slug:"general-deployment-faq"},{level:3,title:"Web Deployment FAQ",slug:"web-deployment-faq"},{level:3,title:"Manual Deployment FAQ",slug:"manual-deployment-faq"},{level:2,title:"Synchronization FAQ",slug:"synchronization-faq"},{level:2,title:"Integrations FAQ",slug:"integrations-faq"},{level:3,title:"Integrations General",slug:"integrations-general"},{level:3,title:"WooCommerce FAQ",slug:"woocommerce-faq"},{level:2,title:"Server Settings FAQ",slug:"server-settings-faq"},{level:3,title:"Maintenance FAQ",slug:"maintenance-faq"},{level:3,title:"Theme / Customization FAQ",slug:"theme-customization-faq"},{level:3,title:"Policies FAQ",slug:"policies-faq"},{level:3,title:"Services FAQ",slug:"services-faq"},{level:3,title:"Files FAQ",slug:"files-faq"},{level:2,title:"Stores FAQ",slug:"stores-faq"},{level:2,title:"Wallet FAQ",slug:"wallet-faq"},{level:2,title:"Apps FAQ",slug:"apps-faq"},{level:2,title:"Lightning Network FAQ",slug:"lightning-network-faq"},{level:3,title:"Lightning Network General FAQ",slug:"lightning-network-general-faq"},{level:3,title:"Lightning Network LND FAQ",slug:"lightning-network-lnd-faq"},{level:3,title:"Lightning Network Core Lightning (CLN) FAQ",slug:"lightning-network-core-lightning-cln-faq"},{level:2,title:"Altcoins FAQ",slug:"altcoins-faq"}]},{title:"Server Settings FAQ",frontmatter:{},regularPath:"/FAQ/ServerSettings.html",relativePath:"FAQ/ServerSettings.md",key:"v-0763789a",path:"/FAQ/ServerSettings/",headers:[{level:2,title:"Maintenance",slug:"maintenance"},{level:3,title:"How to update BTCPay Server?",slug:"how-to-update-btcpay-server"},{level:3,title:"How to restart BTCPay Server?",slug:"how-to-restart-btcpay-server"},{level:3,title:"How to SSH into my BTCPay running on VPS?",slug:"how-to-ssh-into-my-btcpay-running-on-vps"},{level:3,title:"How to see, as an admin, what's running on my BTCPay Server?",slug:"how-to-see-as-an-admin-whats-running-on-my-btcpay-server"},{level:3,title:"How can I see my BTCPay Server version?",slug:"how-can-i-see-my-btcpay-server-version"},{level:3,title:"How can I check my BTCPay Server version via terminal?",slug:"how-can-i-check-my-btcpay-server-version-via-terminal"},{level:3,title:"What is BTCPay SSH key file?",slug:"what-is-btcpay-ssh-key-file"},{level:3,title:"Forgot BTCPay Admin password?",slug:"forgot-btcpay-admin-password"},{level:3,title:"How to add a new user by invite?",slug:"how-to-add-a-new-user-by-invite"},{level:3,title:"How to disable U2F and 2FA for a user?",slug:"how-to-disable-u2f-and-2fa-for-a-user"},{level:3,title:"How to configure SMTP settings in BTCPay?",slug:"how-to-configure-smtp-settings-in-btcpay"},{level:3,title:"Error: Maintenance feature requires access to SSH properly configured in BTCPayServer configuration",slug:"error-maintenance-feature-requires-access-to-ssh-properly-configured-in-btcpayserver-configuration"},{level:3,title:"Error: Your local changes to the following files would be overwritten by merge",slug:"error-your-local-changes-to-the-following-files-would-be-overwritten-by-merge"},{level:3,title:"Error: BTCPAY_SSHKEYFILE is not set when running the docker install, or unable to update through Server Settings / Maintenance",slug:"error-btcpay-sshkeyfile-is-not-set-when-running-the-docker-install-or-unable-to-update-through-server-settings-maintenance"},{level:2,title:"Theme / Customization",slug:"theme-customization"},{level:3,title:"How to customize my BTCPay theme style?",slug:"how-to-customize-my-btcpay-theme-style"},{level:3,title:"How to modify the checkout page?",slug:"how-to-modify-the-checkout-page"},{level:3,title:"How to add Google Analytics code to BTCPay?",slug:"how-to-add-google-analytics-code-to-btcpay"},{level:2,title:"Policies",slug:"policies"},{level:3,title:"How to allow registration on my BTCPay Server?",slug:"how-to-allow-registration-on-my-btcpay-server"},{level:3,title:"How to hide my BTCPay Server from Search Engines?",slug:"how-to-hide-my-btcpay-server-from-search-engines"},{level:2,title:"Services",slug:"services"},{level:3,title:"How to remotely connect to my BTCPay full node?",slug:"how-to-remotely-connect-to-my-btcpay-full-node"},{level:2,title:"Files",slug:"files"},{level:3,title:"How to upload files to BTCPay?",slug:"how-to-upload-files-to-btcpay"}]},{title:"Stores FAQ",frontmatter:{},regularPath:"/FAQ/Stores.html",relativePath:"FAQ/Stores.md",key:"v-1eb7e25b",path:"/FAQ/Stores/",headers:[{level:2,title:"How to create a store in BTCPay Server?",slug:"how-to-create-a-store-in-btcpay-server"},{level:2,title:"How many stores can I create?",slug:"how-many-stores-can-i-create"},{level:2,title:"Why are invoices without payment showing as complete?",slug:"why-are-invoices-without-payment-showing-as-complete"},{level:2,title:"Add network fee to invoice (vary with mining fees)?",slug:"add-network-fee-to-invoice-vary-with-mining-fees"},{level:2,title:"Allow anyone to create invoice",slug:"allow-anyone-to-create-invoice"},{level:2,title:"Invoice expires if the full amount has not been paid after ... minutes",slug:"invoice-expires-if-the-full-amount-has-not-been-paid-after-minutes"},{level:2,title:"Payment invalid if transactions fails to confirm ... minutes after invoice expiration",slug:"payment-invalid-if-transactions-fails-to-confirm-minutes-after-invoice-expiration"},{level:2,title:"Consider the invoice confirmed when the payment transaction",slug:"consider-the-invoice-confirmed-when-the-payment-transaction"},{level:2,title:"Consider the invoice confirmed with RBF flag on 0-conf setup",slug:"consider-the-invoice-confirmed-with-rbf-flag-on-0-conf-setup"},{level:2,title:"Consider the invoice paid even if the paid amount is ... % less than expected",slug:"consider-the-invoice-paid-even-if-the-paid-amount-is-less-than-expected"},{level:2,title:"How to disable email on invoices",slug:"how-to-disable-email-on-invoices"},{level:2,title:"How to denominate invoices in sats",slug:"how-to-denominate-invoices-in-sats"},{level:2,title:"How to redirect store invoices after payment?",slug:"how-to-redirect-store-invoices-after-payment"},{level:2,title:"Can I delete invoices from BTCPay?",slug:"can-i-delete-invoices-from-btcpay"},{level:2,title:"How to collect additional buyer information?",slug:"how-to-collect-additional-buyer-information"},{level:2,title:"How to change the exchange rate provider for invoices?",slug:"how-to-change-the-exchange-rate-provider-for-invoices"},{level:2,title:"Getting GetRatesAsync was called on coinaverage error",slug:"getting-getratesasync-was-called-on-coinaverage-error"},{level:2,title:"What is a payment request?",slug:"what-is-a-payment-request"},{level:2,title:"What is the difference between a payment request and invoice?",slug:"what-is-the-difference-between-a-payment-request-and-invoice"}]},{title:"Synchronization FAQ",frontmatter:{},regularPath:"/FAQ/Synchronization.html",relativePath:"FAQ/Synchronization.md",key:"v-0c2701b6",path:"/FAQ/Synchronization/",headers:[{level:2,title:"Why does BTCPay sync?",slug:"why-does-btcpay-sync"},{level:2,title:"Can I skip the synchronization?",slug:"can-i-skip-the-synchronization"},{level:2,title:"How do I know that BTCPay synced completely?",slug:"how-do-i-know-that-btcpay-synced-completely"},{level:2,title:"How can I check the block height of my bitcoin node?",slug:"how-can-i-check-the-block-height-of-my-bitcoin-node"},{level:2,title:"BTCPay Server takes forever to synchronize",slug:"btcpay-server-takes-forever-to-synchronize"},{level:3,title:"Cause 1: Not enough CPU",slug:"cause-1-not-enough-cpu"},{level:3,title:"Cause 2: Using swap memory",slug:"cause-2-using-swap-memory"},{level:2,title:"BTCPay Server keeps showing that my node is always starting",slug:"btcpay-server-keeps-showing-that-my-node-is-always-starting"},{level:3,title:"Cause 1: You do not have enough RAM",slug:"cause-1-you-do-not-have-enough-ram"},{level:3,title:"Cause 2: You do not have enough storage",slug:"cause-2-you-do-not-have-enough-storage"},{level:3,title:"Cause 3: You accidentally disabled pruning",slug:"cause-3-you-accidentally-disabled-pruning"},{level:3,title:"Cause 4: Your bitcoin data directory is corrupted",slug:"cause-4-your-bitcoin-data-directory-is-corrupted"},{level:3,title:"Cause 5: Your last wallet synchronisation goes beyond pruned data",slug:"cause-5-your-last-wallet-synchronisation-goes-beyond-pruned-data"},{level:2,title:"I'm running a full node and have a synched blockchain, can BTCPay use it so that it doesn't have to do a full sync?",slug:"im-running-a-full-node-and-have-a-synched-blockchain-can-btcpay-use-it-so-that-it-doesnt-have-to-do-a-full-sync"},{level:2,title:"How to enable Bitcoin node pruning?",slug:"how-to-enable-bitcoin-node-pruning"},{level:2,title:"How to disable Bitcoin node pruning?",slug:"how-to-disable-bitcoin-node-pruning"}]},{title:"Wallet FAQ",frontmatter:{},regularPath:"/FAQ/Wallet.html",relativePath:"FAQ/Wallet.md",key:"v-65060acd",path:"/FAQ/Wallet/",headers:[{level:2,title:"What is BTCPay Server wallet?",slug:"what-is-btcpay-server-wallet"},{level:2,title:"How to set up my wallet with BTCPay Server?",slug:"how-to-set-up-my-wallet-with-btcpay-server"},{level:2,title:"Can I use a hardware wallet with BTCPay Server?",slug:"can-i-use-a-hardware-wallet-with-btcpay-server"},{level:2,title:"Is there address re-use for separate stores using same xpub?",slug:"is-there-address-re-use-for-separate-stores-using-same-xpub"},{level:2,title:"Do I have to use BTCPay Server wallet?",slug:"do-i-have-to-use-btcpay-server-wallet"},{level:2,title:"Why is sending a transaction using Trezor failing?",slug:"why-is-sending-a-transaction-using-trezor-failing"},{level:2,title:"Missing payments in my software or hardware wallet",slug:"missing-payments-in-my-software-or-hardware-wallet"},{level:3,title:"The gap limit problem",slug:"the-gap-limit-problem"},{level:3,title:"The gap limit solution",slug:"the-gap-limit-solution"},{level:2,title:"What is a derivation scheme?",slug:"what-is-a-derivation-scheme"},{level:2,title:"What is a Replace-By-Fee (RBF) transaction?",slug:"what-is-a-replace-by-fee-rbf-transaction"},{level:2,title:"Does BTCPay Server use mempoolfullrbf=1 ?",slug:"does-btcpay-server-use-mempoolfullrbf-1-"},{level:2,title:"How to add custom labels and comments to transactions?",slug:"how-to-add-custom-labels-and-comments-to-transactions"},{level:2,title:"I don't see Lightning network payments in BTCPay wallet?",slug:"i-dont-see-lightning-network-payments-in-btcpay-wallet"},{level:2,title:"Is there a mobile app for BTCPay Server wallet?",slug:"is-there-a-mobile-app-for-btcpay-server-wallet"}]},{title:"Forms",frontmatter:{},regularPath:"/Forms.html",relativePath:"Forms.md",key:"v-7900ca36",path:"/Forms/",headers:[{level:2,title:"Setting up your store's first Custom form.",slug:"setting-up-your-stores-first-custom-form"},{level:2,title:"Create a custom form.",slug:"create-a-custom-form"},{level:2,title:"Public Forms",slug:"public-forms"},{level:2,title:"Adjust invoice amounts based on user input",slug:"adjust-invoice-amounts-based-on-user-input"},{level:3,title:"Charging extra based on shipping method",slug:"charging-extra-based-on-shipping-method"},{level:3,title:"Promo codes",slug:"promo-codes"},{level:3,title:"Showing user input on the receipt",slug:"showing-user-input-on-the-receipt"},{level:2,title:"Support",slug:"support"}]},{title:"BTCPay Server Documentation",frontmatter:{},regularPath:"/Guide.html",relativePath:"Guide.md",key:"v-51796845",path:"/Guide/",headers:[{level:2,title:"What is BTCPay Server?",slug:"what-is-btcpay-server"},{level:2,title:"How BTCPay Server works?",slug:"how-btcpay-server-works"},{level:2,title:"Features",slug:"features"},{level:2,title:"Getting started",slug:"getting-started"},{level:2,title:"Get involved",slug:"get-involved"},{level:2,title:"Support",slug:"support"}]},{title:"Hardware Wallet Integration",frontmatter:{},regularPath:"/HardwareWalletIntegration.html",relativePath:"HardwareWalletIntegration.md",key:"v-2ad91fe5",path:"/HardwareWalletIntegration/",headers:[{level:2,title:"Getting Started",slug:"getting-started"},{level:3,title:"Spending funds",slug:"spending-funds"},{level:2,title:"Advanced Settings",slug:"advanced-settings"},{level:2,title:"Supported Hardware Wallets",slug:"supported-hardware-wallets"}]},{title:"What is an invoice in BTCPay Server?",frontmatter:{description:"Learn what are invoices and how to manage them in BTCPay Server.",tags:["Invoices","Payment request","Bitcoin invoices","Invoice status","Managing bitcoin invoices","Bitcoin invoicing"]},regularPath:"/Invoices.html",relativePath:"Invoices.md",key:"v-3526ef36",path:"/Invoices/",headers:[{level:2,title:"Invoice statuses",slug:"invoice-statuses"},{level:3,title:"Invoice details",slug:"invoice-details"},{level:3,title:"Invoice filtering",slug:"invoice-filtering"},{level:3,title:"Invoice export",slug:"invoice-export"},{level:2,title:"Refunding an invoice",slug:"refunding-an-invoice"},{level:2,title:"Archiving invoices",slug:"archiving-invoices"}]},{title:"LNDhub API",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lndhub-api/edit/master/README.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lndhub-api"},regularPath:"/LNDhubAPI/",relativePath:"LNDhubAPI/README.md",key:"v-9b2edb34",path:"/LNDhubAPI/",headers:[{level:2,title:"Importing the wallet",slug:"importing-the-wallet"},{level:3,title:"BlueWallet",slug:"bluewallet"},{level:3,title:"Zeus",slug:"zeus"},{level:3,title:"Alby",slug:"alby"},{level:2,title:"Support this plugin",slug:"support-this-plugin"}]},{title:"LNDhub Compatibility",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank/edit/master/docs/LNDhub.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank"},regularPath:"/LNbank/LNDhub.html",relativePath:"LNbank/LNDhub.md",key:"v-60c4a545",path:"/LNbank/LNDhub/",headers:[{level:2,title:"Importing the wallet",slug:"importing-the-wallet"},{level:3,title:"BlueWallet",slug:"bluewallet"},{level:3,title:"Zeus",slug:"zeus"},{level:3,title:"Alby",slug:"alby"}]},{title:"LNbank",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank/edit/master/README.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank"},regularPath:"/LNbank/",relativePath:"LNbank/README.md",key:"v-21ea7c46",path:"/LNbank/",headers:[{level:2,title:"Use cases",slug:"use-cases"},{level:2,title:"Technicalities",slug:"technicalities"},{level:2,title:"Caveats",slug:"caveats"},{level:2,title:"Features and Compatibility",slug:"features-and-compatibility"},{level:2,title:"How to activate and use LNbank",slug:"how-to-activate-and-use-lnbank"},{level:3,title:"Server admin",slug:"server-admin"},{level:3,title:"User",slug:"user"},{level:2,title:"Support this plugin",slug:"support-this-plugin"}]},{title:"Troubleshooting",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank/edit/master/docs/Troubleshooting.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-lnbank"},regularPath:"/LNbank/Troubleshooting.html",relativePath:"LNbank/Troubleshooting.md",key:"v-7a7299c2",path:"/LNbank/Troubleshooting/",headers:[{level:2,title:"Debugging connection problems",slug:"debugging-connection-problems"},{level:3,title:"DNS problems",slug:"dns-problems"},{level:3,title:"For Cloudflare users",slug:"for-cloudflare-users"},{level:3,title:"Using cURL for debugging",slug:"using-curl-for-debugging"},{level:2,title:"Manual deployment",slug:"manual-deployment"}]},{title:"Connecting Ledger Wallet to BTCPay Server",frontmatter:{},regularPath:"/LedgerWallet.html",relativePath:"LedgerWallet.md",key:"v-1a5789ad",path:"/LedgerWallet/",headers:[{level:2,title:"Ledger Nano S Wallet Setup",slug:"ledger-nano-s-wallet-setup"},{level:3,title:"Requirements",slug:"requirements"},{level:3,title:"Quick Setup",slug:"quick-setup"},{level:3,title:"Spending from BTCPay Server wallet with Ledger",slug:"spending-from-btcpay-server-wallet-with-ledger"}]},{title:"Lightning Network (LN) and BTCPay Server",frontmatter:{},regularPath:"/LightningNetwork.html",relativePath:"LightningNetwork.md",key:"v-6761eaa9",path:"/LightningNetwork/",headers:[{level:2,title:"Overview",slug:"overview"},{level:2,title:"Choosing the Lightning Network implementation",slug:"choosing-the-lightning-network-implementation"},{level:2,title:"Lightning node configuration in BTCPay Server",slug:"lightning-node-configuration-in-btcpay-server"},{level:3,title:"Connecting your internal Lightning Node",slug:"connecting-your-internal-lightning-node"},{level:3,title:"Connecting an external Lightning Node in BTCPay Server",slug:"connecting-an-external-lightning-node-in-btcpay-server"},{level:2,title:"Getting started with BTCPay Server and LND",slug:"getting-started-with-btcpay-server-and-lnd"},{level:3,title:"Control your LND using Ride The Lightning (RTL)",slug:"control-your-lnd-using-ride-the-lightning-rtl"},{level:3,title:"Control your LND using Zap",slug:"control-your-lnd-using-zap"},{level:3,title:"Control your LND using Lightning Joule",slug:"control-your-lnd-using-lightning-joule"},{level:3,title:"Control your LND via the command-line: lncli",slug:"control-your-lnd-via-the-command-line-lncli"},{level:2,title:"Getting started with BTCPay Server and Core Lightning (CLN)",slug:"getting-started-with-btcpay-server-and-core-lightning-cln"},{level:3,title:"Control your CLN using Ride The Lightning (RTL)",slug:"control-your-cln-using-ride-the-lightning-rtl"},{level:3,title:"Control your CLN via the command-line: lightning-cli",slug:"control-your-cln-via-the-command-line-lightning-cli"},{level:2,title:"Lightning node backup",slug:"lightning-node-backup"},{level:3,title:"Funding your on-chain wallet",slug:"funding-your-on-chain-wallet"}]},{title:"Opening and operating payment channels",frontmatter:{},regularPath:"/LightningNetwork_PaymentChannels.html",relativePath:"LightningNetwork_PaymentChannels.md",key:"v-25de27bb",path:"/LightningNetwork_PaymentChannels/"},{title:"BTCPay Magento Integration",frontmatter:{},regularPath:"/Magento.html",relativePath:"Magento.md",key:"v-78fb4ca5",path:"/Magento/",headers:[{level:2,title:"Magento 1",slug:"magento-1"},{level:2,title:"Magento 2",slug:"magento-2"}]},{title:"API Specification",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/docs/API.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/API.html",relativePath:"NBXplorer/API.md",key:"v-20a8c736",path:"/NBXplorer/API/",headers:[{level:2,title:"Table of content",slug:"table-of-content"},{level:2,title:"Configuration",slug:"configuration"},{level:2,title:"Authentication",slug:"authentication"},{level:2,title:"Derivation Scheme Format",slug:"derivation-scheme-format"},{level:2,title:"Track a derivation scheme",slug:"track-a-derivation-scheme"},{level:2,title:"Track a specific address",slug:"track-a-specific-address"},{level:2,title:"Query transactions associated to a derivationScheme",slug:"query-transactions-associated-to-a-derivationscheme"},{level:2,title:"Query transactions associated to a specific address",slug:"query-transactions-associated-to-a-specific-address"},{level:2,title:"Query a single transaction associated to a address or derivation scheme",slug:"query-a-single-transaction-associated-to-a-address-or-derivation-scheme"},{level:2,title:"Get current balance",slug:"get-current-balance"},{level:2,title:"Get a transaction",slug:"get-a-transaction"},{level:2,title:"Get connection status to the chain",slug:"get-connection-status-to-the-chain"},{level:2,title:"Get a new unused address",slug:"get-a-new-unused-address"},{level:2,title:"Get scriptPubKey information of a Derivation Scheme",slug:"get-scriptpubkey-information-of-a-derivation-scheme"},{level:2,title:"Get available Unspent Transaction Outputs (UTXOs)",slug:"get-available-unspent-transaction-outputs-utxos"},{level:2,title:"Get available Unspent Transaction Outputs of a specific address",slug:"get-available-unspent-transaction-outputs-of-a-specific-address"},{level:2,title:"Notifications via websocket",slug:"notifications-via-websocket"},{level:2,title:"Broadcast a transaction",slug:"broadcast-a-transaction"},{level:2,title:"Rescan a transaction",slug:"rescan-a-transaction"},{level:2,title:"Get fee rate",slug:"get-fee-rate"},{level:2,title:"Scan UTXO Set",slug:"scan-utxo-set"},{level:2,title:"Get scan status",slug:"get-scan-status"},{level:2,title:"Wipe derivation scheme transactions",slug:"wipe-derivation-scheme-transactions"},{level:2,title:"Query event stream",slug:"query-event-stream"},{level:2,title:"Query event stream (from most recent)",slug:"query-event-stream-from-most-recent"},{level:2,title:"Create Partially Signed Bitcoin Transaction",slug:"create-partially-signed-bitcoin-transaction"},{level:2,title:"Update Partially Signed Bitcoin Transaction",slug:"update-partially-signed-bitcoin-transaction"},{level:2,title:"Attach metadata to a derivation scheme",slug:"attach-metadata-to-a-derivation-scheme"},{level:2,title:"Detach metadata from a derivation scheme",slug:"detach-metadata-from-a-derivation-scheme"},{level:2,title:"Retrieve metadata from a derivation scheme",slug:"retrieve-metadata-from-a-derivation-scheme"},{level:2,title:"Manual pruning",slug:"manual-pruning"},{level:2,title:"Generate a wallet",slug:"generate-a-wallet"},{level:2,title:"Node RPC Proxy",slug:"node-rpc-proxy"},{level:2,title:"Health check",slug:"health-check"},{level:2,title:"Liquid integration",slug:"liquid-integration"},{level:3,title:"Liquid Confidential Addresses",slug:"liquid-confidential-addresses"},{level:3,title:"Liquid Transactions support",slug:"liquid-transactions-support"}]},{title:"Migration from DBTrie backend to Postgres backend",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/docs/Postgres-Migration.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/Postgres-Migration.html",relativePath:"NBXplorer/Postgres-Migration.md",key:"v-eee9bb82",path:"/NBXplorer/Postgres-Migration/"},{title:"Documentation of SQL Schema",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/docs/Postgres-Schema.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/Postgres-Schema.html",relativePath:"NBXplorer/Postgres-Schema.md",key:"v-6a07ad05",path:"/NBXplorer/Postgres-Schema/",headers:[{level:2,title:"Using wallets tables",slug:"using-wallets-tables"},{level:2,title:"Making your own indexer",slug:"making-your-own-indexer"},{level:2,title:"Views and functions",slug:"views-and-functions"},{level:3,title:"Function: to_btc",slug:"function-to-btc"},{level:3,title:"Function: getwalletsrecent",slug:"function-get-wallets-recent"},{level:3,title:"View: utxos",slug:"view-utxos"},{level:3,title:"View: descriptorsscriptsunused",slug:"view-descriptors-scripts-unused"},{level:3,title:"View: wallets_utxos",slug:"view-wallets-utxos"},{level:3,title:"View: wallets_balances",slug:"view-wallets-balances"},{level:3,title:"Materialized view: wallets_history",slug:"materialized-view-wallets-history"},{level:3,title:"Function: getwalletshistogram",slug:"function-get-wallets-histogram"},{level:3,title:"Function: nbxv1getwallet_id",slug:"function-nbxv1-get-wallet-id"},{level:3,title:"Function: nbxv1getdescriptor_id",slug:"function-nbxv1-get-descriptor-id"}]},{title:"NBXplorer",frontmatter:{editLink:"https://github.com/dgarage/NBXplorer/edit/master/README.md",externalRepo:"https://github.com/dgarage/NBXplorer"},regularPath:"/NBXplorer/",relativePath:"NBXplorer/README.md",key:"v-e3db5fd8",path:"/NBXplorer/",headers:[{level:2,title:"Prerequisite",slug:"prerequisite"},{level:2,title:"API Specification",slug:"api-specification"},{level:2,title:"How to build and run?",slug:"how-to-build-and-run"},{level:2,title:"How to use the API?",slug:"how-to-use-the-api"},{level:2,title:"With Docker",slug:"with-docker"},{level:2,title:"How to develop on it?",slug:"how-to-develop-on-it"},{level:2,title:"How to configure?",slug:"how-to-configure"},{level:3,title:"Configuration file",slug:"configuration-file"},{level:3,title:"Command line parameters",slug:"command-line-parameters"},{level:3,title:"Environment variables",slug:"environment-variables"},{level:2,title:"How to Run",slug:"how-to-run"},{level:3,title:"Command Line",slug:"command-line"},{level:2,title:"Important Note",slug:"important-note"},{level:2,title:"How to query?",slug:"how-to-query"},{level:3,title:"Using Postman",slug:"using-postman"},{level:2,title:"Message Brokers",slug:"message-brokers"},{level:3,title:"Azure Service Bus",slug:"azure-service-bus"},{level:3,title:"Queues",slug:"queues"},{level:3,title:"Topics",slug:"topics"},{level:3,title:"RabbitMq",slug:"rabbitmq"},{level:2,title:"Client API",slug:"client-api"},{level:2,title:"How to run the tests?",slug:"how-to-run-the-tests"},{level:2,title:"How to add support to my altcoin",slug:"how-to-add-support-to-my-altcoin"},{level:2,title:"Licence",slug:"licence"},{level:2,title:"Special thanks",slug:"special-thanks"}]},{title:"BTCPay Server NIP05 Support",frontmatter:{editLink:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.NIP05/edit/master/docs/readme.md",externalRepo:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.NIP05"},regularPath:"/Nostr/",relativePath:"Nostr/readme.md",key:"v-2352e414",path:"/Nostr/",headers:[{level:2,title:"Usage",slug:"usage"}]},{title:"Notifications",frontmatter:{},regularPath:"/Notifications.html",relativePath:"Notifications.md",key:"v-88980e76",path:"/Notifications/",headers:[{level:2,title:"Notification Alerts",slug:"notification-alerts"},{level:2,title:"Server Emails",slug:"server-emails"},{level:2,title:"Store Emails",slug:"store-emails"},{level:3,title:"SMTP Email Setup",slug:"smtp-email-setup"},{level:2,title:"Forgot Password Email",slug:"forgot-password-email"},{level:2,title:"New User Confirmation Email",slug:"new-user-confirmation-email"},{level:2,title:"New User Invitation Email",slug:"new-user-invitation-email"},{level:2,title:"Custom Emails",slug:"custom-emails"},{level:2,title:"Email rules",slug:"email-rules"}]},{title:"OpenCart integration",frontmatter:{description:"How to integrate BTCPay Server into your OpenCart store.",tags:["OpenCart","Plugin","eCommerce"]},regularPath:"/OpenCart.html",relativePath:"OpenCart.md",key:"v-8d0f1fc6",path:"/OpenCart/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"1. Install BTCPay extension",slug:"1-install-btcpay-extension"},{level:3,title:"1.1 Install the extension from OpenCart admin dashboard",slug:"11-install-the-extension-from-opencart-admin-dashboard"},{level:3,title:"1.2 Download and install the extension from Marketplace or GitHub",slug:"12-download-and-install-the-extension-from-marketplace-or-github"},{level:3,title:"1.3 Install the extension",slug:"13-install-the-extension"},{level:2,title:"2. Connecting OpenCart and BTCPay Server",slug:"2-connecting-opencart-and-btcpay-server"},{level:3,title:"2.1 Configure BTCPay Server extension in OpenCart",slug:"21-configure-btcpay-server-extension-in-opencart"},{level:3,title:"2.2 Create an API key and configure permissions",slug:"22-create-an-api-key-and-configure-permissions"},{level:2,title:"3. Test the checkout",slug:"3-test-the-checkout"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"Enable debug mode",slug:"enable-debug-mode"},{level:2,title:"The order states do not update, although the invoice has been paid.",slug:"the-order-states-do-not-update-although-the-invoice-has-been-paid"},{level:2,title:"I have trouble with using the extension or some other related questions.",slug:"i-have-trouble-with-using-the-extension-or-some-other-related-questions"}]},{title:"BTCPay Server Payjoin Guide",frontmatter:{},regularPath:"/Payjoin.html",relativePath:"Payjoin.md",key:"v-15132f85",path:"/Payjoin/",headers:[{level:2,title:"Enabling Payjoin as a merchant",slug:"enabling-payjoin-as-a-merchant"},{level:2,title:"Paying to Payjoin as a user",slug:"paying-to-payjoin-as-a-user"},{level:2,title:"Why did a payjoin not happen?",slug:"why-did-a-payjoin-not-happen"},{level:2,title:"Supported wallets",slug:"supported-wallets"}]},{title:"Payment Requests",frontmatter:{},regularPath:"/PaymentRequests.html",relativePath:"PaymentRequests.md",key:"v-e98912f6",path:"/PaymentRequests/",headers:[{level:2,title:"Payment Requests Video",slug:"payment-requests-video"},{level:2,title:"Customize Your Payment Requests",slug:"customize-your-payment-requests"},{level:2,title:"Create a Payment Request",slug:"create-a-payment-request"},{level:2,title:"Paid Request for Payment",slug:"paid-request-for-payment"},{level:2,title:"Customize Payment Requests",slug:"customize-payment-requests"}]},{title:"Payouts",frontmatter:{},regularPath:"/Payouts.html",relativePath:"Payouts.md",key:"v-15dab665",path:"/Payouts/",headers:[{level:2,title:"How does it work?",slug:"how-does-it-work"},{level:3,title:"Example",slug:"example"},{level:2,title:"Using Greenfield API",slug:"using-greenfield-api"}]},{title:"PodServer",frontmatter:{editLink:"https://github.com/dennisreimann/btcpayserver-plugin-podserver/edit/master/README.md",externalRepo:"https://github.com/dennisreimann/btcpayserver-plugin-podserver"},regularPath:"/PodServer/",relativePath:"PodServer/README.md",key:"v-49efd338",path:"/PodServer/",headers:[{level:2,title:"Use cases",slug:"use-cases"},{level:2,title:"Technicalities",slug:"technicalities"},{level:2,title:"Features and Compatibility",slug:"features-and-compatibility"},{level:2,title:"Notes",slug:"notes"},{level:2,title:"How to activate and use PodServer",slug:"how-to-activate-and-use-podserver"},{level:3,title:"Server admin",slug:"server-admin"},{level:3,title:"User",slug:"user"},{level:2,title:"Support this plugin",slug:"support-this-plugin"}]},{title:"Prestashop integration",frontmatter:{},regularPath:"/PrestaShop.html",relativePath:"PrestaShop.md",key:"v-68f6ac6a",path:"/PrestaShop/",headers:[{level:2,title:"Server Requirements",slug:"server-requirements"},{level:2,title:"Install BTCPay Plugin",slug:"install-btcpay-plugin"},{level:2,title:"Connecting the store",slug:"connecting-the-store"},{level:3,title:"Create the API key yourself",slug:"create-the-api-key-yourself"},{level:2,title:"3. Contribute",slug:"3-contribute"},{level:2,title:"PrestaShop Support",slug:"prestashop-support"}]},{title:"(1) Register account",frontmatter:{},regularPath:"/RegisterAccount.html",relativePath:"RegisterAccount.md",key:"v-f5202af6",path:"/RegisterAccount/",headers:[{level:2,title:"Account Registration",slug:"account-registration"},{level:3,title:"Configuring e-mail",slug:"configuring-e-mail"},{level:3,title:"Two-factor authentication",slug:"two-factor-authentication"}]},{title:"Reporting in BTCPay",frontmatter:{},regularPath:"/Reporting.html",relativePath:"Reporting.md",key:"v-40e08a05",path:"/Reporting/"},{title:"How to accept Bitcoin in Shopify",frontmatter:{},regularPath:"/Shopify.html",relativePath:"Shopify.md",key:"v-0597b005",path:"/Shopify/",headers:[{level:2,title:"Prerequisites:",slug:"prerequisites"},{level:2,title:"Setting up BTCPay Server with Shopify",slug:"setting-up-btcpay-server-with-shopify"}]},{title:"Shopware integration",frontmatter:{},regularPath:"/Shopware.html",relativePath:"Shopware.md",key:"v-21fce50b",path:"/Shopware/",headers:[{level:2,title:"Plugin for Shopware 6",slug:"plugin-for-shopware-6"},{level:2,title:"Plugin for Shopware 5",slug:"plugin-for-shopware-5"}]},{title:"Support",frontmatter:{},regularPath:"/Support.html",relativePath:"Support.md",key:"v-7c2268b6",path:"/Support/",headers:[{level:2,title:"Free support",slug:"free-support"},{level:2,title:"Paid support",slug:"paid-support"}]},{title:"TicketTailor plugin for BTCPayServer",frontmatter:{editLink:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.TicketTailor/edit/master/README.md",externalRepo:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.TicketTailor"},regularPath:"/TicketTailor/",relativePath:"TicketTailor/README.md",key:"v-50ea01b4",path:"/TicketTailor/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Flow",slug:"flow"},{level:2,title:"Additional Configuration",slug:"additional-configuration"},{level:2,title:"Secret Tickets",slug:"secret-tickets"}]},{title:"Dollar Cost Averaging Automation",frontmatter:{editLink:"https://github.com/btcpayserver/btcTransmuter/edit/master/docs/DCA.md",externalRepo:"https://github.com/btcpayserver/btcTransmuter"},regularPath:"/Transmuter/DCA.html",relativePath:"Transmuter/DCA.md",key:"v-937bc12e",path:"/Transmuter/DCA/",headers:[{level:2,title:"Dollar Cost Averaging Automation",slug:"dollar-cost-averaging-automation"},{level:2,title:"Why use Transmuter instead of dedicated DCA services?",slug:"why-use-transmuter-instead-of-dedicated-dca-services"},{level:2,title:"Setup",slug:"setup"}]},{title:"BTCPay Email Receipts - Ticket Sale Guide",frontmatter:{editLink:"https://github.com/btcpayserver/btcTransmuter/edit/master/docs/EmailReceiptsPreset.md",externalRepo:"https://github.com/btcpayserver/btcTransmuter"},regularPath:"/Transmuter/EmailReceiptsPreset.html",relativePath:"Transmuter/EmailReceiptsPreset.md",key:"v-9c5e78fe",path:"/Transmuter/EmailReceiptsPreset/",headers:[{level:2,title:"How the Ticket Sale System Works",slug:"how-the-ticket-sale-system-works"},{level:2,title:"BTCPay POS App Setup",slug:"btcpay-pos-app-setup"},{level:2,title:"Transmuter Email Receipts Setup",slug:"transmuter-email-receipts-setup"}]},{title:"BtcTransmuter Docs",frontmatter:{editLink:"https://github.com/btcpayserver/btcTransmuter/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/btcTransmuter"},regularPath:"/Transmuter/",relativePath:"Transmuter/README.md",key:"v-784978e6",path:"/Transmuter/",headers:[{level:2,title:"Introduction - What is BtcTransmuter?",slug:"introduction-what-is-btctransmuter"},{level:2,title:"How does it work?",slug:"how-does-it-work"},{level:2,title:"Can I use this in production",slug:"can-i-use-this-in-production"},{level:2,title:"How do I deploy?",slug:"how-do-i-deploy"},{level:2,title:"What extensions are provided?",slug:"what-extensions-are-provided"},{level:2,title:"What preset recipes are provided?",slug:"what-preset-recipes-are-provided"},{level:2,title:"How do I write an extension?",slug:"how-do-i-write-an-extension"},{level:3,title:"Adding a Trigger",slug:"adding-a-trigger"},{level:3,title:"Adding an Action",slug:"adding-an-action"},{level:3,title:"Adding an External Service",slug:"adding-an-external-service"}]},{title:"Trocador",frontmatter:{editLink:"https://github.com/saltrafael/trocador-plugin/edit/master/README.md",externalRepo:"https://github.com/saltrafael/trocador-plugin"},regularPath:"/Trocador/",relativePath:"Trocador/README.md",key:"v-604d19c6",path:"/Trocador/",headers:[{level:2,title:"Use Cases and Features",slug:"use-cases-and-features"},{level:2,title:"Caveats",slug:"caveats"},{level:2,title:"Compatibility",slug:"compatibility"},{level:2,title:"How to activate",slug:"how-to-activate"}]},{title:"Troubleshooting an issue in BTCPay Server",frontmatter:{},regularPath:"/Troubleshooting.html",relativePath:"Troubleshooting.md",key:"v-36032c85",path:"/Troubleshooting/",headers:[{level:2,title:"1. Replicating the issue",slug:"1-replicating-the-issue"},{level:3,title:"1.1 Updating the server",slug:"11-updating-the-server"},{level:3,title:"1.2 Restarting the server",slug:"12-restarting-the-server"},{level:3,title:"1.3 Restarting a service",slug:"13-restarting-a-service"},{level:2,title:"2. Looking through the logs",slug:"2-looking-through-the-logs"},{level:3,title:"2.1 BTCPay Logs",slug:"21-btcpay-logs"},{level:3,title:"2.2 Lightning Network Logs",slug:"22-lightning-network-logs"},{level:3,title:"2.2.1 - Lightning Network LND - Docker",slug:"221-lightning-network-lnd-docker"},{level:3,title:"2.2.2 - Lightning Network Core Lightning (CLN) - Docker",slug:"222-lightning-network-core-lightning-cln-docker"},{level:2,title:"2.3 - Bitcoin Node Logs",slug:"23-bitcoin-node-logs"},{level:2,title:"3. Finding a solution yourself (Google, FAQ, GitHub issues)",slug:"3-finding-a-solution-yourself-google-faq-github-issues"},{level:3,title:"3.1 BTCPay FAQ",slug:"31-btcpay-faq"},{level:3,title:"3.2 GitHub",slug:"32-github"},{level:3,title:"3.3 Mattermost",slug:"33-mattermost"},{level:2,title:"4. Asking for help",slug:"4-asking-for-help"},{level:3,title:"4.1 Asking the community (general problems)",slug:"41-asking-the-community-general-problems"},{level:3,title:"4.2 Opening an Issue on GitHub (advanced problems)",slug:"42-opening-an-issue-on-github-advanced-problems"},{level:3,title:"4.3 Premium Support",slug:"43-premium-support"},{level:3,title:"4.4 Lightning Network Support",slug:"44-lightning-network-support"}]},{title:"Try out BTCPay server",frontmatter:{},regularPath:"/TryItOut.html",relativePath:"TryItOut.md",key:"v-31f01d3e",path:"/TryItOut/",headers:[{level:2,title:"Our mainnet demo server",slug:"our-mainnet-demo-server"},{level:2,title:"Our Testnet demo server",slug:"our-testnet-demo-server"},{level:2,title:"Third-party hosts",slug:"third-party-hosts"},{level:2,title:"Start testing",slug:"start-testing"},{level:3,title:"BTCPay Server in action",slug:"btcpay-server-in-action"},{level:2,title:"Questions",slug:"questions"}]},{title:"Who can use BTCPay Server?",frontmatter:{description:"Who uses BTCPay Server and why? What are the benefits of using BTCPay Server over other payment gateways?",tags:["Use-case","Target-audience","BTCPay users","benefits"]},regularPath:"/UseCase.html",relativePath:"UseCase.md",key:"v-d4151eb6",path:"/UseCase/",headers:[{level:2,title:"Merchants",slug:"merchants"},{level:3,title:"Online stores",slug:"online-stores"},{level:3,title:"Physical stores",slug:"physical-stores"},{level:2,title:"Self-sovereign individuals",slug:"self-sovereign-individuals"},{level:2,title:"Freelancers & bill pay",slug:"freelancers-bill-pay"},{level:2,title:"Charities & non-profits",slug:"charities-non-profits"},{level:2,title:"Developers",slug:"developers"},{level:2,title:"Local communities",slug:"local-communities"},{level:2,title:"Cryptocurrency exchanges",slug:"cryptocurrency-exchanges"},{level:2,title:"Hosting providers",slug:"hosting-providers"}]},{title:"How to verify release signatures",frontmatter:{editLink:"https://github.com/btcpayserver/BTCPayServer.Vault/edit/master/docs/HowToVerify.md",externalRepo:"https://github.com/btcpayserver/BTCPayServer.Vault"},regularPath:"/Vault/HowToVerify.html",relativePath:"Vault/HowToVerify.md",key:"v-63822f36",path:"/Vault/HowToVerify/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"Checking PGP signatures",slug:"checking-pgp-signatures"},{level:3,title:"Importing Nicolas Dorier pgp keys (only first time)",slug:"importing-nicolas-dorier-pgp-keys-only-first-time"},{level:3,title:"Checking the actual PGP signature",slug:"checking-the-actual-pgp-signature"}]},{frontmatter:{editLink:"https://github.com/btcpayserver/BTCPayServer.Vault/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/BTCPayServer.Vault"},regularPath:"/Vault/",relativePath:"Vault/README.md",key:"v-dae82c60",path:"/Vault/",headers:[{level:2,title:"Why BTCPayServer Vault",slug:"why-btcpayserver-vault"},{level:2,title:"How to install",slug:"how-to-install"},{level:3,title:"Direct download",slug:"direct-download"},{level:3,title:"Via brew (macOS only)",slug:"via-brew-macos-only"},{level:2,title:"How does BTCPayServer Vault work",slug:"how-does-btcpayserver-vault-work"},{level:2,title:"Is it safe?",slug:"is-it-safe"},{level:2,title:"How to build?",slug:"how-to-build"},{level:2,title:"Documentation",slug:"documentation"},{level:2,title:"Licence",slug:"licence"},{level:2,title:"Special thanks",slug:"special-thanks"}]},{title:"Joomla VirtueMart integration",frontmatter:{description:"How to integrate BTCPay Server into your Joomla VirtueMart store.",tags:["VirtueMart","Joomla","Plugin","eCommerce"]},regularPath:"/VirtueMart.html",relativePath:"VirtueMart.md",key:"v-0e38183b",path:"/VirtueMart/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"1. Install BTCPay Plugin",slug:"1-install-btcpay-plugin"},{level:3,title:"1.1 Install plugin from Joomla Admin Dashboard (recommended)",slug:"11-install-plugin-from-joomla-admin-dashboard-recommended"},{level:3,title:"1.2 Download and install plugin from JED or GitHub",slug:"12-download-and-install-plugin-from-jed-or-github"},{level:3,title:"1.3 Enable the plugin",slug:"13-enable-the-plugin"},{level:2,title:"2. Connecting VirtueMart and BTCPay Server",slug:"2-connecting-virtuemart-and-btcpay-server"},{level:3,title:"2.1 Add BTCPay payment gateway in VirtueMart",slug:"21-add-btcpay-payment-gateway-in-virtuemart"},{level:3,title:"2.2 Create an API key and configure permissions",slug:"22-create-an-api-key-and-configure-permissions"},{level:3,title:"2.3 Create a webhook on BTCPay Server",slug:"23-create-a-webhook-on-btcpay-server"},{level:2,title:"3. Test the checkout",slug:"3-test-the-checkout"},{level:2,title:"Customizing VirtueMart BTCPay payment method settings",slug:"customizing-virtuemart-btcpay-payment-method-settings"},{level:3,title:"Section: BTCPay Server connection settings",slug:"section-btcpay-server-connection-settings"},{level:3,title:"Section: Order states mapping",slug:"section-order-states-mapping"},{level:3,title:"Section: Restrictions",slug:"section-restrictions"},{level:3,title:"Section Discounts and fees",slug:"section-discounts-and-fees"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:'Error on checkout "There was an error processing the payment on BTCPay Server. Please try again and contact us if the problem persists."',slug:"error-on-checkout-there-was-an-error-processing-the-payment-on-btcpay-server-please-try-again-and-contact-us-if-the-problem-persists-"},{level:2,title:"The order states do not update although the invoice has been paid",slug:"the-order-states-do-not-update-although-the-invoice-has-been-paid"},{level:2,title:"I have troubles with using the plugin or some other related questions",slug:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"}]},{title:"The BTCPay Server Coinjoin plugin",frontmatter:{editLink:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.Wabisabi/edit/master/docs/readme.md",externalRepo:"https://github.com/Kukks/BTCPayServerPlugins/tree/master/Plugins/BTCPayServer.Plugins.Wabisabi"},regularPath:"/Wabisabi/",relativePath:"Wabisabi/readme.md",key:"v-315abc86",path:"/Wabisabi/",headers:[{level:2,title:"Installation",slug:"installation"},{level:2,title:"Usage",slug:"usage"},{level:2,title:"Spending privately",slug:"spending-privately"},{level:2,title:"Pleb mode vs Scientist mode",slug:"pleb-mode-vs-scientist-mode"},{level:2,title:"Additional Coordinators",slug:"additional-coordinators"},{level:2,title:"Running a coordinator",slug:"running-a-coordinator"}]},{title:"BTCPay Server Walkthrough",frontmatter:{},regularPath:"/Walkthrough.html",relativePath:"Walkthrough.md",key:"v-5bcac676",path:"/Walkthrough/",headers:[{level:2,title:"Store",slug:"store"},{level:2,title:"Notifications",slug:"notifications"},{level:2,title:"Dashboard",slug:"dashboard"},{level:2,title:"Wallets",slug:"wallets"},{level:3,title:"Bitcoin",slug:"bitcoin"},{level:3,title:"Lightning",slug:"lightning"},{level:2,title:"Payments",slug:"payments"},{level:3,title:"Invoices",slug:"invoices"},{level:3,title:"Payment Requests",slug:"payment-requests"},{level:3,title:"Pull Payments",slug:"pull-payments"},{level:3,title:"Payouts",slug:"payouts"},{level:3,title:"Pay Button",slug:"pay-button"},{level:2,title:"Apps",slug:"apps"},{level:2,title:"Plugins",slug:"plugins"},{level:2,title:"Server settings",slug:"server-settings"},{level:2,title:"Account",slug:"account"},{level:2,title:"Join The BTCPay Community",slug:"join-the-btcpay-community"}]},{title:"BTCPay Server Wallet",frontmatter:{},regularPath:"/Wallet.html",relativePath:"Wallet.md",key:"v-13a93ebf",path:"/Wallet/",headers:[{level:2,title:"Wallet features",slug:"wallet-features"},{level:3,title:"Transactions",slug:"transactions"},{level:3,title:"Send",slug:"send"},{level:3,title:"Receive",slug:"receive"},{level:3,title:"Pull Payments",slug:"pull-payments"},{level:3,title:"Payouts",slug:"payouts"},{level:3,title:"Re-scan",slug:"re-scan"},{level:3,title:"Settings",slug:"settings"}]},{title:"(3) Wallet Setup",frontmatter:{},regularPath:"/WalletSetup.html",relativePath:"WalletSetup.md",key:"v-8c111c76",path:"/WalletSetup/"},{title:"Connecting Wasabi Wallet to BTCPay Server",frontmatter:{},regularPath:"/WasabiWallet.html",relativePath:"WasabiWallet.md",key:"v-7d101341",path:"/WasabiWallet/",headers:[{level:2,title:"Wasabi Wallet Setup",slug:"wasabi-wallet-setup"},{level:2,title:"Quick Setup",slug:"quick-setup"},{level:2,title:"Step by Step",slug:"step-by-step"},{level:2,title:"Setup store wallet",slug:"setup-store-wallet"},{level:3,title:"Connecting Wasabi to BTCPay Server Full Node (If you're self-hosting BTCPay)",slug:"connecting-wasabi-to-btcpay-server-full-node-if-youre-self-hosting-btcpay"},{level:3,title:"Configuring the Gap Limit in Wasabi",slug:"configuring-the-gap-limit-in-wasabi"}]},{title:"(4) What's Next?",frontmatter:{},regularPath:"/WhatsNext.html",relativePath:"WhatsNext.md",key:"v-53d8e985",path:"/WhatsNext/",headers:[{level:2,title:"Creating the Point of Sale App",slug:"creating-the-point-of-sale-app"},{level:2,title:"Creating the Crowdfund App",slug:"creating-the-crowdfund-app"},{level:2,title:"Creating the Payment Request",slug:"creating-the-payment-request"},{level:2,title:"Creating the Pay Button",slug:"creating-the-pay-button"},{level:2,title:"Connecting your BTCPay store to your e-commerce platform",slug:"connecting-your-btcpay-store-to-your-e-commerce-platform"},{level:2,title:"Connecting Additional BTCPay Services",slug:"connecting-additional-btcpay-services"},{level:2,title:"Join The BTCPay Community",slug:"join-the-btcpay-community"}]},{title:"WooCommerce integration",frontmatter:{description:"How to integrate BTCPay Server into your WooCommerce store.",tags:["WooCommerce","WordPress","Plugin","eCommerce"]},regularPath:"/WooCommerce.html",relativePath:"WooCommerce.md",key:"v-faa5f0f6",path:"/WooCommerce/",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"1. Install BTCPay Plugin",slug:"1-install-btcpay-plugin"},{level:3,title:"1.1 Install plugin from WordPress Admin Dashboard (recommended)",slug:"11-install-plugin-from-wordpress-admin-dashboard-recommended"},{level:3,title:"1.2 Download and install plugin from GitHub",slug:"12-download-and-install-plugin-from-github"},{level:2,title:"2. Connecting WooCommerce and BTCPay Server",slug:"2-connecting-woocommerce-and-btcpay-server"},{level:3,title:"2.1 Connect using the API key wizard (recommended)",slug:"21-connect-using-the-api-key-wizard-recommended"},{level:3,title:"2.2 Connect by manually creating the API key and permissions",slug:"22-connect-by-manually-creating-the-api-key-and-permissions"},{level:2,title:"3. Testing the checkout",slug:"3-testing-the-checkout"},{level:2,title:"4. Customizing BTCPay WooCommerce V2",slug:"4-customizing-btcpay-woocommerce-v2"},{level:3,title:"4.1 Global Settings",slug:"41-global-settings"},{level:3,title:"4.2 Payment Gateway specific",slug:"42-payment-gateway-specific"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"Error: Call to undefined function BTCPayServer\\Http\\curl_init()",slug:"error-call-to-undefined-function-btcpayserver-http-curl-init"},{level:3,title:"The order states do not update although the invoice has been paid",slug:"the-order-states-do-not-update-although-the-invoice-has-been-paid"},{level:3,title:"I get an error during checkout but not sure what the problem is.",slug:"i-get-an-error-during-checkout-but-not-sure-what-the-problem-is"},{level:3,title:"I have troubles with using the plugin or some other related questions",slug:"i-have-troubles-with-using-the-plugin-or-some-other-related-questions"},{level:3,title:"Create a new API key",slug:"create-a-new-api-key"},{level:3,title:"I messed around with the webhook, how to fix",slug:"i-messed-around-with-the-webhook-how-to-fix"},{level:2,title:"Deploying WooCommerce from BTCPay Server",slug:"deploying-woocommerce-from-btcpay-server"}]},{title:"Easy Automation for BTCPay Server using Zapier.com - No Programming Skills Required",frontmatter:{editLink:"https://github.com/btcpayserver/zapier/edit/master/README.md",externalRepo:"https://github.com/btcpayserver/zapier"},regularPath:"/Zapier/",relativePath:"Zapier/README.md",key:"v-a6ea6734",path:"/Zapier/",headers:[{level:2,title:"Free to Use",slug:"free-to-use"},{level:2,title:"What does it do?",slug:"what-does-it-do"},{level:2,title:"Who is it for?",slug:"who-is-it-for"},{level:2,title:"Some Examples",slug:"some-examples"},{level:2,title:"Getting Started",slug:"getting-started"},{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Security Considerations",slug:"security-considerations"},{level:2,title:"Which permissions should I choose for my API key?",slug:"which-permissions-should-i-choose-for-my-api-key"},{level:2,title:"How does it work technically?",slug:"how-does-it-work-technically"},{level:2,title:"Troubleshooting",slug:"troubleshooting"},{level:3,title:"I got a 403 Forbidden error, what happened?",slug:"i-got-a-403-forbidden-error-what-happened"},{level:3,title:"I deleted the webhook from my BTCPay Server store by mistake.",slug:"i-deleted-the-webhook-from-my-btcpay-server-store-by-mistake"},{level:2,title:"Source Code, Issues and Feature Requests",slug:"source-code-issues-and-feature-requests"},{level:2,title:"Credits and Support",slug:"credits-and-support"}]},{title:"Pull payments",frontmatter:{},regularPath:"/PullPayments.html",relativePath:"PullPayments.md",key:"v-51df4a0d",path:"/PullPayments/",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:2,title:"Concept",slug:"concept"},{level:2,title:"Greenfield API",slug:"greenfield-api"},{level:2,title:"User interface",slug:"user-interface"},{level:3,title:"Create a pull payment",slug:"create-a-pull-payment"},{level:3,title:"Approve and pay a payout",slug:"approve-and-pay-a-payout"},{level:2,title:"Additional use cases for the Pull Payments feature",slug:"additional-use-cases-for-the-pull-payments-feature"}]},{title:"Refunds",frontmatter:{},regularPath:"/Refund.html",relativePath:"Refund.md",key:"v-1dfa3141",path:"/Refund/",headers:[{level:2,title:"Create a refund",slug:"create-a-refund"},{level:2,title:"Processing refund",slug:"processing-refund"}]},{frontmatter:{layout:"Homepage",heroImage:"/img/btcpay-logo.svg",heroText:"BTCPay Server Documentation",tagline:"Start Accepting Bitcoin Payments With 0% Fees & No Third-party",features:[{title:"User Guide",details:"Guide for users and merchants using BTCPay Server.",actionText:"User Docs ❯",actionLink:"/Guide/"},{title:"Deployment",details:"Setting up and maintaining your BTCPay Server.",actionText:"Deployment Docs ❯",actionLink:"/Deployment/"},{title:"Development",details:"Docs for developers building on BTCPay Server.",actionText:"Developers Docs ❯",actionLink:"/Development/"}],footer:"Content Released under MIT license."},regularPath:"/",relativePath:"README.md",key:"v-dde32bd4",path:"/"}],themeConfig:{domain:"https://docs.btcpayserver.org",logo:"/img/btcpay-logo.svg",displayAllHeaders:!1,repo:"btcpayserver/btcpayserver-doc",docsDir:"docs",editLinks:!0,notSatisfiedLinks:!0,sidebarDepth:0,algolia:{indexName:"btcpayserver",appId:"EJBX059GO6",apiKey:"534cbeda78baf7eeb4767d555f2585d4",algoliaOptions:{typoTolerance:"min"},autocompleteOptions:{openOnFocus:!0}},nav:[{text:"User Guide",link:"/Guide/"},{text:"Deployment",link:"/Deployment/"},{text:"Developers",link:"/Development/"},{text:"Contribute",link:"/Contribute/"},{text:"FAQ",link:"/FAQ/"}],social:[{text:"Website",link:"https://btcpayserver.org/",rel:"noopener noreferrer website"},{text:"Chat",link:"https://chat.btcpayserver.org/",rel:"noopener noreferrer chat"},{text:"GitHub",link:"https://github.com/btcpayserver/",rel:"noopener noreferrer github"},{text:"Twitter",link:"https://twitter.com/BtcpayServer",rel:"noopener noreferrer twitter"}],sidebar:{"/Development":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/Contribute":[{title:"Contribute",path:"/Contribute/",collapsable:!1,children:[{title:"Code",path:"/Contribute/Dev",collapsable:!1,children:["/Contribute/DevCode","/Contribute/DevTest"]},{title:"Write",path:"/Contribute/Write",collapsable:!1,children:[["/Contribute/WriteSoftware","Software Stack"],["/Contribute/WriteDocs","Documentation"],["/Contribute/WriteBlog","Blog"]]},["/Contribute/Design","Design"],["/Contribute/Translate","Translate"],["/Contribute/Misc","Miscellaneous"]]}],"/Vault":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/BTCPayServer":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/NBXplorer":[{title:"Greenfield API",collapsable:!1,children:[["https://docs.btcpayserver.org/API/Greenfield/v1","Greenfield API v1",{type:"external"}],"/BTCPayServer/greenfield-authorization","/Development/GreenFieldExample","/Development/GreenFieldExample-NodeJS","/Development/GreenfieldExample-PHP"]},{title:"Development",collapsable:!1,children:["/Development/","/Development/LocalDevelopment",["/BTCPayServer/greenfield-development","Greenfield API Development"],"/Development/Plugins","/Development/Altcoins","/Development/InvoiceMetadata","/Development/Theme"]},{title:"NBXplorer",collapsable:!1,children:[["/NBXplorer/","Overview"],"/NBXplorer/API",["/NBXplorer/Postgres-Schema","Postgres Schema"],["/NBXplorer/Postgres-Migration","Postgres Migration"]]},{title:"More",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"BTCPay Server Vault",path:"/Vault/",children:["/Vault/HowToVerify"]},["/BTCPayServer/Security","Security Disclosures"],["/Development/TestnetDemo","Testnet deployment"]]}],"/Configurator":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/Deployment":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/Docker":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/ElectrumX":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/ElectrumPersonalServer":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/Transmuter":[{title:"Deployment",collapsable:!1,children:["/Deployment/","/Deployment/ThirdPartyHosting","/Configurator/"]},{title:"Docker",collapsable:!1,children:[["/Docker/","Introduction"],{title:"Web/Cloud Deployment",path:"/Deployment/webdeployment",collapsable:!1,children:[["/Deployment/LunaNode","Luna Node"],["/Deployment/voltagecloud","Voltage Cloud"],["/Deployment/Clovyr","Clovyr"],["/Deployment/DreamlabNetwork","Dream Lab Network"],{title:"Azure",path:"/Deployment/Azure",children:[["/Deployment/AzurePennyPinching","Reducing Cost on Azure"]]},{title:"Google Cloud",path:"/Deployment/GoogleCloud"}]},{title:"Hardware Deployment",path:"/Deployment/Hardware",collapsable:!1,children:[{title:"Raspberry Pi Deployment",path:"/Deployment/RaspberryPi4"},{title:"Hack0 Deployment",path:"/Deployment/Hack0"},{title:"LightningInABox Deployment",path:"/Deployment/LightningInABox"},["/Deployment/DynamicDNS","Dynamic DNS"],["/Docker/cloudflare-tunnel","Exposing on clearnet with Cloudflare"],["/Deployment/ReverseSSHtunnel","Exposing on clearnet with a reverse SSH Tunnel"],["/Deployment/ReverseProxyToTor","Exposing on Tor"],{title:"Hardware As A Service",path:"/Deployment/HardwareAsAService"}]},{title:"Docker Plugins",children:[{title:"Transmuter",path:"/Transmuter/",children:[["/Transmuter/DCA","Dollar Cost Average Preset"],["/Transmuter/EmailReceiptsPreset","Email Receipts Preset"]]},["/ElectrumX","Electrum X"],["/ElectrumPersonalServer","Electrum Personal Server"],"/Docker/joinmarket","/Docker/pihole","/Docker/fireflyiii","/Docker/ndlc","/Docker/lightning-terminal","/Docker/tallycoin-connect","/Docker/cloudflare-tunnel"]},{title:"FastSync",path:"/Docker/fastsync"},{title:"Backup & Restore",path:"/Docker/backup-restore"}]},{title:"Manual Deployment",collapsable:!1,children:["/Deployment/ManualDeployment","/Deployment/ManualDeploymentExtended"]}],"/FAQ/":[{title:"FAQ and common issues",path:"/FAQ/",collapsable:!1,children:["General","Deployment","Synchronization","Integrations","ServerSettings","Stores","Wallet","Apps","LightningNetwork","Altcoin"]}],"/":[{title:"Learn",collapsable:!1,children:[["/Guide","Introduction"],["/TryItOut","Try it out"],["/Walkthrough","Walkthrough"],["/UseCase","Use Case"],["/BTCPayVsOthers","BTCPay Server vs. Others"]]},{title:"Getting Started",collapsable:!1,children:["/RegisterAccount","/CreateStore",{title:"(3) Wallet Setup",path:"/WalletSetup",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"Connect Wallet",path:"/ConnectWallet"},{title:"Create Wallet",path:"/CreateWallet"},{title:"Lightning Network",path:"/LightningNetwork"}]},["/WhatsNext","(4) What's Next?"]]},{title:"Features",collapsable:!1,children:[["/Dashboard","Dashboard"],{title:"Wallet",path:"/Wallet",children:[["/HardwareWalletIntegration","Hardware Wallet Integration"]]},["/Invoices","Invoices"],["/PaymentRequests","Payment Requests"],{title:"Pull Payments",path:"/PullPayments",children:[["/Refund","Refunds"]]},["/Payouts","Payouts"],{title:"Form Builder",path:"/Forms",children:[["/AdvancedForms","Advanced Forms"]]},["/Apps","Apps"],["/Reporting","Reporting"],{title:"Payjoin",path:"/Payjoin",children:[["https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki","Payjoin specification",{type:"external"}]]}]},{title:"Integrations",collapsable:!1,children:[["/WooCommerce","WooCommerce"],["/Shopify","Shopify"],["/Magento","Magento"],["/PrestaShop","PrestaShop"],["/OpenCart","OpenCart"],["/Drupal","Drupal"],["/Zapier/","Zapier"],["/Shopware","Shopware"],["/VirtueMart","VirtueMart"],["/CustomIntegration","Custom Integration"]]},{title:"Plugins",collapsable:!1,initialOpenGroupIndex:-1,children:[{title:"LNbank",path:"/LNbank/",children:[["/LNbank/LNDhub","LNDhub Compatibility"],["/LNbank/Troubleshooting","Troubleshooting"]]},["/LNDhubAPI/","LNDhub API"],["/Nostr/","Nostr"],["/PodServer/","PodServer"],["/TicketTailor/","TicketTailor"],["/Trocador/","Trocador"],["/Wabisabi/","Wabisabi Coinjoin"]]},{title:"Support and Community",collapsable:!1,initialOpenGroupIndex:-1,children:[["/Troubleshooting","Troubleshooting an issue"],["/Support","Support"],["/Community","Community"]]}]}}},ql=n(228),{COLOR_MODES:Ql,STORE_ATTR:Gl,setColorMode:Vl}=n(91),Ul=e=>"Enter"===e.code||13===(e.keyCode||e.which),Xl=e=>{const t=e.target.matches("#algolia-search-input")&&Ul(e);(e.target.matches(".ds-dropdown-menu *")||t)&&document.getElementById("algolia-search-input").blur(),e.target.matches(".ytEmbed")&&(e.preventDefault(),(e=>{const t=e.querySelector("iframe[data-src]");if(t){const e=t.getAttribute("data-src");t.setAttribute("src",e)}})(e.target))};if("undefined"==typeof process||"server"!==process.env.VUE_ENV){const e=window.matchMedia("(prefers-color-scheme: dark)").matches?Ql[1]:Ql[0],t=window.localStorage.getItem(Gl);Vl(Ql.includes(t)?t:e)}n(229);Gn.component("Badge",()=>Promise.all([n.e(0),n.e(45)]).then(n.bind(null,806))),Gn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(46)]).then(n.bind(null,669))),Gn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(47)]).then(n.bind(null,670)));n(230);var Kl=[({router:e})=>{"undefined"!=typeof process&&"server"===process.env.VUE_ENV||(e.onReady(()=>{const{app:t}=e;ql.forEach(t=>e.addRoute(t)),document.addEventListener("click",Xl),document.addEventListener("keyup",e=>{Ul(e)&&Xl(e)})}),e.afterEach(e=>{const{hash:t}=e;t.length>1&&setTimeout(()=>{const e=t.substring(1),n=document.getElementById(e);n&&n.scrollIntoView()},500)}))},{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({Vue:e})=>{e.component("CodeCopy",Al)}],Jl=[];class Yl extends class{constructor(){this.store=new Gn({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,t){Gn.set(this.store.state,e,t)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}{}Object.assign(Yl.prototype,{getPageAsyncComponent:al,getLayoutAsyncComponent:ll,getAsyncComponent:sl,getVueComponent:cl});var Zl={install(e){const t=new Yl;e.$vuepress=t,e.prototype.$vuepress=t}};function es(e,t){const n=t.toLowerCase();return e.options.routes.some(e=>e.path.toLowerCase()===n)}var ts={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const t=this.pageKey||this.$parent.$page.key;return pl("pageKey",t),Gn.component(t)||Gn.component(t,al(t)),Gn.component(t)?e(t):e("")}},ns={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:t,slots:n})=>e("div",{class:["content__"+t.slotKey]},n()[t.slotKey])},rs={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},os=(n(231),n(232),Object(Tl.a)(rs,(function(){var e=this._self._c;return e("span",[e("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[e("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),e("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),e("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),is={functional:!0,render(e,{parent:t,children:n}){if(t._isMounted)return n;t.$once("hook:mounted",()=>{t.$forceUpdate()})}};Gn.config.productionTip=!1,Gn.use(qa),Gn.use(Zl),Gn.mixin(function(e,t,n=Gn){!function(e){e.locales&&Object.keys(e.locales).forEach(t=>{e.locales[t].path=t});Object.freeze(e)}(t),n.$vuepress.$set("siteData",t);const r=new(e(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((e,t)=>(t.startsWith("$")&&(e[t]=o[t].get),e),i),{computed:i}}(e=>class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let t,n;for(const r in e)"/"===r?n=e[r]:0===this.$page.path.indexOf(r)&&(t=e[r]);return t||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:e}=this.$page.frontmatter;return"string"==typeof e&&e}get $title(){const e=this.$page,{metaTitle:t}=this.$page.frontmatter;if("string"==typeof t)return t;const n=this.$siteTitle,r=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const e=function(e){if(e){const t=e.filter(e=>"description"===e.name)[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(e,t){for(let n=0;nn||(e.hash?!Gn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(e.hash)}:{x:0,y:0})});!function(e){e.beforeEach((t,n,r)=>{if(es(e,t.path))r();else if(/(\/|\.html)$/.test(t.path))if(/\/$/.test(t.path)){const n=t.path.replace(/\/$/,"")+".html";es(e,n)?r(n):r()}else r();else{const n=t.path+"/",o=t.path+".html";es(e,o)?r(o):es(e,n)?r(n):r()}})}(n);const r={};try{await Promise.all(Kl.filter(e=>"function"==typeof e).map(t=>t({Vue:Gn,options:r,router:n,siteData:zl,isServer:e})))}catch(e){console.error(e)}return{app:new Gn(Object.assign(r,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("RouterView",{ref:"layout"}),e("div",{class:"global-ui"},Jl.map(t=>e(t)))])})),router:n}}(!1).then(({app:e,router:t})=>{t.onReady(()=>{e.$mount("#app")})})}]); \ No newline at end of file diff --git a/index.html b/index.html index 76a3248060..da50d9d81a 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - + @@ -49,6 +49,6 @@

    If you'd like to support the project, please visit the donation page.

    - + diff --git a/sitemap.xml b/sitemap.xml index 421c7c2fde..acb792cbd6 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://docs.btcpayserver.org/AdvancedForms/dailyhttps://docs.btcpayserver.org/Apps/dailyhttps://docs.btcpayserver.org/BTCPayServer/LocalDevSetup/dailyhttps://docs.btcpayserver.org/BTCPayServer/Security/dailyhttps://docs.btcpayserver.org/BTCPayServer/db-migration/dailyhttps://docs.btcpayserver.org/BTCPayServer/greenfield-authorization/dailyhttps://docs.btcpayserver.org/BTCPayServer/greenfield-development/dailyhttps://docs.btcpayserver.org/BTCPayVsOthers/dailyhttps://docs.btcpayserver.org/ColdCardWallet/dailyhttps://docs.btcpayserver.org/Community/dailyhttps://docs.btcpayserver.org/Configurator/dailyhttps://docs.btcpayserver.org/ConnectWallet/dailyhttps://docs.btcpayserver.org/Contribute/Design/dailyhttps://docs.btcpayserver.org/Contribute/Dev/dailyhttps://docs.btcpayserver.org/Contribute/DevCode/dailyhttps://docs.btcpayserver.org/Contribute/DevTest/dailyhttps://docs.btcpayserver.org/Contribute/Misc/dailyhttps://docs.btcpayserver.org/Contribute/dailyhttps://docs.btcpayserver.org/Contribute/Translate/dailyhttps://docs.btcpayserver.org/Contribute/Write/dailyhttps://docs.btcpayserver.org/Contribute/WriteBlog/dailyhttps://docs.btcpayserver.org/Contribute/WriteDocs/dailyhttps://docs.btcpayserver.org/Contribute/WriteSoftware/dailyhttps://docs.btcpayserver.org/CreateStore/dailyhttps://docs.btcpayserver.org/CreateWallet/dailyhttps://docs.btcpayserver.org/CustomIntegration/dailyhttps://docs.btcpayserver.org/Dashboard/dailyhttps://docs.btcpayserver.org/Deployment/Azure/dailyhttps://docs.btcpayserver.org/Deployment/AzurePennyPinching/dailyhttps://docs.btcpayserver.org/Deployment/Clovyr/dailyhttps://docs.btcpayserver.org/Deployment/DreamlabNetwork/dailyhttps://docs.btcpayserver.org/Deployment/DynamicDNS/dailyhttps://docs.btcpayserver.org/Deployment/GoogleCloud/dailyhttps://docs.btcpayserver.org/Deployment/Hack0/dailyhttps://docs.btcpayserver.org/Deployment/Hardware/dailyhttps://docs.btcpayserver.org/Deployment/HardwareAsAService/dailyhttps://docs.btcpayserver.org/Deployment/LightningInABox/dailyhttps://docs.btcpayserver.org/Deployment/LunaNode/dailyhttps://docs.btcpayserver.org/Deployment/ManualDeployment/dailyhttps://docs.btcpayserver.org/Deployment/ManualDeploymentExtended/dailyhttps://docs.btcpayserver.org/Deployment/dailyhttps://docs.btcpayserver.org/Deployment/RaspberryPi4/dailyhttps://docs.btcpayserver.org/Deployment/ReverseProxyToTor/dailyhttps://docs.btcpayserver.org/Deployment/ReverseSSHtunnel/dailyhttps://docs.btcpayserver.org/Deployment/ThirdPartyHosting/dailyhttps://docs.btcpayserver.org/Deployment/voltagecloud/dailyhttps://docs.btcpayserver.org/Deployment/webdeployment/dailyhttps://docs.btcpayserver.org/Development/Altcoins/dailyhttps://docs.btcpayserver.org/Development/GreenFieldExample-NodeJS/dailyhttps://docs.btcpayserver.org/Development/GreenFieldExample/dailyhttps://docs.btcpayserver.org/Development/GreenfieldExample-PHP/dailyhttps://docs.btcpayserver.org/Development/InvoiceMetadata/dailyhttps://docs.btcpayserver.org/Development/LocalDev/dailyhttps://docs.btcpayserver.org/Development/LocalDevelopment/dailyhttps://docs.btcpayserver.org/Development/Plugins/dailyhttps://docs.btcpayserver.org/Development/dailyhttps://docs.btcpayserver.org/Development/TestnetDemo/dailyhttps://docs.btcpayserver.org/Development/Theme/dailyhttps://docs.btcpayserver.org/Docker/dailyhttps://docs.btcpayserver.org/Docker/backup-restore/dailyhttps://docs.btcpayserver.org/Docker/chatwoot/dailyhttps://docs.btcpayserver.org/Docker/cloudflare-tunnel/dailyhttps://docs.btcpayserver.org/Docker/fastsync/dailyhttps://docs.btcpayserver.org/Docker/fireflyiii/dailyhttps://docs.btcpayserver.org/Docker/joinmarket/dailyhttps://docs.btcpayserver.org/Docker/lightning-terminal/dailyhttps://docs.btcpayserver.org/Docker/ndlc/dailyhttps://docs.btcpayserver.org/Docker/pihole/dailyhttps://docs.btcpayserver.org/Docker/tallycoin-connect/dailyhttps://docs.btcpayserver.org/Drupal/dailyhttps://docs.btcpayserver.org/ElectrumPersonalServer/dailyhttps://docs.btcpayserver.org/ElectrumWallet/dailyhttps://docs.btcpayserver.org/ElectrumX/dailyhttps://docs.btcpayserver.org/FAQ/Altcoin/dailyhttps://docs.btcpayserver.org/FAQ/Apps/dailyhttps://docs.btcpayserver.org/FAQ/Deployment/dailyhttps://docs.btcpayserver.org/FAQ/General/dailyhttps://docs.btcpayserver.org/FAQ/Integrations/dailyhttps://docs.btcpayserver.org/FAQ/LightningNetwork/dailyhttps://docs.btcpayserver.org/FAQ/dailyhttps://docs.btcpayserver.org/FAQ/ServerSettings/dailyhttps://docs.btcpayserver.org/FAQ/Stores/dailyhttps://docs.btcpayserver.org/FAQ/Synchronization/dailyhttps://docs.btcpayserver.org/FAQ/Wallet/dailyhttps://docs.btcpayserver.org/Forms/dailyhttps://docs.btcpayserver.org/Guide/dailyhttps://docs.btcpayserver.org/HardwareWalletIntegration/dailyhttps://docs.btcpayserver.org/Invoices/dailyhttps://docs.btcpayserver.org/LNDhubAPI/dailyhttps://docs.btcpayserver.org/LNbank/LNDhub/dailyhttps://docs.btcpayserver.org/LNbank/dailyhttps://docs.btcpayserver.org/LNbank/Troubleshooting/dailyhttps://docs.btcpayserver.org/LedgerWallet/dailyhttps://docs.btcpayserver.org/LightningNetwork/dailyhttps://docs.btcpayserver.org/LightningNetwork_PaymentChannels/dailyhttps://docs.btcpayserver.org/Magento/dailyhttps://docs.btcpayserver.org/NBXplorer/API/dailyhttps://docs.btcpayserver.org/NBXplorer/Postgres-Migration/dailyhttps://docs.btcpayserver.org/NBXplorer/Postgres-Schema/dailyhttps://docs.btcpayserver.org/NBXplorer/dailyhttps://docs.btcpayserver.org/Nostr/dailyhttps://docs.btcpayserver.org/Notifications/dailyhttps://docs.btcpayserver.org/OpenCart/dailyhttps://docs.btcpayserver.org/Payjoin/dailyhttps://docs.btcpayserver.org/PaymentRequests/dailyhttps://docs.btcpayserver.org/Payouts/dailyhttps://docs.btcpayserver.org/PodServer/dailyhttps://docs.btcpayserver.org/PrestaShop/dailyhttps://docs.btcpayserver.org/RegisterAccount/dailyhttps://docs.btcpayserver.org/Reporting/dailyhttps://docs.btcpayserver.org/dailyhttps://docs.btcpayserver.org/Shopify/dailyhttps://docs.btcpayserver.org/Support/dailyhttps://docs.btcpayserver.org/Shopware/dailyhttps://docs.btcpayserver.org/TicketTailor/dailyhttps://docs.btcpayserver.org/Transmuter/DCA/dailyhttps://docs.btcpayserver.org/Transmuter/EmailReceiptsPreset/dailyhttps://docs.btcpayserver.org/Transmuter/dailyhttps://docs.btcpayserver.org/Trocador/dailyhttps://docs.btcpayserver.org/Troubleshooting/dailyhttps://docs.btcpayserver.org/TryItOut/dailyhttps://docs.btcpayserver.org/UseCase/dailyhttps://docs.btcpayserver.org/Vault/HowToVerify/dailyhttps://docs.btcpayserver.org/Vault/dailyhttps://docs.btcpayserver.org/VirtueMart/dailyhttps://docs.btcpayserver.org/Wabisabi/dailyhttps://docs.btcpayserver.org/Walkthrough/dailyhttps://docs.btcpayserver.org/Wallet/dailyhttps://docs.btcpayserver.org/WalletSetup/dailyhttps://docs.btcpayserver.org/WasabiWallet/dailyhttps://docs.btcpayserver.org/WhatsNext/dailyhttps://docs.btcpayserver.org/WooCommerce/dailyhttps://docs.btcpayserver.org/Zapier/dailyhttps://docs.btcpayserver.org/Refund/dailyhttps://docs.btcpayserver.org/PullPayments/daily \ No newline at end of file +https://docs.btcpayserver.org/AdvancedForms/dailyhttps://docs.btcpayserver.org/Apps/dailyhttps://docs.btcpayserver.org/BTCPayServer/LocalDevSetup/dailyhttps://docs.btcpayserver.org/BTCPayServer/Security/dailyhttps://docs.btcpayserver.org/BTCPayServer/db-migration/dailyhttps://docs.btcpayserver.org/BTCPayServer/greenfield-authorization/dailyhttps://docs.btcpayserver.org/BTCPayServer/greenfield-development/dailyhttps://docs.btcpayserver.org/BTCPayVsOthers/dailyhttps://docs.btcpayserver.org/ColdCardWallet/dailyhttps://docs.btcpayserver.org/Community/dailyhttps://docs.btcpayserver.org/Configurator/dailyhttps://docs.btcpayserver.org/ConnectWallet/dailyhttps://docs.btcpayserver.org/Contribute/Design/dailyhttps://docs.btcpayserver.org/Contribute/Dev/dailyhttps://docs.btcpayserver.org/Contribute/DevCode/dailyhttps://docs.btcpayserver.org/Contribute/DevTest/dailyhttps://docs.btcpayserver.org/Contribute/Misc/dailyhttps://docs.btcpayserver.org/Contribute/dailyhttps://docs.btcpayserver.org/Contribute/Translate/dailyhttps://docs.btcpayserver.org/Contribute/Write/dailyhttps://docs.btcpayserver.org/Contribute/WriteBlog/dailyhttps://docs.btcpayserver.org/Contribute/WriteDocs/dailyhttps://docs.btcpayserver.org/Contribute/WriteSoftware/dailyhttps://docs.btcpayserver.org/CreateStore/dailyhttps://docs.btcpayserver.org/CreateWallet/dailyhttps://docs.btcpayserver.org/CustomIntegration/dailyhttps://docs.btcpayserver.org/Dashboard/dailyhttps://docs.btcpayserver.org/Deployment/Azure/dailyhttps://docs.btcpayserver.org/Deployment/AzurePennyPinching/dailyhttps://docs.btcpayserver.org/Deployment/Clovyr/dailyhttps://docs.btcpayserver.org/Deployment/DreamlabNetwork/dailyhttps://docs.btcpayserver.org/Deployment/DynamicDNS/dailyhttps://docs.btcpayserver.org/Deployment/GoogleCloud/dailyhttps://docs.btcpayserver.org/Deployment/Hack0/dailyhttps://docs.btcpayserver.org/Deployment/Hardware/dailyhttps://docs.btcpayserver.org/Deployment/HardwareAsAService/dailyhttps://docs.btcpayserver.org/Deployment/LightningInABox/dailyhttps://docs.btcpayserver.org/Deployment/LunaNode/dailyhttps://docs.btcpayserver.org/Deployment/ManualDeployment/dailyhttps://docs.btcpayserver.org/Deployment/ManualDeploymentExtended/dailyhttps://docs.btcpayserver.org/Deployment/dailyhttps://docs.btcpayserver.org/Deployment/RaspberryPi4/dailyhttps://docs.btcpayserver.org/Deployment/ReverseProxyToTor/dailyhttps://docs.btcpayserver.org/Deployment/ReverseSSHtunnel/dailyhttps://docs.btcpayserver.org/Deployment/ThirdPartyHosting/dailyhttps://docs.btcpayserver.org/Deployment/voltagecloud/dailyhttps://docs.btcpayserver.org/Deployment/webdeployment/dailyhttps://docs.btcpayserver.org/Development/Altcoins/dailyhttps://docs.btcpayserver.org/Development/GreenFieldExample-NodeJS/dailyhttps://docs.btcpayserver.org/Development/GreenFieldExample/dailyhttps://docs.btcpayserver.org/Development/GreenfieldExample-PHP/dailyhttps://docs.btcpayserver.org/Development/InvoiceMetadata/dailyhttps://docs.btcpayserver.org/Development/LocalDev/dailyhttps://docs.btcpayserver.org/Development/LocalDevelopment/dailyhttps://docs.btcpayserver.org/Development/Plugins/dailyhttps://docs.btcpayserver.org/Development/dailyhttps://docs.btcpayserver.org/Development/TestnetDemo/dailyhttps://docs.btcpayserver.org/Development/Theme/dailyhttps://docs.btcpayserver.org/Docker/dailyhttps://docs.btcpayserver.org/Docker/backup-restore/dailyhttps://docs.btcpayserver.org/Docker/chatwoot/dailyhttps://docs.btcpayserver.org/Docker/cloudflare-tunnel/dailyhttps://docs.btcpayserver.org/Docker/fastsync/dailyhttps://docs.btcpayserver.org/Docker/fireflyiii/dailyhttps://docs.btcpayserver.org/Docker/joinmarket/dailyhttps://docs.btcpayserver.org/Docker/lightning-terminal/dailyhttps://docs.btcpayserver.org/Docker/ndlc/dailyhttps://docs.btcpayserver.org/Docker/pihole/dailyhttps://docs.btcpayserver.org/Docker/tallycoin-connect/dailyhttps://docs.btcpayserver.org/Drupal/dailyhttps://docs.btcpayserver.org/ElectrumPersonalServer/dailyhttps://docs.btcpayserver.org/ElectrumWallet/dailyhttps://docs.btcpayserver.org/ElectrumX/dailyhttps://docs.btcpayserver.org/FAQ/Altcoin/dailyhttps://docs.btcpayserver.org/FAQ/Apps/dailyhttps://docs.btcpayserver.org/FAQ/Deployment/dailyhttps://docs.btcpayserver.org/FAQ/General/dailyhttps://docs.btcpayserver.org/FAQ/Integrations/dailyhttps://docs.btcpayserver.org/FAQ/LightningNetwork/dailyhttps://docs.btcpayserver.org/FAQ/dailyhttps://docs.btcpayserver.org/FAQ/ServerSettings/dailyhttps://docs.btcpayserver.org/FAQ/Stores/dailyhttps://docs.btcpayserver.org/FAQ/Synchronization/dailyhttps://docs.btcpayserver.org/FAQ/Wallet/dailyhttps://docs.btcpayserver.org/Forms/dailyhttps://docs.btcpayserver.org/Guide/dailyhttps://docs.btcpayserver.org/HardwareWalletIntegration/dailyhttps://docs.btcpayserver.org/Invoices/dailyhttps://docs.btcpayserver.org/LNDhubAPI/dailyhttps://docs.btcpayserver.org/LNbank/LNDhub/dailyhttps://docs.btcpayserver.org/LNbank/dailyhttps://docs.btcpayserver.org/LNbank/Troubleshooting/dailyhttps://docs.btcpayserver.org/LedgerWallet/dailyhttps://docs.btcpayserver.org/LightningNetwork/dailyhttps://docs.btcpayserver.org/LightningNetwork_PaymentChannels/dailyhttps://docs.btcpayserver.org/Magento/dailyhttps://docs.btcpayserver.org/NBXplorer/API/dailyhttps://docs.btcpayserver.org/NBXplorer/Postgres-Migration/dailyhttps://docs.btcpayserver.org/NBXplorer/Postgres-Schema/dailyhttps://docs.btcpayserver.org/NBXplorer/dailyhttps://docs.btcpayserver.org/Nostr/dailyhttps://docs.btcpayserver.org/Notifications/dailyhttps://docs.btcpayserver.org/OpenCart/dailyhttps://docs.btcpayserver.org/Payjoin/dailyhttps://docs.btcpayserver.org/PaymentRequests/dailyhttps://docs.btcpayserver.org/Payouts/dailyhttps://docs.btcpayserver.org/PodServer/dailyhttps://docs.btcpayserver.org/PrestaShop/dailyhttps://docs.btcpayserver.org/RegisterAccount/dailyhttps://docs.btcpayserver.org/Reporting/dailyhttps://docs.btcpayserver.org/Shopify/dailyhttps://docs.btcpayserver.org/Shopware/dailyhttps://docs.btcpayserver.org/Support/dailyhttps://docs.btcpayserver.org/TicketTailor/dailyhttps://docs.btcpayserver.org/Transmuter/DCA/dailyhttps://docs.btcpayserver.org/Transmuter/EmailReceiptsPreset/dailyhttps://docs.btcpayserver.org/Transmuter/dailyhttps://docs.btcpayserver.org/Trocador/dailyhttps://docs.btcpayserver.org/Troubleshooting/dailyhttps://docs.btcpayserver.org/TryItOut/dailyhttps://docs.btcpayserver.org/UseCase/dailyhttps://docs.btcpayserver.org/Vault/HowToVerify/dailyhttps://docs.btcpayserver.org/Vault/dailyhttps://docs.btcpayserver.org/VirtueMart/dailyhttps://docs.btcpayserver.org/Wabisabi/dailyhttps://docs.btcpayserver.org/Walkthrough/dailyhttps://docs.btcpayserver.org/Wallet/dailyhttps://docs.btcpayserver.org/WalletSetup/dailyhttps://docs.btcpayserver.org/WasabiWallet/dailyhttps://docs.btcpayserver.org/WhatsNext/dailyhttps://docs.btcpayserver.org/WooCommerce/dailyhttps://docs.btcpayserver.org/Zapier/dailyhttps://docs.btcpayserver.org/PullPayments/dailyhttps://docs.btcpayserver.org/Refund/dailyhttps://docs.btcpayserver.org/daily \ No newline at end of file