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 868ea84f81 Minor fixes 2 years ago
assets Added copy to clipboard and show QR code button, DERO Accepted Here shortcode and other minor fixes 2 years ago
lib Fixed spelling error in get_bulk_payments RPC call 2 years ago
LICENSE Initial commit 2 years ago
README.md Update README.md 2 years ago
dero-woocommerce-gateway.php Minor fixes 2 years ago

README.md

DERO Payment Gateway for WooCommerce

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

Requirements

  • 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.

How to install

  • 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.

Settings

  • 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: 127.0.0.1)
  • 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)

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 transfers to the wallet gets fetched through Wallet RPC.
    • If the Payment ID of one of the pending orders matches with the Payment ID of one of the incoming transfers and the amount transfered isn’t less than the order total, payment is received and order status gets updated.
    • If payment isn’t received in time (Order valid time setting) 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.

Credits

Donations

DERO: dERiY64hDfghSaUCRJN6HuFpfuaQKnPftTfXoBbi7CaLVTFCGdYrPN5iZTWNcqiZkbEVqaGduHt6C2CagHV2SPQdeUeDKueYirQhGykNLZwrug5FHzP2sSFcngdwaxGrX2Ne5GjGc8xrBt

XMR: 46LugwCgmfMd9puoXiRzfobaFPHr1do78d6rbxkT32bo2cHX8vu2YRpVnQbyE7LQXzeZLVYmpv2jsQvFs6QirBoAJ4fXEGM

BTC: 18RUHsdW3pC9NSJ9g2HeYvNRhbAqyGoeM6

ETH: 0x80C5540a865740495AF4569954459E1Bf4EF0dB4

Screenshots

Settings

Settings

Place order

Place order

Order details

Order details