Title: Bitcoin Setup Problem
Last modified: October 17, 2019

---

# Bitcoin Setup Problem

 *  Resolved [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/)
 * Hello!
    I set up new copy of WordPress with WooCommerce and installed Nomiddleman
   Bitcoin and Crypto Payments for WooCommerce. There are no other plugins installed.
   None. In Nomiddleman Bitcoin and Crypto Payments for WooCommerce setup I choose
   BTC with Classic mode first. Entered one BTC address anx tried to make a purchase.
   I’ve got “The site is experiencing technical difficulties.” after hit Place Order
   button on checkout page. Then I tried to add my Master Private Key to Privacy
   Mode settings in BTC and getting “Bitcoin has an invalid HD MPK. Disabling Bitcoin.”
 * What am I doing wrong?
    Thank you

Viewing 15 replies - 1 through 15 (of 19 total)

1 [2](https://wordpress.org/support/topic/bitcoin-setup-problem/page/2/?output_format=md)
[→](https://wordpress.org/support/topic/bitcoin-setup-problem/page/2/?output_format=md)

 *  Plugin Author [Nomiddleman Crypto](https://wordpress.org/support/users/nomiddleman/)
 * (@nomiddleman)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12040224)
 * Please try using these three addresses at the top of [https://en.bitcoin.it/wiki/Address](https://en.bitcoin.it/wiki/Address).
 * If none of those works you will need to enable debugging, trigger the error, 
   and send the logs to [nomiddleman@nomiddlemancrypto.io](https://wordpress.org/support/topic/bitcoin-setup-problem/nomiddleman@nomiddlemancrypto.io?output_format=md).
 * As for the MPK, we only support legacy addresses for MPKs so if your MPK starts
   with ypub or zpub it will not work. If your MPK starts with xpub please verify
   it is 111 characters long and it starts with xpub6. If you have verified this
   you might need to send it via email so I can debug it.
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12040563)
 * [@nomiddleman](https://wordpress.org/support/users/nomiddleman/) I’ve got a typo
   in my previous post. I meant not Master Private Key, but Master Public Key of
   course.
 * First I generated MPK myself via bx tool as described here: [https://bitcoin.stackexchange.com/questions/84116/get-master-private-key-from-bip39-seed](https://bitcoin.stackexchange.com/questions/84116/get-master-private-key-from-bip39-seed)
 * After your plugin throw an error that MPK is invalid, I checked your code and
   realized that the prefix supposed to start either with xpub6, ypub6 or zpub6.
   So apparently you require what is called extended public key. So I picked it 
   up
    from a program Bitcoin.com wallet and tried again. The plugin accepted it(
   so it is starting with xpub6 and has a length of 111 characters), but address
   generation failed.
 * For exapmle let’s pick up extended public key from here:
 * [https://bitcoin.stackexchange.com/a/80454/93412](https://bitcoin.stackexchange.com/a/80454/93412)
 * xpub661MyMwAqRbcFJwcugErEvzSgeKwGgHeLyzWKKK4C3edVRDbCU8o2pueJ5S26cXgPQQVRxQXyuoKrScnNKzohc4YNefs4zXg8tAhSLfnFo7
 * I am inserting it into “Privacy Mode MPK” field, pressing “Save Changes”. No 
   error thrown. But then I see “Address creation failed, please check your mpk.”
   in the fields where the addresses supposed to be.
 * [https://ibb.co/B4wpjpz](https://ibb.co/B4wpjpz)
 * Any idea how to debug it?
    -  This reply was modified 6 years, 7 months ago by [jakemorrow](https://wordpress.org/support/users/jakemorrow/).
    -  This reply was modified 6 years, 7 months ago by [jakemorrow](https://wordpress.org/support/users/jakemorrow/).
 *  Plugin Author [Nomiddleman Crypto](https://wordpress.org/support/users/nomiddleman/)
 * (@nomiddleman)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12043766)
 * I’m not getting the error on my setup with this MPK.
 * Please add to wp-config.php and try again:
 *     ```
       define( 'WP_DEBUG', true );
       define( 'WP_DEBUG_LOG', true );
       ```
   
 * Then navigate to WordPressDirectory/wp-content/debug.log and see if there are
   any errors.
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12043878)
 * I cannot see any log files whatsoever.
    I thought that the problem is because
   of permissions, but the owner of the wp-content directory is apache user (and
   it has write permissions) and my php-fpm is configured to run as apache user.
 * So that’s why I did this additionally:
 *     ```
       define( 'WP_DEBUG_DISPLAY', true );
       @ini_set( 'display_errors', 1 );
       ```
   
 * But I can’t see any errors still. Tried to delete MPK, save it, insert it again
   and save it. Still the same thing – the MPK is accepted but it can’t generate
   any addresses.
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12043880)
 * What PHP version are you using and what modules are required BTW?
 *  Plugin Author [Nomiddleman Crypto](https://wordpress.org/support/users/nomiddleman/)
 * (@nomiddleman)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12043969)
 * It is possible if you don’t have the php extension ‘gmp’ installed then you are
   timing out when generating the addresses.
 * Try uncommenting the line
    `;extension=gmp` in your php.ini.
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12044098)
 * Yes, that’s was the case. Thank you!
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12044515)
 * Dear author, apparently you forgot to add a field “hd_mode” into the table with
   addresses derived from MPK (*_nmmpro_hd_addresses). At least in my case the addresses
   were not displaying on the purchase form without that field – the records couldn’t
   get inserted or selected without it.
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12045621)
 * Next issue with Bitcoin setup.
 * Plugin is set for Privacy Mode MPK. Addressed being served. All good.
    Privacy
   Mode Required Confirmations set to 0 (zero)
 * Test purchase has been made to given address. Blockchain shows that transfer 
   alright. But order status in Woocommerce is still ‘On Hold’.
    Note inside the
   order: ‘Privacy Mode (HD wallet) address BITCOIN-ADDRESS is awaiting payment 
   of 0.0005 BTC. Order status changed from Pending payment to On hold.’
 * Transfer has no confirmations yet, but 30 minutes has elapsed since it’s visible
   in blockchain.
 * What seems to be a problem here?
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12052270)
 * Logs:
 * >  69 2019-10-18T22:10:04+00:00 CRITICAL Uncaught Error: Call to a member function
   > get_id() on null in /var/holland/gui/wordpress/wp-content/plugins/nomiddleman-
   > crypto-payments-for-woocommerce/src/NMM_Gateway.php:167
   >  70 Stack trace: 71#
   > 0 /var/holland/gui/wordpress/wp-includes/class-wp-hook.php(286): NMM_Gateway-
   > >thank_you_page(53) 72 #1 /var/holland/gui/wordpress/wp-includes/class-wp-hook.
   > php(310): WP_Hook->apply_filters(”, Array) 73 #2 /var/holland/gui/wordpress/
   > wp-includes/plugin.php(465): WP_Hook->do_action(Array) 74 #3 /var/holland/gui/
   > wordpress/wp-content/plugins/woocommerce/templates/checkout/thankyou.php(77):
   > do_action(‘wooco mmerce_tha…’, 53) 75 #4 /var/holland/gui/wordpress/wp-content/
   > plugins/woocommerce/includes/wc-core-functions.php(249): include(‘/var/holland/
   > gu…’) 76 #5 /var/holland/gui/wordpress/wp-content/plugins/woocommerce/includes/
   > shortcodes/class-wc-shortcode-checkout.php(2 48): wc_get_template(‘checkout/
   > thanky…’, Array) 77 #6 /var/holland/gui/wordpress/wp-content/plugins/woocommerce/
   > includes/shortcodes/class-wc-shortcode-checkout.p in /var/holland/gui/wordpress/
   > wp-content/plugins/nomiddleman-crypto-payments-for-woocommerce/src/NMM_Gateway.
   > php on l ine 167 78
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12052294)
 * The log above might be unrelated to the issue.
 * I just don’t quite understand how K can debug it. There suppose to be some task
   scheduler for wordpress. In Linux these kind of things supposed to be handled
   by programs like cron. But apparently in WordPress that kind of scheduler is 
   not used and instead, apparently, the scheduler is triggered by php – i.e. by
   client. If that is so, then – is it triggered by login to the admin panel of 
   WP? Or by the user browsing a page with order? So, how I can trigger the plugin
   to check the balance of the order? And how I can catch debug logs from it?
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12053930)
 * Uncommented the log function from the NMM_Util.php module. Can’t see any nmm.
   log file yet.
 * Installed plugin WP-Control to monitor what is going on with job scheduler of
   WP. It seems that scheduler wasn’t working.
 * > There was a problem spawning a call to the WP-Cron system on your site. This
   > means WP-Cron events on your site may not work. The problem was:
   >  Unexpected
   > HTTP response code: 401
 * So the scheduler requires an access to specific webserver url in order to work?
 * … started job manually:
 * > Successfully executed the cron event NMM_cron_hook
 * Again, can’t see any logs.
    -  This reply was modified 6 years, 7 months ago by [jakemorrow](https://wordpress.org/support/users/jakemorrow/).
    -  This reply was modified 6 years, 7 months ago by [jakemorrow](https://wordpress.org/support/users/jakemorrow/).
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12054069)
 * Hmm… adding wp-cron.php into the exception from Basic Authorization seems to 
   be working.
 * > <FilesMatch “(wp-cron.php)$”>
   >  Satisfy Any Order allow,deny Allow from all 
   > Deny from none </FilesMatch>
 * Yet it is unclear why the event didn’t produce any logs when I called it manually.
 * And it is also unclear how the wp cron scheduler actually working – why it cannot
   work under basic authorization.
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12054091)
 * Anyways, there is a bug for sure.
 * The missing field in the database.
    The “hd_mode” field.
 * Thanks!
 *  Thread Starter [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * (@jakemorrow)
 * [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/#post-12054127)
 * I am looking into nnm.log right now and see that blockexplorer.com was down at
   least one time (it was using cloudflare ddos protection). So it is kinda scary
   to use this in production. Is there any other data providers available in the
   plugin in case if blockexplorer.com is down?
    -  This reply was modified 6 years, 7 months ago by [jakemorrow](https://wordpress.org/support/users/jakemorrow/).

Viewing 15 replies - 1 through 15 (of 19 total)

1 [2](https://wordpress.org/support/topic/bitcoin-setup-problem/page/2/?output_format=md)
[→](https://wordpress.org/support/topic/bitcoin-setup-problem/page/2/?output_format=md)

The topic ‘Bitcoin Setup Problem’ is closed to new replies.

 * ![](https://ps.w.org/nomiddleman-crypto-payments-for-woocommerce/assets/icon-
   256x256.png?rev=2085626)
 * [Nomiddleman Bitcoin and Crypto Payments for WooCommerce](https://wordpress.org/plugins/nomiddleman-crypto-payments-for-woocommerce/)
 * [Support Threads](https://wordpress.org/support/plugin/nomiddleman-crypto-payments-for-woocommerce/)
 * [Active Topics](https://wordpress.org/support/plugin/nomiddleman-crypto-payments-for-woocommerce/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/nomiddleman-crypto-payments-for-woocommerce/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/nomiddleman-crypto-payments-for-woocommerce/reviews/)

 * 19 replies
 * 2 participants
 * Last reply from: [jakemorrow](https://wordpress.org/support/users/jakemorrow/)
 * Last activity: [6 years, 7 months ago](https://wordpress.org/support/topic/bitcoin-setup-problem/page/2/#post-12076280)
 * Status: resolved