Setup BTCPay Store for Lightning Paywall
The BTCPay server is used to settle the payment processing of the Lightning Paywall with Bitcoin and by Lightning. With a BTCPay server you are your own Bitcoin payment provider and can organize the payment processing of Bitcoin and Lightning on your own.
BTCPay Server is a free and open-source software that allows you to be your own Bitcoin payment processor. BTCPay Server supports a variety of ways to run your own BTCPay Server.
An overview of the different deployment methods can be found at BTCPay Server Choosing a Deployment Method.
You can run a BTCPay server on your own server. Already for less than $10,- per month there are hosters (VPS) that offer the hosting of an own BTCPay server including Bitcoin Blockchain and Lightning Node.
Hosting / VPS
3rd Party BTCPay Server
If you do not want to operate your own BTCPay server, you can also use the services of so-called 3rd party hosters. These providers make the corresponding BTCPay Store available on their own BTCPay servers.
Coinpages also provides a 3rd party solution under the address: https://btcpay.coincharge.io.
Here, publishers can use the Bitcoin payment processing functions free of charge and have the Bitcoin forwarded to their own Bitcoin wallet.
If you use a 3rd party BTCPay server solution, you can only offer Bitcoin payment to your customers.
In order to accept Lightning payments additionally, the use of an own Lightning Node is required.
As already described above, this can be easily implemented with an own BTCPay server at a hoster (such as Lunanode) or the use of a hardware node.
If you would like support in setting up your own BTCpay server including a Lightning node to receive Bitcoin and Lightning payments without restrictions, please contact Coincharge and we will implement this for you.
Create a BTCPay Store
Create an account on the BTCPay server and log in.
In the menu bar that appears at the top you will find the Stores item.
When you click on it, you will be offered the possibility to create a new store.
Create a BTCPay Store
Think of a name for the store and click Create.
We use the name WordPress Lightning Paywall in our example.
We enter the General Settings of the new BTCPay store.
At this point, you must specify which Bitcoin wallet and which lightning node the incoming payments should be credited to.
For more information on how to create a BTCPay store, visit: https://coincharge.io/en/create-a-btcpay-store/
BTCPay Store > General Settings
When configuring the store settings, we focus on the settings that will be adjusted.
For detailed instructions, please refer to the BTCPay instructions at Coincharge: https://coincharge.io/en/set-up-btcpay-store/
Accept Bitcoin Payment
In order to be able to accept Bitcoin payments via our Lightning Paywall, you have to deposit your own Bitcoin wallet, to which the incoming payments will be credited.
To deposit your own Bitcoin wallet or create your own Bitcoin wallet, click on Setup.
BTCPay Store > General Settings > Wallet
For more information on how to create a Bitcoin Wallet, visit: https://coincharge.io/en/btcpay-wallet/#wallet_erstellen
If you already have a hardware or software wallet, this Bitcoin wallet can be used.
In our example we will use the internal BTCPay wallet, which we will create. For this we click on “Create a new wallet”.
Here we have the option to choose between a watch-only wallet and a hot wallet. We choose the Hot Wallet option at this point.
After the yellow warning, you have the option to select an address type. We recommend selecting “Segwit wrapped (compatible with old wallets)”.
With this setting, no owners with older Bitcoin wallets will be excluded and at the same time the cheaper transaction fees will be used.
A seed consisting of 12 words is created.
Write down these 12 words and keep them safe. Those who know these words have access to Bitcoin. With these words, you can transfer your credit at any time.
If you are unable to access the BTCPay server at some point, you will still have full control over your Bitcoin.
Your BTCPay store is now set up to accept Bitcoin payments via the Lightning Paywall.
BTCPay Store > General Settings > Lightning
Accept Lightning Payment
To receive Lightning payments, you need your own Lightning Node. If you use a 3rd party BTCPay server, you will not see this option.
If you have your own BTCPay server, you have your own Lightning Node and can receive Lightning payments.
Accordingly, we click on the Setup button.
We scroll to the bottom of the page and find an empty field under the “Connection String” item.
We click on the green text “clicking here” and the empty field is filled in automatically.
Now just click Submit and the BTCPay store will be able to receive Lightning payments through the Lightning Paywall.
BTCPay Store > General Settings > Payment
In the General Settings we recommend to adjust the settings for Confirmations in the Payments section.
By default, a Bitcoin payment is considered successful if there is a confirmation.
Such a confirmation can take 10 minutes or even longer.
However, it is not reasonable for a reader to wait that long until the blog post is activated.
We therefore recommend that the settings are set to “ls unconfirmed“.
It can be almost ruled out with micro payments that misuse can occur here.
It is more important that the user receives his content faster and that the crediting of the merchant’s Bitcoin wallet can sometimes take a little longer.
BTCPay Store > Checkout experience > Payment
On-Chain and Off-Chain Payment
When a Bitcoin payment is made, it is done via the blockchain and is therefore called an on-chain transaction.
A Bitcoin payment over the Lightning network is made over a separate layer and not on the blockchain. Therefore, Lightning payments are also referred to as off-chain transactions.
When the customer is shown the payment page, either Bitcoin or Lightning can be displayed as the default payment method.
Most users will have Bitcoin and therefore it is recommended to use BTC (On-Chain).
If you are targeting an audience that is familiar with Lightning payments, you should choose BTC (off-chain).
Then it can be determined from which amount Bitcoin or Lightning is offered to the customer.
For micro payments, the Bitcoin transaction fee via the blockchain may be too expensive for the customer. However, so that no customer is excluded, we set the amount low and accept Bitcoin payments (on-chain) from an amount equivalent to $0 (0.0 USD)
A Lightning payment (Off-Chain) is already possible for micro payments of less than 1 cent. Accordingly, Lightning payments should already be accepted from 1 Satoshi.
Since we want to accept both Bitcoin and Lightning payments as low as 1 Satoshi, we set the amount to Greater than 0.0 USD each.
BTCPay Store > Checkout experience > Payment
Furter Payment Settings
For the further settings we recommend to set the checkmarks in each case.
When the customer arrives at the payment page, a QR code is displayed. If he scans the CR code with a normal Bitcoin wallet, a Bitcoin payment (on-chain) is carried out. If the customer uses an Bitcoin wallet that supports Lightning payment (Off-Chain), a Lightning payment will be executed automatically.
Only in the setting, whether a Refund email address must be entered by the user, you should see in line with your offer.
If you activate this field, the user must enter an email address.
The special feature of the Lightning Paywall is that the user does not have to provide any personal data in order to read a paid article.
Therefore, it is recommended not to provide the mandatory email address.
In the Appearande section, the design of the payment page can be customized. Instructions on how to modify this payment page can be found at: https://coincharge.io/en/create-bitcoin-checkout-page-for-btcpay/
BTCPay Store > BTCPay Store ID
The BTCPay Store ID is required to display the billing summary within the WP Lightning Paywall plugin.
You can find the BTCPay Store ID in the store settings on your BTCPay server.
Go to General Settings and there you will find the option General after the configuration option of the different payment methods.
There you will find the information about the Store ID. These details from this field must be copied and pasted into the field of the same name in the WP Lightning Paywall plugin.
Your BTCPay store on the BTCPay server is thus fully set up to receive Bitcoin and Lightning payments through the WordPress Lightning paywall.
The operation of your own BTCPay Server including your own Lightning Node is possible from $10,- per month.
You can get a lot more information on how to run, set up and administer a BTCPay server on Coincharge’s website.
Also helpful information on how to operate a Lightning Node.
If you would like expert support, we are available to give you advice and can recommend an expert from our partner network if you wish.
After you have set up the BTCPay Store and installed the WP Lightning Paywall Plugin on WordPress, the Lightning Paywall needs to communicate with the BTCPay Store.
This is done by pairing the Lightning Paywall Plugin with the BTCpay Store.
The pairing of the Lightning Paywall with the BTCPay Store is explained in: “Pairing the Lightning Paywall with the BTCPay Store”