Author

Topic: The Merchants Guide to accepting Bitcoin directly no intermediates - BTCPay (Read 197 times)

hero member
Activity: 1442
Merit: 629
Vires in Numeris
Nice post, and really long Smiley
I'm interested in the accounting (book-keeper's) perspective of this whole process.
When you receive payment for anything in bitcoin (and I don't know in which country you are testing this) you should somehow register that payment, in order to show the tax authority your earnings and costs (if you're a shop and not a person).
If you receive cash or receive a payment with credit/debit card, it's not a problem, because the payments will show up among the liquid assets (cash at hand, cash at bank). when you receive bitcoin from a customer, where do you put that kind of income? Is it a kind of 'other receivables'? And when you exchange it for fiat, you can move that amount to the 'cash at bank'?
I'm really interested, and I hope that someone will have the experience and will show to do these kind of things...
member
Activity: 134
Merit: 52
Good list BTC_Enigma, I used CG in past.
hero member
Activity: 692
Merit: 569
Nice post you can also have look at a bunch of alternatives outlined in this post

https://blog.blockonomics.co/top-5-bitpay-alternatives-46df15ea0c31
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
Even though I'm not a merchant, this is definitely still of interest.  While payment processors have unarguably been beneficial for the adoption of Bitcoin, at the same time, it's best if they don't become too powerful.  Many people were raising concerns over how much influence payment processors had during the big fork debates.  It's reassuring to know there are some slightly more decentralised options available, so that merchants have other routes open to them if they so choose.  No one should have to rely on some big corporate entity just to receive Bitcoin payments in a privacy-centric way.
member
Activity: 134
Merit: 52
I posted this guide on Reddit a while ago, I thought it would be useful to have it here

Not long ago I made a post about finding a way to accept Bitcoin payments to my online store, directly, with no third-party processors, no intermediates.

The post got plenty of love from r/Bitcoin, but I also received plenty of questions from other merchants who would like to explore the possibility of shifting towards a self-sovereignty way of accepting Bitcoin and other coins. The best solution I found is BTCPay.

This guide assumes you’re a merchant who already understands the benefits and the risks of accepting Bitcoin. It's not technical at all. The goal is just to explain plainly what is BTCPay, how it works and cover advantages and disadvantages.

What is BTCPay and why should you care?

    BTCPay Server is an Open Source payment processor, written in C#, that conforms to the invoice API of Bitpay. This allows easy migration of your code base to your own, self-hosted payment processor. source.

The programmer behind the open-source project is Nicolas Dorier, Bitcoin Core contributor. Nicolas decided to fork BitPay processor and create a better solution. With BTCPay it's similar like with Bitcoin. You are your own bank; you control your funds, the payment processor can't just shut you down just because they do not like your business model.

Difference between the BTCPay and the third-party payment processor

Think of BTCPay as a server which allows you to accept bitcoin without intermediates. The payment processors act as a server as well, but your customer's data, IP addresses go through them. Furthermore, most of the payment processors hold your crypto payments, and you’d have to withdraw it or convert it, similar to what exchanges do. The advantages

Benefits
  • You are running a full node and helping the network
  • You are protecting the privacy of your customers
  • You’re using Bitcoin the way it’s supposed to be used, p2p, directly
  • You’re avoiding fees that all payment processors have (monthly subscription/fees per transaction usually 1-2%)
  • You can accept payments directly to your hardware wallet (currently integrated with Ledger very well) and you’re the immediate owner of those assets
  • You can be a host and help other smaller shops accept payments through their stores
  • You can accept other cryptocurrencies through BTCPay (Litecoin currently)
  • You will be able to accept Lightning Network payments (feature still in development)
  • Multiple merchants can have the same server and host their stores there, though this raises the issue of trust

Disadvantages
  • It currently costs around 50-70$ per month (the cost varies depending on the server you’re using)
  • It takes a bit more time to setup and configures to fit your store needs, (took 3-4 hours for myself, I’m not particularly tech-savvy).
  • You can not convert to fiat currency right away like with some payment processors, though in my personal opinion, the immediate conversion ruins the whole point of accepting bitcoin and does not increase the adoption.

ELI5 how BTCPay works?

Currently, there are three basic elements of the puzzle :
  • The server
  • The plugin
  • The wallet

You’re running your own server which has the full node running; the server is called BTCPay Server. Once installed it will be connected to your website subdomain. The plugin connects your server to your Woocommerce Store. In the plugin settings, you can set most of the stuff. A bit more advanced setting can be configured on the server. Your receive payments to your wallet (it’s possible to configure Ledger Nano S right out of the box).

This means that the buyer, pays directly to you in cryptocurrency and that the payment does not go anywhere else, the IP address is not leaked, the buyer data is not shared with a third party in any way. You will see the payment in your ledger wallet.

BTCPay is not the only solution to accept cryptocurrency directly, but after months of trying out, I found it the safest and the easiest to configure.

Getting Started

I am not nearly as smart as Nicolas Dorier who forked the BitPay plugin to bring us this payment system, so I will not go into technical details on how to set the server up. The entire document is available on the Github

Summary of this step is that you have to register with Microsoft Azure server. Upon registration, you'll get 200$ free credits which will be enough for the first few months of for running the server, so basically, there are no upfront costs. Be aware that BTCPay is free; it does not cost a dime, you're paying Microsoft here for the server which will keep your node online 24/7.

After you buy the server, there is a single one-click deploy button you have to click. It will take you to your Azure VM and configure everything for you. There are few things you have to change yourself. Besides documentation, Nicolas made an easy to follow video for this.

The next step is to connect your domain and your server, which is again very easy to follow up in the videos and documents.

The third step is to connect your Woocommerce store by installing the Woo plugin (plugin is free).

The final step is to configure your hardware wallet and set the derivation path. I was amazed that Ledger configuration took only a few seconds. Nicolas did a great job with this one.

When you set up your store, it is highly recommended to test it out. Post any issues that you might find on the Github and if you have any questions, feel free to ask on Slack.

FAQ

Before I answer some of the questions I got from merchants, I'd like to tell that if you're a merchant and have any question, feel free to ask it here. If you're having trouble setting up your BTCPay server, [join the community on Slack](. There are developers and merchants there ready to help you.

Q: Where can I see the example of how BTCPay works and looks?
A: BTCPay website and if you want to see it live you can check my store

Q: Where can I get help/support?
A: BTCPay is an open-source project. The best way to ask questions is through the Slack group.

Q: Can the costs of running BTCPay be cheaper?
A:  it can. Currently, the one-click deployment requires Azure Virtual Machine, but if you’re a programmer or understand VM’s you can deploy one on a different VM. Furthermore, the changes in the Bitcoin Core 0.16.0 (BIP159) make it possible to run the full node in pruned mode to save more disk space.

Also, once the full node is synchronized to the network, you can downgrade the machine on Azure to take a less expensive one.

Penny-pinching cost is a manual process which involves trial and error.

Q: I have a Shopify store, can I use BTCPay?
A: At this moment, no. Shopify is a closed system a company opposed to an open-source project like WordPress, so it’s harder to communicate to them and create a solution. Luckily there are developers in BTCPay community working on it. While I can’t give you precise information, I assume it will eventually be possible.

Q: Can I have more stores connected to my BTCPay server.
A: Absolutely, you can host multiple stores on the same server. The stores can operate and configure settings separately and receive payments separately.

Q: Why use BTCPay vs. just having a BTC address up on your site?
A: The most important reason - the privacy of your customers and your business. BTCPay will generate the new address for each invoice. You just need to select the derivation path for the address (in my case I used Ledger Nano S). The second reason is user-experience. BTCPay integrates as a payment method to your store, so you're customers can checkout with a few clicks.

List of merchants using BTCPay

Note: If you're a merchant accepting BTCPay and would like to be listed here, just comment. The list is in alphabetical order.

  • 9bravos.com
  • bitcoinshirt.co
  • Coincards.ca
  • CryptoAsylum.com
  • halongmining.com
  • ludvigart.com
  • ynotek.com

Useful Links


Full disclosure, I am not in any way related to BTCPay project. I am just the guy who discovered it and fell in love with the community and the good vibes among the users. I wrote this post to help merchants understand it better and to help with promoting this exceptional project. Since I have no skills to contribute by coding, I thought I could help this way.

I understand that this post is long and will not be attractive to anyone except for the merchants, but please share it for the visibility so that we can spread the word. BTCPay is an open-source project, and they accept the donations if you can please support it.
Jump to: