Waves Woocommerce Gateway

In july 2017 Wavescommunity member Nikita released a Woocommerce plugin for Waves.
At that time we were just working out our ideas for the Waves Merchandise shop and wanted to use the plugin for our plans.
Although the original Woocommerce plugin worked great with Waves as a payment, it had some issues working on Waves assets.
So we’ve decided to hire a developer who helped us transform the plugin to work with Waves assets.

After succesfully running our Waves Merchandise Webshop and Wavesnode Services Website for some months now, we have decided to release the sourcecode to the public:


This plugin works with any Waves token, ofcourse Waves is integrated too.

People are free to use this plugin as their payment option with their own Waves asset,
all settings can be set on the WordPress/Woocommerce dashboard (Checkout-Waves tab):


The order module of WooCommerce only works when you force users to register an account on WordPress.
With guest payments there is no information about the orders, clients will not get an email about their order and you will receive the payment without any information.

This can be solved by using some extra plugins, we are using:

It is important to disable guest checkouts on your shop.
With these plugins you can set mandatory fields for visitors registering an account on WordPress.
Please set up all information you want to see from your customer.

Items in the shop are to be set in fiat.
The plugin calculates prices to Waves and then to any given Waves asset.
If no asset is set, Waves will be used as default payment currency.
Fiat->Waves->Asset (if set)
It is mandatory that there is active trading on the asset/Waves pair, as we use the 24 hour average price in the plugin.
Please check for your token having an active pair on this site: http://dev.pywaves.org/dexwaves/
We can also integrate your token as currency for fixed currency prices without calculations (like we do on our Services website).
Please create a pull request for this on our Github, or send us a message so we can add your token to the source code
(this is needed for fixed prices to work).

People are free to commit, we do free maintenance and giving it away.
This project is community driven and open source.
We paid for the development, but we believe in the platform.
So we hope it will be used a lot.

If you have any questions about the Woocommerce plugin, please open a support ticket:




Force users to create an account (no anonymous orders)

Add these lines in the functions.php file of your Woocommerce theme.

//Woocommerce visible only to logged-in users
function wpse_131562_redirect() {
if (
! is_user_logged_in()
&& (is_checkout())
) {
// feel free to customize the following line to suit your needs
add_action(‘template_redirect’, ‘wpse_131562_redirect’);

No confirmation after payment, caused by asset decimals

Our plugin excpects a custom token to have 8 decimals.
If you token has fox example 3 decimals, the payment and the order will not be recognized .
A small change in 1 of the files is needed.

In file gateway-for-woocommerce-master/includes/class-waves-gateway.php (line 92)

Change the variable
$total_waves = $total_converted * 100000000;
$total_waves = $total_converted * 1000;

(change the number of zeros to the number of decimals)

How to remove the VAT lines?

Add these lines in the functions.php file of your Woocommerce theme.

function sv_change_email_tax_label( $label ) {
$label = ”;
return $label;
add_filter( ‘woocommerce_countries_ex_tax_or_vat’, ‘sv_change_email_tax_label’ );

I want to use Waves, how to configure

When you want to use Waves, instead of a Waves-asset.
General settings have to look like this:







Make sure to leave the AssetID field empty, forcing the plugin to look for Waves payments only

Can I use an alias as receipient address?

No, aliasses are not supported.
Make sure to use Waves addresses only (3Pxxxxxxxxxxxxx)