Support » Plugin: WooCommerce PayPal Powered by Braintree Payment Gateway » Can **NOT** Delete Plugin!!!!!

  • Resolved anphira

    (@anphira)


    I went into WooCommerce > Settings > Checkout and turned off “Enable PayPal Powered by Braintree”.

    However I can NOT deactivate OR delete this plugin!!!!!!

    I’ve tried going to Plugins and deactivating. Everytime I deactivate it, it’s reactivated again within a minute. I can’t delete it from the WP interface because it won’t stay deactivated.

    I also tried DELETING THE FILES via FTP for the plugin, but they are rouge mutant files that every time I try to delete them they reappear!!!!!!

    I want this plugin GONE!!!!!! FOREVER!!!!!!

    Rouge mutant plugin behavior MUST be a violation of the WP terms. Plugins MUST be able to be REMOVED!!!!!!!!!!!!

Viewing 15 replies - 1 through 15 (of 19 total)
  • @anphira

    I was able to deactivate the plugin, after it was activated.

    Also confirmed I was able to delete the plugin from Plugins screen as well.

    WooCommerce PayPal Powered by Braintree Gateway was successfully deleted.

    PayPal Standard is included in WooCommerce core as well.

    https://docs.woocommerce.com/document/paypal-standard/

    • This reply was modified 1 year, 3 months ago by  Luke Cavanagh. Reason: clarify wording
    • This reply was modified 1 year, 3 months ago by  Luke Cavanagh. Reason: clarify wording

    I’ve now tried deactivating WooCommerce which is the only thing that leaves this plugin deactivated!! As soon as WooCommerce is activated again this plugin immediately returns!

    So I tried deactivating WooCommerce, this plugin, then deleting BOTH plugins via FTP. Then I downloaded a brand new WooCommerce and uploaded that via FTP. However, as soon as I activated WooCommerce this plugin RETURNED!!!!!

    It’s IMPOSSIBLE TO DELETE THIS MUTUTANT PLUGIN FOR GOOD!!!!!!!!

    @anphira

    So PayPal standard in WooCommerce core, shows up as
    WooCommerce > Settings > Checkout > PayPal
    /wp-admin/admin.php?page=wc-settings&tab=checkout&section=paypal

    Whilst the plugin WooCommerce PayPal Powered by Braintree Payment Gateway, will show up as
    WooCommerce > Settings > Checkout > PayPal Powered by Braintree
    /wp-admin/admin.php?page=wc-settings&tab=checkout&section=paypalbraintree_cards

    When you deactivate the plugin WooCommerce PayPal Powered by Braintree Gateway. Then only PayPal standard will show in the WooCOmmerce checkout settings options.

    I’m having exactly this issue. It won’t stop prompting me to activate my Braintree account, even when I’ve disabled it. And I can’t seem to find how to delete it.

    Ah, I see: it’s a regular plugin that does nothing. In addition to deactivating it in WooCommerce, I also deactivated the plugin.

    Ghah. What the hell is the point of this plugin? It’s just an additional middleman that offers nothing.

    Have you tried FTP/SFTP? If you can access your website via FTP, just go to your-website/wp-content/plugins/woocommerce-paypal-plugin (or whatever the actual paypal plugin directory name is), and rename it to something like “woocommerce-paypal-plugin-out”. This will disable the plugin. You can also delete the plugin via FTP, if you need to.

    Side note: When activating/deactivating plugins, it might be a good idea to have browser caching disabled. Google Chrome, Firefox and Safari automatically do this when Dev Tools is open. Also, make sure you clear all website caches when activating/deactivating plugins. This will help immensely.

    Well-meaning people of the community, you can NOT help. Only the developer of the plugin can possibly fix this.

    From Plugins, if deactivated, the plugin will reactivate all by itself within a few minutes. If deleted via the WP admin, it reappears within minutes. If deleted via FTP, it reappears within minutes. I’ve contacted the hosting company, even they can’t get rid of it.

    I’ve tried downloading clean WooCommerce files and that doesn’t fix it. As soon as WooCommerce gets activated, this daemon plugin returns. Whoever the crackpots are that work on this should be banned from ever writing code again!

    Plugin Contributor Hannah S.

    (@fernashes)

    Automattic Happiness Engineer

    @anphira – community is one of the things that makes WordPress so great. I’d advise making use of it.

    A plugin can’t reactivate itself – it’s outside of the scope of what a plugin can do. There must be something else in play, such as a browser caching plugin.

    I’m not sure what’s happening on your server, but I also recommend removing the plugin via FTP.

    @joshuaacnewman

    So be to clear Braintree is worth using on a WC store, currently using it on a client site.

    One example is you can take credit/debit card payments using this payment gateway as well as a customer being able to pay using PayPal.

    https://www.braintreepayments.com/how-braintree-works

    I’m experiencing the same problem. WooCommerce PayPal Powered by Braintree Gateway is a zombie plugin that just will not die. Despite the developer’s claim above that “a plugin can’t reactivate itself,” this plugin does in fact do exactly that. If I deactivate it from the plugin screen, it is immediately reactivated behind the scenes, making it impossible to delete from that screen:

    The zombie plugin that will not die

    So I took the next logical step and deleted the plugin files entirely via FTP. Guess what? The plugin reinstalled itself within seconds, just as reported by @anphira and @joshuaacnewman.

    Now, even though @fernashes‘s casual dismissal of this issue is incorrect, we all know that her claim is technically true—it’s not possible for the plugin itself to reinstall/reactivate itself after being deactivated, because at that point its code is no longer running. Despite this, the fact remains the plugin is being reactivated and even reinstalled. So what’s going on here? I could only think of one possible answer: WP-Cron.

    It's alive! IT'S ALIIIIIIVE!!

    Using the WP Crontrol plugin, I was able to confirm that there is a “woocommerce_plugin_background_installer” event scheduled to install and activate this plugin. Problem solved, right? At this point, I should be able to just delete that event using Crontrol, deactivate/uninstall Braintree, and the nightmare should be over… Right?

    No. That would be too easy.

    It seems that even if I delete the event, a new one is immediately rescheduled. WTF?

    I figured if I could find out where this event is being scheduled from, that should get me closer to a solution. So I did a search of the Braintree plugin’s code, but it does not contain the string “woocommerce_plugin_background_installer.” In fact, I could only find that string in two places, and they’re both associated with the WooCommerce install wizard.

    So, while this is definitely a real issue, it’s starting to look like it may be a bug in WooCommerce, rather than the Braintree plugin itself. Is there a way we can ping someone from @woothemes to look at this?

    • This reply was modified 1 year, 1 month ago by  chatmandesign. Reason: Fixing image links
    • This reply was modified 1 year, 1 month ago by  chatmandesign. Reason: Added links to full-size screenshots
    • This reply was modified 1 year, 1 month ago by  chatmandesign. Reason: I like to tweak things, ok?

    Ok, it took some deep digging, but I finally did it. Here’s how you can deliver the headshot that will put down the Braintree plugin zombie for good:

    1. Deactivate all plugins, including WooCommerce.
    2. Once WooCommerce is deactivated, you can deactivate and delete the Braintree plugin.
    3. Using phpMyAdmin (or any database management tool of your choice), find the wp_options table for your WordPress install, and search for the option_name “cron”.
    4. Delete the option_value content for this record.
    5. Reactivate all plugins.

    That’s all there is to it. Note that this will wipe out ALL registered cron jobs. This should be okay, though, because WordPress and its plugins will re-register new cron jobs as needed. It’s possible some plugins might rely on cron jobs they only register upon activation, but reactivating all plugins as the last step should ensure that’s taken care of as well.

    So what unholy force caused the plugin to rise from the dead to begin with? I believe the issue was due to unescaped quotes inside a quoted string in the serialized cron event data stored in the database, which was most likely created by the WooCommerce Setup wizard. I couldn’t find any of the related strings in this plugin’s code, so it looks like the Braintree plugin itself is most likely not to blame, but rather a bug in the WooCommerce Setup wizard code.

    I’ve filed a support ticket with WooCommerce and referred them to this thread, so I hope they’ll be able to track down the source of the issue and fix it in a future version.

    • This reply was modified 1 year, 1 month ago by  chatmandesign. Reason: Fixed typo
    anphira

    (@anphira)

    THANK YOU @chatmandesign!!!! You are seriously my hero for figuring this out. The evil plugin has been deleted and it has STAYED deleted.

    Mike Jolley

    (@mikejolley)

    Looks like your cron job is not clearing after installation, so it just runs it again and again. I’ll try to figure out why that would happen.

    chatmandesign

    (@chatmandesign)

    @mikejolley, glad to see you’re on the case! You might want to take a look at WooCommerce Support ticket #487212. I discussed this issue with a Michael K., who came to the conclusion that the cron job couldn’t be removed because its index did not match its content. However, we were never able to come up with a satisfactory explanation as to what caused that.

    Thank you very much @chatmandesign, you’re my hero too!

    I had same issue with the WooCommerce PayPal Express Checkout Payment Gateway extension, it seems that cause is the same.

    https://wordpress.org/support/topic/i-can-deactivate-the-plugin/

    Thanks again.

Viewing 15 replies - 1 through 15 (of 19 total)
  • The topic ‘Can **NOT** Delete Plugin!!!!!’ is closed to new replies.