Set up BTCPay Store

This post is also available in: German

Set up BTCPay Store

team

Set up BTCPay Store

In a step by step guide we explain here how you can set up a BTCPay store. As an example we use the setup of a BTCPay store, which you can create at https://btcpay.coincharge.io

You can also use this manual if you have set up your own payment server and want to create a store on it or if you have your store with another third-party provider.

The BTCPay Shop or BTCPay Store manual is divided into four pages:

In part 1 an account and a BTCPay store was created.

This is part 2 (Setting up BTCPay Shop) and this is where general settings are explained.

Set up BTCPay Store

After the BTCPay Store has been created, we can start with the individual settings. The section is called Manage store: Profiles and is divided into the following sub-sections:

  • General Settings (Teil 2 – set up BTCPay Shop)
  • Rates (Part 3 – Administrate BTCPay Store)
  • Checkout experience
  • Acces tokens
  • Users
  • Pay Button
  • Integrations

This page (part 2) contains the General Settings. The other sub-items are administered in the chapter BTCPay Store (part 3) covered.

General note: Each user can create any number of stores.

Every store is the basis for an application. An application can be an app that can also be generated via the BTCPay server, such as the Point of Sale App or the Crowdfund App.

A BTCPay Store must also be created if you want to use an external application. Anyone wishing to accept payments in a WooCommerce or Shopify Bitcoin Onlineshop also needs a BTCPay Store as a basis.

The following images can also be enlarged. Just click on the respective picture.

General Settings

The General Settings area contains the basic information of the BTCPay store. Here you define the name of the store, how to proceed with the individual Bitcoin and Lightning payments. The Bitcoin Wallet is stored on which the received Bitcoins are to be credited and which Bitcoin rate is to be used to calculate the exchange rate.

BTCPay Store general settings

Within General Settings there is the area General.

In the field ld you find the Store ID. The Store ID is assigned by the system and cannot be changed.

In the field Store Name you can give your store a name. This store name will later also be displayed on the payment page.

The URL of the Onlineshop can be entered in the Store Websitefield.

Payment

In the Payment section it is determined how the store should react or proceed to a Bitcoin payment.

BTCPay Store general settings payments

The “Allow anyone to create invoice” field is disabled by default. If you want to use one of the apps used by BTCPay Server, you can also leave this field deactivated. If you want to use a Shopify Onlineshop with the BTCPay Store, you can also leave the checkmark deactivated. For all other external applications it is required that the checkmark is set. This allows external applications (via API) to create invoices on the BTCPay server, which then ensure that a Bitcoin payment page is displayed.

Enable Payjoin/P2EP

Payjoin can increase the privacy of a Bitcoin payment between the payer and the payee (merchant). In case of doubt, this function should remain deactivated.

Add additional fee

The “Add additional fee (network fee) to invoice” field is about an additional fee that can be charged when an end customer sends the invoice amount into numerous instalments. The network fees for a payment are always borne by the payer. If a trader wants to forward the payment receipt later to another Bitcoin address, he must pay the network fee himself. The amount of this fee depends, among other things, on how many previous inbound transactions the new forwarding transaction is made up of. You can protect yourself from these more fees if you leave the default setting this way and only charge an additional fee if a payment is made in several instalments.

Invoice expires

The payer will see a QR code on the payment page/checkout page for a certain period of time, through which the Bitcoin will be sent. The requested Bitcoin amount has been calculated based on the exchange rate. Since the exchange rate is very volatile and can change permanently, the exchange rate should remain valid only for a limited period of time.

It is recommended that the exchange rate is guaranteed to the customer for 15 minutes. This is a period of time that is granted by almost all traders. Accordingly, it is recommended to use the value in the field “Invoice expires if the full amount has not been paid after … minutes” to 15 minutes.

Payment invalid if transactions fails to confirm

After the payment has been made, it will take a while for the receipt to be credited to the merchant’s wallet. This may depend on how much the network fee was, which the payer was willing to pay. If the payer has paid no or only a very small network fee, a transaction may take a little longer. To protect yourself as a trader from the fact that in the meantime the Bitcoin price can fluctuate too much with “Payment invalid if transactions fails to confirm … minutes after invoice expiration” will determine how long it may take for the payment to be confirmed by the network. The default is one day (=1440 minutes).

Consider the invoice paid even if the paid amount is

When asked “Consider the invoice paid even if the paid amount is … less than expected” is about underpayments of the invoice amount. The system expects a certain Bitcoin amount. If less Satoshi actually arrives, there is an underpayment.

This can happen if the payment is not made directly from the payer’s wallet, but from an exchange or exchange office. Here, the network fee is deducted from the balance when a withdrawal is made and correspondingly less arrives.

What is to be done about this? Should the payment be rejected or is there a tolerance where you are still willing to accept the payment anyway? The default is 0 tolerance.

Consider the invoice confirmed when the payment transaction

When setting “Consider the invoice confirmed when the payment transaction…” it is a question of how much confirmation a payment was successful. There are different views of payers and merchants. For a customer (payer) the payment is executed after clicking Send in the wallet. For the merchant, the payment is not completed until it has entered Final on his wallet.

Once the customer has made the payment, this payment is immediately visible in the mempool or blockchain.

However, this transaction has not yet been confirmed by the network. Depending on the amount of network fee paid, this can be the next block after 10 minutes or may take an hour or more. There is also a theoretical risk that a sent transaction will not be confirmed at all. This would be the case if the end customer did not pay a network fee at all.

According to how many confirmations a merchant wants to make the service available to his customer depends on the product and the potential risk of fraud.

A product with a low value can already be made available with the status “ls unconfirmed”. Especially with digital accesses or downloads, the failure is more likely to be tolerated. The damage is less than dissatisfied customers who have to wait a long time for service after payment.

For products that are shipped by mail order, 1 or 2 Confirmation are responsible. Until the goods are shipped, you can check the status of the payment again.

A guaranteed receipt of payment is available after 6 confirmations, this should be used for high-priced products

Derivation Scheme

In the Derivation Scheme area, your own Bitcoin address is stored so that the payment receipts are credited directly to your own wallet.

You can either store the XPub key from an external wallet or use the internal Bitcoin wallet from the BTCPay server.

If you use the BTCPay Store on another BTCPay server, then for security reasons the Bitcoin should be credited to your own, external Bitcoin Wallet.

The article Creating XPub Key with an Electrum Wallet explains how to create your own Electrum Wallet on your own computer and generate an XPub Key.

The article Deposit Xpub Key at BTCPayexplains how to deposit an xPub Key in the BTCPay Shop.

If you run your own BTCPay server or trust the provider of the BTCPay server and have only little credit on the internal Bitcoin Wallet, the internet BTCPay Bitcoin Wallet is recommended for reasons of simplification.

An instruction how to create an internal BTCPay Bitcoin Wallet can be found in the article: “BTCPay Bitcoin Wallet “

BTCPay Store general settings derivation scheme

Regardless of whether you use the XPub Key of an external Bitcoin Wallet or the internal BTCPay Bitcoin Wallet, you must use Modify to store the data.

Thus, the Customer’s Bitcoin payments are credited directly to the corresponding Bitcoin Wallet.

If you use the internal Bitcoin Wallet, the Wallet link will appear later. The Wallet Link takes you to the administration area of the Bitcoin Wallet.

Lightning Nodes

Using Lightning as a payment method is only possible if you run your own BTCPay server. If you use a BTCPay server, this function is deactivated or the administrator has activated it separately.

This is because all Lightning Payments are credited to a single Lightning Node and not to different Lightning Nodes.

But if you run several BTCPay stores, you can easily have the Lightning payments of the different stores credited to your central Lightning Node.

How Lightning is activated for the BTCPay Store can be read in the manual “Set up BTCPay Lightning payments in the BTCPay Shop“.

BTCPay Store general settings lightning nodes

Additional Payments

In the area of Additional Payments there is the possibility to offer additional crypto currencies to its customers. As a merchant, an account with the provider CoinSwitch is required.

CoinSwitch offers more than 50 other crypto currencies for payment. The customer (payer) can use one of the crypto currencies listed there for payment. The crypto currency used by the customer is exchanged from CoinSwitch to Bitcoin. These Bitcoins are then credited to the merchant’s Bitcoin account.

Services

Email settings can be stored in the Services area. As operator of your own BTCPay server, the central email settings are made via the Server Settings. But you can also define your own email settings for a BTCPay store. This is possible at this point.

Other actions

Under the point Other actions the created BTCPay Store can be deleted irrevocably.

The BTCPay Shop or BTCPay Store manual is divided into four pages.

This page was part 2 BTCPay store setup with the general setting. In part 3 Administrate BTCPay Shop, the settings for the areas:

  • Rates
  • Checkout experience
  • Acces tokens
  • Users
  • Pay Button
  • Integrations

explained.

This post is also available in: German