DERO Payment Gateway Plugin for WooCommerce
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Peppinux b2fb868c77
1 year ago
assets Added copy to clipboard and show QR code button, DERO Accepted Here shortcode and other minor fixes 4 years ago
lib Fixed spelling error in get_bulk_payments RPC call 4 years ago
LICENSE Initial commit 4 years ago Update 1 year ago
dero-woocommerce-gateway.php Minor fixes 4 years ago
installation_guide.pdf Add files via upload 4 years ago

DERO Payment Gateway for WooCommerce

Start accepting secure and private payments with DERO on your WooCommerce shop.

:zap: This project was developed back in 2019 for DERO Atlantis. As such, it’s not going to be compatible with the latest DERO-HE STARGATE release.


  • A web server with PHP and Wordpress installed are needed for WooCommerce. (Plugin tested on PHP version 7 and Wordpress 5.2.2)
  • WooCommerce plugin for Wordpress installed. (Plugin tested on WooCommerce 3.1.6)
  • A running istance of the dero-wallet-cli for receiving payments.
    • Wallet needs to expose its RPC server by running it with the --rpc-server flag.
    • --rpc-login=username:password flag should be added for security reasons.
    • Using the previous flag is strongly advised (not by the plugin, but by common sense) especially if the wallet is running on a different machine (consequently with a open port) from the web server.

Complete Installation Guide

Quick Installation Guide

  • Download the plugin from the releases page.
  • Unzip it into the wp-content/plugins folder of your Wordpress folder.
  • Activate the plugin in the Plugins -> Installed Plugins page of your Wordpress Dashboard.
  • Set up and Enable the payment gateway in the WooCommerce -> Settings -> Payments page of your Wordpress Dashboard.


  • Enable/Disable - Enable or disable DERO Payment Gateway. (Default: disabled)
  • Title - Payment title which the user sees during checkout. (Default: DERO Payment Gateway)
  • Descrition - Payment description which the user sees during checkout. (Default: Pay securely and privately using DERO. Payment details will be provided after checkout.)
  • Discount - Percentage discount for making a payment with DERO. (Default: 0 = no discount)
  • Order valid time - Amount of time the funds must be received in after the order is placed. (Default: 3600 seconds = 1 hour)
  • Confirmations - Number of confirmations that the transaction must have to be valid. (Default: 10 = around 2 minutes)
  • Wallet host - Wallet RPC host used to connect to the wallet in order to verify transactions. (Default:
  • Wallet port - Wallet RPC port used to connect to the wallet. (Default: 20209)
  • Wallet login required - Enable or disable whether wallet RPC needs to login. (Default: disabled)
  • Wallet username - Wallet RPC username used to connect to the wallet. (Default: none)
  • Wallet password - Wallet RPC password used to connect to the wallet. (Default: none)

DERO Accepted Here Badge

Use shortcode [dero-accepted-here] to display the badge on your pages.

DERO Accepted Here Badge

How it works

  • After order checkout:
    • A random Payment ID and associated Integrated Address are generated through Wallet RPC.
    • Order total gets converted to DERO thorugh CoinGecko API and discount (if present) gets applied to the new DERO total.
    • Said generated variables and other details are stored in a MySQL database through wpdb for following payment processing.
    • Integrated Address, total amount of DERO to pay, amount of time left to pay and other useful details are shown to the customer in the order summary page.
  • Once every minute on the server (through Wordpress CRON Job):
    • List of pending orders paid with DERO gets fetched from the database through wpdb.
    • List of incoming payments with the same Payment ID gets fetched through Wallet RPC.
    • If payment isn’t received in time, order status is set to failed.
    • If the amount transfered isn’t enough to cover the total of the order, order status is set to failed and the owner of the shop has to refund the customer.





Admin - Dashboard Settings


Customer - Place order

Place order

Customer - Order details

Order details