This project is not covered by Drupal’s security advisory policy.
This module provides a Drupal Commerce 2.x payment plugin for BTCPay Server. It allows you to accept cryptocurrencies without a 3rd party intermediary by becoming your own payment processor.
Demo store
A Drupal Commerce demo store connected with a (testnet) BTCPay Server where you can try the checkout (Bitcoin + Lightning Network) can be found here:
http://drupal.demo.btcpay.tech
Requirements
- BTCPay Server (self hosted or 3rd party or quick start with a testserver)
- Drupal Commerce 2.x installed (installation guide)
- Configured private file system
Installation and configuration
Short walkthrough screencast on installing and configuring the module:
https://youtu.be/XBZwyC2v48s
Quick walkthrough steps
Generate pairing code on BTCPay server
- BTCPay server: create and configure a store
- in store settings go to "Access Tokens"
- click on [Create a new token]
- Label: enter some label (eg. my store)
- Public key: this needs to be left empty
- Facade: "merchant"
- click on [Request pairing]
- on next screen choose your configured store in Pair to select dropdown and click on [approve]
- note down the displayed 7-digit code at the top status message, e.g. "d7afaXr"
(you will need that code below on gateway configuration, see below)
Commerce BTCPay: Installation + configuration
- install module:
composer require drupal/commerce_btcpay
- enable the module:
drush en commerce_btcpay -y
- make sure you have configured private file system (needed to store encrypted public+private key)
- Commerce BTCPay configuration (Commerce -> Configuration -> Payment -> Payment gateways):
- add payment method "BTCPay"
- Mode: Test or Live (you can configure both individually)
- Test/Live server host: enter your URL without https:// prefix e.g. btcpay.yourserver.com (note valid SSL certificate needed)
- Test/Live Paring code: enter the 7-digit pairing code from BTCPay "Access tokens" page (step 9. above)
- Save
You should see a message that the tokens were successfully created.
Status
This module is currently in alpha stage and under active development. Releases will be made available through this project page.
Contributing
Development and issue management is happening on Github for now. https://github.com/btcpayserver/commerce_btcpay
About BTCpay Server
Short excerpt from their project page:
BTCPay Server is a self-hosted, open-source cryptocurrency payment processor. It's secure, private, censorship-resistant and free.
To get a full overview check out our documentation.
Supported cryptocurrencies
BTCPay supports a vast variety of cryptocurrencies (and can be extended in future):
- BTC (Bitcoin)
- BTC 2nd layer Lightning Network for instant settled, low fee transactions
- some altcoins using full node integration (XMR, LTC, ...)
- and most other major altcoins through plugins via Trocador, SideShift and FixedFloat
Compatible with BitPay API
BTCPay was created to be a alternative to 3rd party payment provider BitPay. Therefore BTCPay is invoice API compatible and you can use this payment plugin also with the official BitPay API and sites if you want. But the power of BTCPay is that you can become your own payment provider.
Teaser, future versions of this plugin will be based on the BTCPay Server Greenfield API which is much more powerful and allows more features.
Support / Troubleshooting
You can open an issue on our Github repository or join us on Telegram or Mattermost chat.
Project information
- Module categories: E-commerce, Integrations
- Ecosystem: Commerce Core
- 17 sites report using this module
- Created by ndeet on , updated
- This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
Drupal 10 compatibility