Pro Sites 3.5.0.1 Charged User and Disabled site

Since upgrading to Pro Sites v.3.5.0.1, two clients have been billed their subscription fee (via Stripe), with a successful payment (check via Stripe.com); Pro Sites did not register/log the successful payment webhook and promptly disabled their site(s).

These two sites were the first two payments for this months rotation and I fear this will be the case with all the other sites.

Please advise.

  • Adam Czajczyk
    • Support Gorilla

    Hey Scott,

    I hope you're well today and thank you for your question!

    I've tried to access your dashboard to take a closer look at your site's settings but I wasn't able to. It seems that you've granted a support access but something went wrong during the process and it's now giving me an "invalid token" error.

    That being said, could you please re-enable it for me again so I could investigate the issue further?

    Cheers,
    Adam

  • Scott
    • Site Builder, Child of Zeus

    Thank you @Michelle. I have also updated to 3.5.0.2 just in case. Please let me know how it goes.

    Seems like Pro Sites is successfully making the subscription payment through stripe, but is not receiving the confirmation of success. The bug seems to be in the Return, but I'm sure you already knew that :wink:

  • Scott
    • Site Builder, Child of Zeus

    I also noticed this new text in the Footer of the /network/sites.php page :

    * => The original Level doesn't exist, it might have been removed.

    Here's a log of one of the expired sites. This site was upgraded to a paid account on 6/8/2015 – Subsequently became expired on 6/11/2015. (Sensitive items have been removed - "X") – Pro Sites was upgraded to 3.5.0.1 on 6/9/2015.

    2015-06-12 3:39:29 pm Expired email sent to XXX@gmail.com
    2015-06-08 9:55:13 am Stripe webhook "customer.subscription.created" received: Customer successfully subscribed to XXX Pro: $X0.00 every 1 month.
    2015-06-08 9:55:12 am Stripe webhook "invoice.created" received: Customer ID: cus_XXX
    2015-06-08 9:55:11 am Stripe webhook "customer.card.created" received: Customer ID: cus_XXX
    2015-06-08 9:55:10 am Stripe webhook "invoice.payment_succeeded" received: The $0.00 payment was successfully received. Date: "06/08/2015", Charge ID "in_XXX"
    2015-06-08 9:55:07 am User modifying subscription via CC: Plan changed to (XXX Pro: $X0.00 USD each month) - cus_XXX

  • Rheinard
    • The Incredible Code Injector

    Hi @Scott,

    Apologies for the inconvenience here. We'll be releasing an update soon that will fix this issue.

    For those users renewing in the meantime they will need to be manually extended, but in the next payment cycle they will be fine.

    Again, apologies for the inconvenience. We will get the update out as soon as possible.

    Cheers,
    Rheinard

  • Scott
    • Site Builder, Child of Zeus

    Just to follow up for clarification... the 3.5.0.3 update was to correct this issue? And this will only happen to THIS round of renewals...not the next? We had another site go down but it is still in the current renewal cycle.

    Thank you

  • Adam Czajczyk
    • Support Gorilla

    Hey Scott!

    And this will only happen to THIS round of renewals...not the next?

    You're most likely right. As @Rheinard said, for the current round you'll need to manually extend but next time everything should go fine. However, just to make sure I've included @Rheinard in this post so he'll be notified of your question and hopefully he'll be able to either confirm this or provide some additional explanation.

    Cheers,
    Adam

  • Scott
    • Site Builder, Child of Zeus

    UPDATE: Now we have a Serious Issue... The first site to go down has gone down again, 4 DAYS BEFORE RENEWAL. I had to turn it back on manually, and they were not billed for the new cycle. This cannot continue. Please help!

    Audit trail:
    2015-07-08 2:48:16 pm Manual extension email sent to xxx@gmail.com
    2015-07-08 1:11:37 pm Expired email sent to xxx@gmail.com
    2015-06-15 11:05:26 am Manual extension email sent to xxx@gmail.com
    2015-06-12 3:39:29 pm Expired email sent to xxx@gmail.com
    2015-06-08 9:55:13 am Stripe webhook "customer.subscription.created" received: Customer successfully subscribed to xxx Pro: $50.00 every 1 month.
    2015-06-08 9:55:12 am Stripe webhook "invoice.created" received: Customer ID: cus_xxxxxxxxxxxxxx

  • Scott
    • Site Builder, Child of Zeus

    So, I figured out the display issues (why the table wasn't showing correctly on my site). It seems that when only one time period is selected (rather than all three), the entire table becomes distorted and it completely destroys the layout. There are multiple display issues depending on if: Tables Enabled/Not Enabled - 1 period or 3 periods - Period location...and so on. Each option throws the design completely out of whack. -- This was tested on a fresh install of WP 4.2.2. with Twenty Fifteen enabled.

    However, this still does not explain why Pro Sites is charging clients then subsequently sending an Expired notice.

    Please address these issues.

  • Scott
    • Site Builder, Child of Zeus

    Ok, another update. Now we are in the new cycle and the problem has persisted.

    Same result again, here's the log:

    2015-07-13 6:29:59 pm	Manual extension email sent to xxx@gmail.com
    2015-07-13 4:54:42 pm	Expired email sent to xxx@gmail.com
    2015-07-13 2:13:20 pm	Stripe webhook "invoice.created" received: Customer ID: cus_xxxxxxxxxxx
    2015-06-13 4:47:49 pm	Manual extension email sent to xxx@gmail.com

    What I do notice, is in the Site Management, the Payment Gateway is listed as 'Manual', and should be 'Stripe'. I noticed this since the upgrade. Stripe is still charging, but Invoices are not being sent and the sites are still expiring.

    `Manage Site : XXXX (Blog ID: 13)
    Current Pro Site
    Pro Site privileges will expire on: 08/13/2015
    Level: 1 - XX Pro
    Payment Gateway: manual <-- That seems to be the issue
    Payment Term: 1 Month'

  • Michelle Shull
    • DEV MAN’s Apprentice

    Hey Scott, thanks for the additional info here.

    Can I ask you to grab a quick WP_DEBUG? Open up your wp.config.php file, and replace any current WP_DEBUG line(s) with these:

    // Enable WP_DEBUG mode
    define('WP_DEBUG', true);

    // Enable Debug logging to the /wp-content/debug.log file
    define('WP_DEBUG_LOG', true);

    // Disable display of errors and warnings
    define('WP_DEBUG_DISPLAY', false);

    @ini_set('display_errors',0);

    This will create a new file called debug.log in your wp-content folder. Check for any warnings or errors in this log, you can disregard anything marked as a notice. Paste them here for us to see.

    Thanks!

  • Scott
    • Site Builder, Child of Zeus

    Seems most of these are because I had forgotten to rename a folder for js_compser (was js_compose b/c of two versions running on two different sites. It's all uniform now.

    [13-Jul-2015 23:03:16 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:16 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:16 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:03:16 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:16 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:16 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:03:17 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:17 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:17 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:03:17 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:17 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:17 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fopen(/home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php): failed to open stream: No such file or directory in /home/bizprowe/public_html/wp-includes/functions.php on line 4198
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4201
    [13-Jul-2015 23:03:27 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/bizprowe/public_html/wp-includes/functions.php on line 4204
    [13-Jul-2015 23:18:17 UTC] PHP Fatal error:  Cannot redeclare class Vc_Manager in /home/bizprowe/public_html/wp-content/plugins/js_composer/js_composer.php on line 33
  • Michelle Shull
    • DEV MAN’s Apprentice

    Thanks, Scott!

    You're right, this is all related to composer, none of this is ProSites related. That's good! But you're still having a pretty major issue, which isn't so good.

    Let's throw up the batsignal for @Rheinard and see if he's got some insight here, as well.

    Thanks for your excellent troubleshooting!

  • Scott
    • Site Builder, Child of Zeus

    I'm no programmer, but I can troubleshoot like nobody's business, lol. (a) Really would like to get this fixed, (b) Extremely obsessed now with what went wrong and looking forward to solving this riddle :slight_smile:

    Extra info for you all and @Rheinard:
    Here is the Audit Trail before I upgraded to 3.5.0.1

    2015-05-13 3:13:54 pm    Pro Site status expiration extended until 06/13/2015.
    2015-05-13 3:13:53 pm	Stripe webhook "invoice.payment_succeeded" received: The $50.00 payment was successfully received. Date: "05/13/2015", Charge ID "ch_xxxxx"
    2015-05-13 3:13:51 pm	Stripe webhook "charge.succeeded" received: Customer ID: cus_xxxxx
    2015-05-13 3:13:50 pm	Stripe webhook "invoice.updated" received: Customer ID: cus_xxxxx
    2015-05-13 2:11:17 pm	Stripe webhook "invoice.created" received: Customer ID: cus_xxxxx
    2015-05-13 2:11:15 pm	Stripe webhook "customer.subscription.updated" received. The customer's subscription was successfully updated to Pro: $50.00 every 1 month.
    2015-04-13 3:17:42 pm	Stripe webhook "invoice.updated" received: Customer ID: cus_xxxxx
    2015-04-13 3:17:41 pm	Payment receipt email sent to xxxxx@gmail.com
    2015-04-13 3:17:40 pm	Pro Site status expiration extended until 05/13/2015.
    2015-04-13 3:17:39 pm	Stripe webhook "invoice.payment_succeeded" received: The $50.00 payment was successfully received. Date: "04/13/2015", Charge ID "ch_xxxxx"
    2015-04-13 2:14:13 pm	Stripe webhook "customer.subscription.updated" received. The customer's subscription was successfully updated to Pro: $50.00 every 1 month.
    2015-04-13 2:13:50 pm	Stripe webhook "invoice.created" received: Customer ID: cus_xxxxx

    Here's the trail after the update: (This site went down again today)

    2015-07-13 6:29:59 pm	Manual extension email sent to xxx@gmail.com
    2015-07-13 4:54:42 pm	Expired email sent to xxx@gmail.com
    2015-07-13 2:13:20 pm	Stripe webhook "invoice.created" received: Customer ID: cus_xxxxx
    2015-06-13 4:47:49 pm	Manual extension email sent to xxx@gmail.com
    2015-06-13 2:34:43 pm	Expired email sent to xxx@gmail.com
    2015-06-13 2:34:42 pm	Pro Site status has been withdrawn.
  • Scott
    • Site Builder, Child of Zeus

    Ok, if it's an isolated incident, then I will push to troubleshoot on my own.

    *Was searching the mySql database and located the payment tables. I noticed that all of the sites that keep failing have listed gateways of "Manual". If I were to change these values to "Stripe", as they are supposed to be "Stripe" anyway (remember, when I upgraded the plug-in, they changed to Manual somehow), do you think this will correct the issue?

    Hmm....

  • Scott
    • Site Builder, Child of Zeus

    Real quick, in the database, I see the the table Meta with a:1:{s:8:&quote;trialing&quote;;i:0;} listed only for the sites that have gone down recently. This, along with the "Manual" Gateway value, I assume, is what's causing the issue.

    Should I clear this Meta value when I change the Gateway value to "Stripe"?

  • Adam Czajczyk
    • Support Gorilla

    Hey Scott,

    I hope you're well today!

    It seems like you're heading in a right direction but although it's taking quite a bit of time, could we please wait for @Rheinard advise on this? This is a complex stuff and as a plugin's developer he has a lot more knowledge on how this stuff works on a code level.

    Thanks in advance for your patience and great troubleshooting!

    Cheers,
    Adam

  • Michael Bissett
    • Recruit

    Hey @Scott,

    Really sorry for the delay here, I've called in another developer of ours here, @Umesh Kumar, so that we can dig into this further.

    I've also taken the liberty of granting 6 extra months of access to your account for free, since you've been so patient in the midst of all this. :slight_smile:

    Kind Regards,
    Michael

  • Scott
    • Site Builder, Child of Zeus

    Hello @Umesh,
    I went ahead and changed the Database of site that's about to renew. We'll see if this works. If not, I'll then allow Admin access. (Please understand my reluctance to allow at this time)

    Changes:
    1. Gateway: From "manual" to "Stripe"
    2. Removed Meta: "a:1:{s:8:"trialing";i:0;}"

    Saved data, the site is still running. This site is scheduled to renew 7/29/2015
    Fingers crossed that it's just this simple.

  • Scott
    • Site Builder, Child of Zeus

    *Update 2: Since rolling back to v. 3.4.7.2, I immediately noticed the Subscription Information & Subscriber Information have now re-appeared.

    Under v. 3.5.0.+, this information was not showing with the error "User is using a different payment..." or something like that. I have also send a private email to @Umesh Kumar regarding this new info.

    Thoughts?

  • Adam Czajczyk
    • Support Gorilla

    Hey @Scott,

    I hope you're well today!

    It seems that @Umesh Kumar isn't online at the moment but he's watching this thread. I'd like to ask you one more thing thoug, if you don't mind :slight_smile:

    As roll-back seems to help here and before this you were using the newer version of the plugin: did you upgraded to the newest release gradually (release after releas "on the fly") or did you "jump" from older to newest version skipping some releases?

    Please advise!

    Cheers,
    Adam

  • Adam Czajczyk
    • Support Gorilla

    Hey Scott,

    Thanks for this info!

    I must admit that's what I suspected :slight_smile: I'm not going to draw conclusions here but I'm also thinking that this is a possible reason of the issue. The 3.5 version included some major fixes and changes regarding checkout process and payment processing (including Stripe related).

    I know @Umesh Kumar is working on fixing this as soon as possible so I'm sure he'll come up with a solution in no-time. If it wouldn't be of too much trouble though you could try upgrading again but "gradually" this time: version after version. I'm not sure if it will help now once the issue is already there but it might be worth trying!

    Cheers,
    Adam

  • Scott
    • Site Builder, Child of Zeus

    Hey @Adam,

    I will give it a try after this initial billing cycle.

    Quite frankly, there should be no need to slowly increment the versions as each new version should already include the original changes. However, I will give it a shot and see what happens.

    At least I know I can roll-back again if it doesn't work.

  • Predrag Dubajic
    • Support

    Hi Scott,

    Quite frankly, there should be no need to slowly increment the versions as each new version should already include the original changes.

    This is true and it's not a practice of ours, this issue is specific so we are looking for specific solutions and doing the update this way would help us pinpoint the issue.

    Thank you for your patience and help on this one.

    Best regards,
    Predrag

  • Scott
    • Site Builder, Child of Zeus

    I see the update for v.3.5.1 is now available.

    There is one more client payment due tomorrow, once it has completed, I'll then (a) Install 3.5.1 and see if everything is ok - if not, then (b) Uninstall 3.5.1, then install/upgrade from 3.4.7.2 to 3.5.0, 3.5.0.1, ...and so on.

    Thank you for all of the help, let's hope 3.5.1 is the fixer :slight_smile:

  • Scott
    • Site Builder, Child of Zeus

    I upgraded 3.5.1 today and it did not work. The Subscription Information & Modify Pro Site Status boxes went bank as before.

    I then re-loaded, 3.4.7.2, confirmed it works, then uploaded 3.5 – Same result. The Subscription Information & Modify Pro Site Status boxes went bank

    Could there be a conflict with a Plug-In? I can provide a list of Network Activated & Main Site Specific Plug-Ins... Odd though how 3.4.7.2 would not have a similar conflict if there is one.

  • Michael Bissett
    • Recruit

    Hey @Scott,

    It'd definitely would be good to check if there is one, best not to leave a stone unturned. If you could try disabling the other plugins via FTP, as we mention at the bottom of our Getting Support page:

    https://premium.wpmudev.org/manuals/getting-support/

    And then try visiting the page for a site, to see if the Subscription Information & Modify Pro Site Status boxes are still blank.

    I've also notified @Umesh Kumar of what's going on, I have a feeling we're going to need his further assistance here.

    Let us know how that testing goes please! :slight_smile:

    Kind Regards,
    Michael

  • Scott
    • Site Builder, Child of Zeus

    New Update! I've been working with @Umesh Kumar on this for some time now and it looks like the latest update has corrected the issue.

    It appears v.3.5 was not updating the site Stripe tables in the database. However, since upgrading to 3.5.1.3 yesterday, the Subscription & Subscriber Info panels continue to display the correct data (before this info would disappear).

    I will leave 3.5.1.3 active through the next client payment, if successful then I'll declare this issue closed. Thank you all for your awesome support, time and patience.

  • Scott
    • Site Builder, Child of Zeus

    Ok, one small Hiccup. Two sites successfully charged to Stripe, but then again Pro Sites issued an Expired Email and reset the Theme/Plug-ins.

    My thoughts on this is that these were two sites still labeled as a Manual Gateway from when I extended the sites last month. It seems that Pro Sites did not recognize the Automatic Payment hook successfully firing/receiving commands to/from Stripe, therefore it did not update the Database Table from Manual to Stripe, resulting in the Expired Email and the Site Theme/Plug-ins resetting.

    I have manually changed the Database from Manual to Stripe for these two sites, now all active sites are displaying Stripe as the Payment Gateway. There are more payments to be processed in the coming days so I'll keep you posted.

  • Adam Czajczyk
    • Support Gorilla

    Hey Scott!

    Thanks for your feedback. Given the circumstances I think it should be fine now. I'll let plugin developer know about this though so he'll take a look into it in case some more fixes were needed.

    Thanks for info and keep me updated please so we could sort this out completely :slight_smile:

    Have a nice day!
    Adam

  • Scott
    • Site Builder, Child of Zeus

    Hey @Umesh, I hate to re-open this but it looks like the issue has once again reared it's ugly head.

    I'm tracking 2 clients who have been charged on 11/12 & 11/13 and both sites are displaying as Expired.

    Pro Sites 3.5.1.4 --- Also it is still sending Expired emails. The Expired emails function needs to be disabled until this is again resolved so the client doesn't freak out. Only Payment receipts have the ability to be disabled.

    Please advise.

  • Scott
    • Site Builder, Child of Zeus

    I have another client payment coming in today so I rolled back to 3.5.1.3.

    I have modified this version to not send Expiration emails to clients, but rather my admin account so I can be alerted and debug. ...this should be an option in future updates. Will allow owners to personally reach out to clients rather than just automated messages.

  • Michael Bissett
    • Recruit

    Hey @Scott, Michael here, really sorry for the delay on this!

    Where do we stand on this presently, are you still running into issues with sites on your network? If so, could you please elaborate as to what's wrong currently?

    This thread's mighty long, and I'd like to recap here, so that I can relay to the developer more efficiently, and get this sorted for you.

    On this:

    And now, when I manually extended the sites, a Stripe Webhook appears displaying that the Subscription has been Cancelled.

    What's going on here? I thought all of this was fixed?

    When changing to the Manual gateway like this, it'll cancel the Stripe subscription previously set up, a quick workaround (courtesy of Ben), would be to delete this code:

    call_user_func( $gateways[ $last_gateway ]['class'] . '::cancel_subscription', $blog_id );

    On line 2053 of:

    pro-sites/pro-sites.php

    Please note though, that this code change will affect all subscription changes, not just manual extensions to existing memberships.

    Kind Regards,
    Michael

  • Scott
    • Site Builder, Child of Zeus

    Hello @Michael,

    The original issue was that Pro Sites would process a payment via Stripe successfully, but then not extend the monthly subscription, causing the site to 'expire'; (somehow it was not receiving the confirmation hook from Stripe to extend the subscription).

    This issue had been corrected in v.3.5.1.3, but appeared again in v.3.5.1.4.

    ...v.3.5.1.5 is now available and I will upgrade and test after our Thanksgiving holiday.

    Thanks again

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.