Pulse is a WordPress plugin that enables automated affiliate payouts for WooCommerce using the Bitcoin Lightning Network and BTCPayServer. It allows store owners to easily manage affiliate programs with secure, instant, and low-cost payments.
- Affiliate signup system with encrypted Lightning addresses
- Custom affiliate link creation
- Automated affiliate payouts via BTCPayServer
- Support for both encrypted and unencrypted affiliate links
- Custom affiliate mappings for personalized affiliate codes
- Integration with WooCommerce for order tracking and commission calculation
- WordPress 5.0+
- WooCommerce 3.0+
- BTCPayServer instance
- PHP 7.2+
- Download the Pulse plugin ZIP file.
- Log in to your WordPress admin panel and navigate to Plugins > Add New.
- Click "Upload Plugin" and choose the downloaded ZIP file.
- Click "Install Now" and then "Activate Plugin".
- Go to the Pulse settings page in your WordPress admin panel (Settings > Pulse).
- Enter your BTCPayServer URL, API Key, and Store ID.
- Set your desired commission rate.
- Generate or enter your encryption keys for secure affiliate links.
- Configure additional settings such as allowing unencrypted addresses and custom affiliate mappings.
To generate the appropriate API key for Pulse in BTCPayServer:
- Log in to your BTCPayServer instance.
- Navigate to the "Settings" section.
- Click on "Access Tokens" and then the link under "Greenfield API Keys"
- Click on "Generate Key".
- Set a label for your key (e.g., "Pulse Affiliate Plugin").
- Under "Permissions", select the following:
Manage your pull payments btcpay.store.canmanagepullpayments
Archive your pull payments btcpay.store.canarchivepullpayments
Create pull payments btcpay.store.cancreatepullpayments
View your pull payments btcpay.store.canviewpullpayments
Create non-approved pull payments btcpay.store.cancreatenonapprovedpullpayments
Manage payouts btcpay.store.canmanagepayouts
View payouts btcpay.store.canviewpayouts
- Click "Generate" to create the API key.
- Copy the generated API key immediately, as it won't be shown again.
- Paste this API key into the Pulse plugin settings in your WordPress admin panel.
To find your BTCPayServer Store ID:
- In BTCPayServer, go to "Stores" and select the store you want to use with Pulse.
- The Store ID is typically visible in the URL of your store's management page.
- It can also be found at Settings > General > Store ID
- Copy this ID and paste it into the Pulse plugin settings.
Check this box if you want any affiliate payments to be marked pre-approved upon creation by the plugin and paid by BTCPayServer automatically.
If you leave this unchecked, you will need to manually approve payouts periodically. Recommending using this setting as this is beta software and could have bugs.
To enable Lightning (off-chain) payouts:
- In BTCPayServer, go to "Settings" then "Payout Processors".
- Under "Automated Lightning Sender", click "Configure (Or "Modify" if already enabled).
- Set your desired settings.
- Save
- Set up your BTCPayServer instance and ensure it's properly configured.
- Generate the API key in BTCPayServer as described above.
- Configure the Pulse plugin settings, including the BTCPayServer URL, API Key, and Store ID.
- Create an affiliate signup page using the
[pulse_affiliate_signup]
shortcode. - Monitor affiliate signups and payouts through the WooCommerce order interface.
- Sign up using the affiliate signup form on the store's website.
- Receive your unique affiliate link (encrypted, unencrypted, or custom, depending on store settings).
- Share your affiliate link to promote the store's products.
- Earn commissions on qualifying sales, paid out automatically via the Lightning Network.
Pulse uses RSA encryption to secure affiliate Lightning addresses. Store owners should ensure that their private key is kept secure and not shared publicly.
- Ensure your BTCPayServer instance is properly configured and accessible.
- Verify that the API key has the correct permissions as listed above.
- Check that the Store ID is correct and matches the store you intend to use.
- Check the WordPress error logs for any issues related to affiliate signups or payouts.
- Verify that your WooCommerce settings are correct and that orders are being processed properly.
Contributions to Pulse are welcome! Please submit pull requests to the GitHub repository.
Pulse is released under the Unlicense. See the LICENSE file for more details.