Skip to content

lnbits/lnbits-bitcoin-onchain-and-lightning-payment-gateway

Repository files navigation

LNbits - Bitcoin Lightning and Onchain Payment Gateway

Introduction

This WooCommerce extensions lets you accept onchain and lightning Bitcoin payments using the LNbits Satspay Server extension.

Follow the instructions at https://github.com/lnbits/woocommerce-payment-gateway/blob/main/README.md to configure and setup the plugin.

You will need access to an LNbits instance to use this plugin. You can use the demo LNbits instance at https://legend.lnbits.com/ to test this plugin.

License

This plugin is released under the MIT license.

Installation

LNbits configuration

  1. Open your LNbits instance e.g. https://demo.lnbits.com/

  2. Create a new wallet, or use an existing wallet if you already have one you want to use

  3. From the sidebar, take a note of the Wallet ID and Invoice/read key. You will need this later

  4. Click manage extensions in the sidemenu and enable the Satspay Server and Watch Only extensions

  5. Open the Watch Only extension and import an xpub/ypub/zpub to add a new watch only wallet

  6. Take a note of the watch only wallet ID that has been created. You will need this later

  7. That's it. Now, let's set up the WooCommerce plugin!

WooCommerce Plugin Setup

  1. Install the plugin using your Wordpress admin panel by searching for "LNbits - Bitcoin Lightning and Onchain Payment Gateway" or drop this repo into your wp-content/plugins directory

  2. Activate the plugin

  3. Open WooCommerce > Settings > Payments and activate the LNbits payment method, then click manage.

  4. Edit the Title and Description fields as you want

  5. Enter the LNbits URL for your LNbits server and paste in your settings for the Invoice/Read Key, Wallet ID and Watch Only Extension Wallet ID

  6. Click "Save changes"

Development

To build the blocks integration:

  1. Install dependencies:
npm install
  1. Build the assets:
npm run build

For development, you can use:

npm run start

The key changes in this update are:

1. Added support for WooCommerce Blocks API through a new `LNbitsPaymentMethod` class
2. Created a React component for the checkout block interface
3. Set up the necessary build process for JavaScript assets
4. Maintained compatibility with the existing classic checkout while adding support for the new blocks checkout

To implement this update:

1. Create the directory structure:
```bash
mkdir -p blocks/src blocks/build
  1. Create all the files mentioned above
  2. Install the Node.js dependencies
  3. Build the JavaScript assets
  4. Test the integration in both classic and block-based checkout pages

The updated plugin will now work with both:

  • Classic WooCommerce checkout
  • New WooCommerce Blocks checkout

The payment flow remains the same, but the integration is now compatible with the modern block-based checkout experience. The plugin will continue to:

  1. Create a SatsPay charge when an order is placed
  2. Redirect to the LNbits payment page
  3. Handle payment confirmation through webhooks

Acknowledgements

This plugin is a fork of Phaedrus' original LNBits For WooCommerce.

Thank you to Phaedrus for the work on the original plugin on which this plugin leans heavily.

About

Woocommerce Payment Gateway

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •