diff --git a/README.md b/README.md index bce2aac..4be3a6c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This plugin is rather simple but there are a few things that need to be set up b * A web server! Ideally with the most recent versions of PHP and mysql -* The Monero wallet-cli and Moenro wallet-rpc tools found [here](https://getmonero.org/downloads/) +* The Monero wallet-cli and Monero wallet-rpc tools found [here](https://getmonero.org/downloads/) * [WordPress](https://wordpress.org) Wordpress is the backend tool that is needed to use WooCommerce and this Monero plugin @@ -15,19 +15,19 @@ Wordpress is the backend tool that is needed to use WooCommerce and this Monero This Monero plugin is an extension of WooCommerce, which works with WordPress ## Step 1: Activating the plugin -* Downloading: First of all, you will need to download the plugin. This can be done by typing `git clone https://github.com/monero-integrations/monerowp.git` or can be downloaded as a zip file from the GitHub web page. +* Downloading: First of all, you will need to download the plugin. This can be done with the command `git clone https://github.com/monero-integrations/monerowp.git` or can be downloaded as a zip file from the GitHub web page. * Put the plugin in the correct directory: You will need to put the folder named `monero` from this repo into the wordpress plugins directory. This can be found at `path/to/wordpress/folder/wp-content/plugins` -* Ativate the plugin from the WordPress admin panel: Once you login to the admin panel in WordPress, click on "Installed Plugins" under "Plugins". Then simply click "Activate" where it says "Monero - WooCommerce Gateway" +* Activate the plugin from the WordPress admin panel: Once you login to the admin panel in WordPress, click on "Installed Plugins" under "Plugins". Then simply click "Activate" where it says "Monero - WooCommerce Gateway" ## Step 2: Setup the Monero Wallet RPC -* Setup a monero wallet using the moenro-wallet-cli tool. If you do not knwo how to do this you can learn about it at [getmonero.org](https://getmonero.org/resources/user-guides/monero-wallet-cli.html) +* Setup a monero wallet using the monero-wallet-cli tool. If you do not know how to do this you can learn about it at [getmonero.org](https://getmonero.org/resources/user-guides/monero-wallet-cli.html) * Start the monero daemon on your server and leave it running in the background. This can be accomplished by running `./monerod` inside your monero downloads folder. -* Start the Wallet RPC and leave it running in the background. This can be accomplished by running `monero-wallet-rpc --rpc-bind-port 18081 --disable-rpc-login --wallet-file /path/walletfile` where "/path/walletfile" is your actual wallet file. +* Start the Wallet RPC and leave it running in the background. This can be accomplished by running `monero-wallet-rpc --rpc-bind-port 18081 --rpc-login username:password --wallet-file /path/walletfile` where "username:password" is the username and password that you want to use, seperated by a colon and "/path/walletfile" is your actual wallet file. ## Step 3: Setup Monero Gateway in WooCommerce @@ -45,4 +45,9 @@ This Monero plugin is an extension of WooCommerce, which works with WordPress * Enter the port number of the Wallet RPC in the box labeled "Daemon PORT" (will be `18081` if you used the above example). +* Enter the username and password that you want to use in their respective feilds + * Click on "Save changes" + +## Info on server authentication +It is reccommended that you specify a username/password with your wallet rpc. This can be done by starting your wallet rpc with `monero-wallet-rpc --rpc-bind-port 18081 --rpc-login username:password --wallet-file /path/walletfile` where "username:password" is the username and password that you want to use, seperated by a colon. Alternatively, you can use the `--restricted-rpc` flag with the wallet rpc like so `./monero-wallet-rpc --testnet --rpc-bind-port 18081 --restricted-rpc --wallet-file wallet/path`. diff --git a/monero/include/monero_payments.php b/monero/include/monero_payments.php index 4954505..47e2e4a 100644 --- a/monero/include/monero_payments.php +++ b/monero/include/monero_payments.php @@ -4,7 +4,6 @@ class Monero_Gateway extends WC_Payment_Gateway { private $monero_daemon; - function __construct() { @@ -21,6 +20,8 @@ class Monero_Gateway extends WC_Payment_Gateway $this->host = $this->get_option('daemon_host'); $this->port = $this->get_option('daemon_port'); $this->address = $this->get_option('monero_address'); + $this->username = $this->get_option('username'); + $this->password = $this->get_option('password'); // After init_settings() is called, you can get the settings and load them into variables, e.g: // $this->title = $this->get_option('title' ); @@ -30,7 +31,7 @@ class Monero_Gateway extends WC_Payment_Gateway foreach ($this->settings as $setting_key => $value) { $this->$setting_key = $value; } - + add_action('admin_notices', array( $this, @@ -44,7 +45,6 @@ class Monero_Gateway extends WC_Payment_Gateway - add_action('woocommerce_thankyou_' . $this->id, array( $this, 'instruction' ) ); if (is_admin()) { @@ -54,7 +54,7 @@ class Monero_Gateway extends WC_Payment_Gateway 'process_admin_options' )); } - $this->monero_daemon = new Monero_Library($this->host . ':' . $this->port . '/json_rpc'); + $this->monero_daemon = new Monero_Library($this->host . ':' . $this->port . '/json_rpc', $this->username, $this->password); } public function admin_options() @@ -64,7 +64,7 @@ class Monero_Gateway extends WC_Payment_Gateway echo "