Recurring Fundraising Donation no longer an option at PayPal Checkout

We had a donor try twice to create a recurring payment/subscription for Monthly donations, but the both times only a single payment came through.

I just replicated the issue by entering a dollar amount and selecting "Monthly" but when directed to PayPal there is no option or indication that the payment is recurring.

We have two recurring donations from other users so far. For both, we have only received the first payments, and their status in the dashboard in "not given". I am waiting to see if the payment comes through for them upon their renewal.

I've taken the troubleshooting steps suggested in other topics to ensure that our IPN is functioning properly. I do have "allow recurring payments" selected for the fundraiser. We have the most current version of the plugin activated.

The only thing I have done since the two successful subscriptions were created (albeit with invalid status) was change the language for the IPN to UTF8 as recommended in another topic, thinking that may resolve the Status Unknown message.

Could someone please attempt to make a recurring donation at http://tripawds.org/give

No need to actually checkout, or I will gladly refund any donated amount. We have just launched our Foundation and need to ensure subscriptions are working properly.

Thank you!

  • Michael Bissett

    Hey @jcnjr, hope you're doing well today! :slight_smile:

    I'm able to access the PayPal checkout page when I try making a recurring donation, but I would like to ask the following:

    - You're using a business PayPal account, correct?
    - I take it you're using Live mode presently, correct?

    Also, could you please send in the following, so that we can investigate this further:

    - Mark to my attention, the subject line should contain only: ATTN: Michael Bissett
    - Do not include anything else in the subject line, doing so may delay our response due to how email filtering works.
    - Link back to this thread
    - Include WordPress network admin access details
    - Include FTP log-in details
    - Include IPN logs
    - Include any relevant URLs for your site

    On the contact form, select "I have a different question", this ensures it comes through and gets assigned to me.

    https://premium.wpmudev.org/contact/

    Thanks a bunch! :slight_smile:

    Kind Regards,
    Michael

  • jcnjr

    Thank you @Michael Bissett

    I will send the details shortly, but first, to answer your questions:

    Yes, we'r using a PayPal business account.
    Yes payment gateway is in Live mode.

    However, here's the interesting part... I just tested this again and was able to successfully create a recurring donation ($1/daily). Doing so required using a different browser.

    I had selected Daily in Firefox to test again and noticed I was successfully redirected to the recurring payment checkout. This Paypal checkout page was different than the one I was sent to earlier before starting this topic. So, I went back to the project page, and selected each option (weekly, monthly, etc.) to confirm they were all working, and they were!

    I then proceeded to create a test subscription, entered $1.00, and selected Daily again, but instead of being redirected immediately to Paypal to confirm/checkout the subscription, I was redirected to our pledge page for collecting addresses at tripawds.org/projects/community-fund/pledge/

    After completing the address info, I was taken to the Paypal single payment checkout. This is clearly what happened with our donor who insisted she selected monthly but only made a single payment. And it is the behavior I confirmed before stating this support topic.

    Once I launched Chrome, and immediately selected a recurring donation before doing anything else, the checkout process worked properly–sending me to Paypal and indicating the recurring payment details.

    Please try to replicate this by selecting a recurring donation to confirm the proper Paypal checkout page, then return to the donation page and try it again.

    UPDATE!!!!!!!!

    NOTE: I may have just discovered the cause of the issue. After making the successful recurring donation, I just returned to the donation page and selected one of the default "Honor" amounts.

    Please try this: Select the $10 Pals option, AND Monthly. You will notice how that combination does NOT redirect to Paypal for the recurring payment checkout. If one of these amounts is selected, only a single payment is allowed/sent.

    Once I had selected one of the default gift amounts, no matter what amount I entered, I would always be redirected to the /pledge page if selecting any recurring option. Only after clearing browser cache and cookies, did the recurring option work.

    Hope this all makes sense! We need to have the Gifts/Honors levels of default payment amounts AND allow the option for recurring payments. A combination of the two, however, does not send the donor to Paypal to confirm their subscription. It only allows a single payment checkout. And, returning to the page any time after that, only a single payment is made.

    We now have a donor who has made a single payment twice while attempting to create a subscription. Embarrassing... :-\

    Thanks for the help!

  • Jose

    Hi there @jcnjr,

    Hope you are doing fantastic today, and thanks for the detailed report on the issue. :slight_smile:

    I have being working on a lot of improvements for the Fundraising recurring payment option on the last few days.
    A new version is just about to be released containing all this fixes and improvements.

    Nevertheless, I'm attaching a RC version so that you can start using it.

    This new version will cover all the issues related to IPN calls being blocked by the server, recurring payments not being logged correctly, and several other improvements, but I wasn't aware of the issue that you are mentioning about the combination of gift amounts and recurring cycles.
    I'll ask you to please let me know if you see the same behavior after installing this version.

    Hope everything else works as expected now.

    I'll wait for your feedback :slight_smile:

    Thanks in advance,
    Jose

  • jcnjr

    Thank you @Jose

    I appreciate the early update! Unfortunately it does not resolve this specific issue I have identified:

    When selecting a default Gift amount AND choosing the Monthly option, I am redirected to our /pledge page to enter an address (a good thing) but am then sent to Paypal for a single payment checkout. :slight_frown: I am not presented with the recurring payment confirmation screen.

    IF, however, I enter a dollar amount without selecting a default Gift option AND select Monthly, I am then redirected immediately to the PayPal recurring payment terms confirmation page.

    Please test for yourself at http://tripawds.org/give

    Thank again, I'm happy to test any updates as we just launched our new 501c3 and need to keep promoting our fundraising campaign!

  • jcnjr

    It looks like my $1 Daily donation is working properly...almost. The status is now shown as "Ongoing subscription" but the amount displayed is $0 with one payment completed and $2 total. I have received $3 total ($1 each day over the past three) in our Paypal account.

    I presume the "one payment" is a result of only one being received so far since the new plugin update. But the $0/daily is odd. See screenshot for details.

    Regarding the subscription checkout and default dollar amount options, I'm looking forward to confirmation about that issue ASAP as we need to be actively promoting fundraisers through the end of the year. Trying to explain this issue to donors wishing to subscribe is proving to be a challenge!

  • Jose

    Hey @jcnjr,

    I presume the "one payment" is a result of only one being received so far since the new plugin update.

    You are correct. The new version includes a lot of improvements and it stores some data that wasn't stored in previous payments.
    You can be sure that new payments will work as expected now.

    For the previous payments, I can log into your DB and fix it. It didn't worth to make the improvement backward compatible because the old recurring payments where quite buggy and only one payment was being logged even when there were more trannsactions registered in PayPal.

    But the $0/daily is odd.

    This makes total sense. The new version is logging the recurring base amount during the 'sign up' confirmation which contains a specific parameter for this.
    Of course, the old payments won't receive the sign up confirmation again, but only the payment confirmation for each cycle.

    Will wait for the feedback in the predefined amount.

    Thanks for the patience and apologizes about the mess with the numbers. This change was totally necessary, and the plugin is processing the recurring transactions in the right way now :slight_smile:

    Cheers,
    Jose

  • jcnjr

    @Jose FYI: @Michelle Shull was helping me test another Fundraising button issue and made a donation via her phone. We received the Paypal notification but her payment was never applied within the plugin admin.

    This is the first donation we received since updating to the Fundraising-2.6.1.3RC you supplied, so I thought you should know.

    We are discussing the other issue in this topic: https://premium.wpmudev.org/forums/topic/fundraising-buggy-on-phone-and-tablet

  • jcnjr

    Sorry @Jose but I just keep discovering new issues! Since the plugin update provided above, the page at http://tripawds.org/projects/ just loads a blank white screen.

    I know there is no actual page for this, and it should work like a tag or category listing to show all current projects. But I do recall it working when I set up the site, and we now have various links to "see all current projects" that just load the blank screen.

    I'm not 100% certain when this started, but I'm pretty sure it was only since the RC update. Thanks in advance for looking into this too!

  • Jose

    Hey jcnjr,

    We received the Paypal notification but her payment was never applied within the plugin admin.

    What type of payment was it? recurring or single?
    There are no differences on how PayPal's notification are handled between desktop and mobile. If you can see the transaction in PayPal, it should be logged in your site.
    Could you please share the IPN call details with me?

    You can send it via contact form :
    - In the subject field add "Attn: Jose”
    - Link back to this thread
    - If not a proble, please add WP and FTP access just in case I need to take a look directly on your install.
    On the contact form, select "I have a different question", this ensures it comes through and gets assigned to me.

    the page at http://tripawds.org/projects/ just loads a blank white screen

    This doesn't seem to be related with the update. All the changes in the new version are related only to paypal's payment workflow.
    It doesn't sounds as a rewrite issue neither, siince you are not getting a 404 apparently.
    This seems to be some PHP error. It might be a bug in the plugin or a conflict with other piece of code.
    Did you try enabling debug logs in wp-config and looking for errors

    Thanks again for all your feedback :slight_smile:

    Cheers,
    Jose

  • jcnjr

    This seems to be some PHP error. It might be a bug in the plugin or a conflict with other piece of code.

    Upon loading the /projects "page" Firefox console reports:

    Use of getPreventDefault() is deprecated. Use defaultPrevented instead.

    Turning on WP_DEBUG via wp-config did not indicate any errors or display any notices upon page load.

    The error_log in our root directory has no reference whatsoever to tripawds.org

    Server error logs show no related errors.

    FYI: Just in case you were not aware, tripawds.org is a subsite of our main multisite network at tripawds.com, mapped using the WPMU Dev Domain Mapping plugin. Not sure if this is related at all, just wanted to make sure you knew.

    I do recall the /projects page displaying properly when I set up the site. No new plugins have been installed since I activated Fundraising.

    The next few days before Christmas and through year-end are vital in our first fundraising campaign for this new Foundation. So, I am most concerned about the recurring payments button issue and payments not getting logged in the admin.

    Thanks for the continued help!

  • jcnjr

    UPDATE: I just noticed now that Michelle's donation did eventually get logged in the dashboard, and applied to the progress bar.

    It apparently just took 6+ hours for it to show up. We received the notification from Paypal at 10:10 a.m. and it looks like it got logged on our site at 4:51 p.m.

    Better late than never, eh?

    I don't know of any IPN logs other than the IPN History I sent from our Paypal account, so I have no idea why it failed, only that it took 11 retries. Any thoughts?

    Still looking forward to getting that recurring payment with predefined amount working too... :wink:

    • Jose

      Hey Jim,

      Glad to hear that the payment was finally logged. It means that all the changes to the IPN handler are working fine, so we are good.

      Regarding the delay, it was caused by the first 10 attempts from PayPal to contact your site's endpoint failed.
      From PayPal docs: "PayPal continues to re-send the message periodically until your listener responds, although the interval between retries increases with each attempt. An IPN will be resent for up to four days, with a maximum of 15 retries".

      We need to figure out why the first 10 calls failed. The most common reasons are:
      - Your site was down at that moment.
      - Your site was too slow and caused a timeout.

      Could you please send me one of those failed IPN details? there we can find some clues on what is the failure.

      In the meantime, I'll be looking in the others issues that you reported.

      Cheers!
      Jose

  • jcnjr

    Could you please send me one of those failed IPN details?

    Where will I find this information? I'm seeing no IPN logs folder in our install (like there is in the IPN Forwarder script we're using from @Aaron on another site), and I only found the most recent details that I sent in my Paypal account's IPN History.

    At this point, I 'm more concerned about getting Fundraising working on mobile devices, and figuring out the cause for our blank /projects page.

    Thank you!

  • Jose

    Hi Jim,

    I just pushed a fix into your site that will solve the problem with recurring payments + rewards.
    Now, the payment should be registered as recurring even when the user sets a pre-defined amount.

    I also added some debug traces into the IPN handler so that we can have more information if something doesn't work as expected.
    In order for the debug trace to work, I added a small mu-plugin and set WP_DEBUG_LOG = true. Please do not change it until we are completely sure that everything is working fine.

    Let me know if you notice any glitch in the rewards + recurring feature.

    Cheers,
    Jose

  • jcnjr

    Well... that didn't take long to test!

    I am no longer able to add any predetermined Reward levels.

    Clicking the Add Honor link does nothing. When clicked, the Firefox Console reports:

    TypeError: string is undefined wdf-post.js:87

    I tried turning Honors off, then back on with no difference. The patch (or something) has deleted the Honors I had set up for this fundraiser, and is keeping me from adding them back...

  • Jose

    Hey Jim,

    Both, rewards and progress bar issue seems to share the same root.

    My last patch should not affect this. It only changes the checkout prcess.
    Eitherway, I just tried a roll back to be sure and it didn't make any difference.

    I have the same version running on my dev environment, and I'm using the same theme from your site, and everything works fine on my end.

    Did you change something on the last few days? a new plugin or new setting that might cause a conflict?

    I might need access to the DB. Could you please send me cPanel or phpMyAdmin crdentials via email?

    Cheers,
    Jose

  • jcnjr

    Thanks @Jose ! As soon as we can get the Reward levels working again, I'll test it by creating a daily donation.

    UPDATE: We received our first recurring payment via Paypal since the plugin update with the IPN fixes. It looks like the donor's current total did update with the second payment, but the monthly amount still shows as $0 with only 1 payment, and I had to scroll back to find the donation since the date did not update with the last payment. Just an FYI really, since I'm not sure this is expected behavior...

  • jcnjr

    UPDATE: I am still unable to add Honors/Rewards to the fundraiser. I have therefore turned Rewards off to remove the confusing "none" checkbox on the project page.

    I also notice that the title of the fundraising project has been changes to "Funder" and I don't see where to change this. If I recall correctly, the title displayed used to be the project title.

    Finally, I notice the style of the title bar in our theme has been changed from the solid color to the default background image. Was this necessary or can I change it back?

    Thanks again for all the help! Looking forward to getting the progress bar back in posts, and the Rewards working so I can test the predetermined amounts with recurring payments.

  • Jose

    Hey Jim,

    I'm still working on this. Tried to make a backup of your DB but no luck. Weird things are happengin on your site, so I want to be sure we have a recent snapshot of your DB. Please let me know if this is the case.

    Finally, I notice the style of the title bar in our theme has been changed from the solid color to the default background image. Was this necessary or can I change it back?

    There was an error in the console caused by a background image failing to load. The problem was a wrong relative path in your custom CSS. I fixed the path, that's why you are seeing the backround now.
    If you want to make it solid, you need to remove the background image from the custom CSS in your theme config:

    #top-section {
        padding: .5em 0px;
        background-color: #1e450a;
        background: url('../../wp-content/themes/forthecause/images/bg-top-section.png') repeat scroll 0% 0% #1e450a;
    }

    Cheers,
    Jose

  • Jose

    In addition,

    I also notice that the title of the fundraising project has been changes to "Funder" and I don't see where to change this. If I recall correctly, the title displayed used to be the project title.

    By looking into your theme's templates, this is the expected behavior. It will show the title only for pages. For single posts it will show the post type (in this case 'Funder').

    If you want to change this, you will need to customize the method 'woo_display_top_section()' in the line 811 of the file wp-content/themes/forthecause/includes/theme-functions.php.

    Eitherway, I'm not sure if it would make sense to show the title of the post twice. I would suggest just to hide the title with a simple CSS addition:

    .single-funder #top-section h1 {
      visibility: hidden;
    }

    Cheers!

  • jcnjr

    Weird things are happening on your site

    That is for sure!

    I now notice the Admin bar is missing on single posts. It shows on all other pages.

    Comments are no longer displaying of posts. And the Leave a Comment link no longer works. Comments are enabled, and I the Comments panel is being called in the theme.

    The Sidebar is not showing on single posts, yet it is being called in the theme template.

    Post navigation links are gone on the single blog posts.

    All of this started happening about the time the Fundraising bar disappeared from posts, or when the Honors/Rewards stopped working.

    The other night I had to restart Apache during a heavy spike in server loads. I wonder if that may have been the result of the attempted db dumb, or other action related to troubleshooting the Fundraising fixes.

    And yes, we do backup daily db and file archives, not that I would ever be excited to have to restore them!

    Please let me know if there is anything I can do the help get to the bottom of these issues ASAP. We are in the middle our very important first fundraiser for a brand new Foundation and we need things to be working smoothly.

    THANK YOU!

  • Jose

    Jim,
    The root of all the problems seems to be the same. The page is loading partially and the rendering is stopped causing a lot of javascript failures.

    I'm still looking into it. I found a conflict with one of your plugins causing a 500 internal server error, but once I disabled the plugin and the error gone, it didn't solve the issues.

    I'll let you know as soon as I find something.

    Cheers,
    Jose

  • jcnjr

    everything works perfect now...

    Almost! The Honors/Rewards still don't work. I turned them back on, and my previous Honors were not listed, and when I attempted to add them back, I still get the wdf-post.js error. See screenshot and please try adding a Reward.

    Please let's test the fundraising features...

    I look forward to testing the predefined Reward amounts with a recurring donation as soon as we can get that working! :slight_smile: As a reminder, this issue started happening after the last patch was added...

    We're getting close! Thank you so much for all your efforts @Jose !!!

    PS: What file was corrupted and how did you find out, so I can investigate if similar issues arise in the future?

  • Jose

    Hey Jim,

    Yes, we are getting closer :slight_smile:

    What file was corrupted and how did you find out, so I can investigate if similar issues arise in the future?

    I don't know. After a bunch of hours working on the site without finding the cause, and given that it was a silent error, I guessed that something might be wrong with a broken file in the core (since it was affecting all the plugins and there were errors even with all the plugins disabled).
    I replaced the whole wp-includes folder.

    We can't delete and recreate our live fundraiser, so what can I do to fix it?

    My guess is that something got partially stored in the DB due to the problem with the broken files, and that is causing an issue when rendering the Rewards view. I believe that fixing it manually in the DB should be enough. I'll try and let you know.

    Thanks for your patience once again :slight_smile:

  • jcnjr

    You should be good to go now

    Excellent! I am so close to marking this thread as resolved...if we can just address a couple final remaining issues...

    1. Is there any way we can remove the "None" option from the list of Rewards/Honors? If not, that's fine. It just seems confusing and I'm not sure what purpose it serves.

    2. The dollar amount in the thank you email for recurring donations still shows as $0.

    I have successfully created two recurring $1 daily donations, one from our iPhone and another from our iPad. The WDF Admin updated perfectly, indicating Ongoing Subscription, $1.00 Daily, and 1 payment completed. The value, however, for %DONATIONTOTAL% in the Thank You email, renders as $0 instead of the first donation amount.

    I'm not sure if or how this could be fixed, so we can just reword our message to inform subscribers/donors that they can view their PayPal account for current total donated.

    FYI: I also attempted to create a recurring donation together with a selected Reward amount, and successfully reached the Paypal checkout page.

    Thank You @Jose !!!

  • jcnjr

    Thanks @Ashok !

    I'll implement that CSS unless @Jose suggests otherwise.

    As for the $0 %DONATIONTOTAL% amount in the email, that may be caused by the way PayPal handles initial payments for recurring donations. See what I just noticed with the test donation/subscription I created...though I'm not certain that $0 initial payment is generated by the plugin or something on Paypal/s end. :-\ (Hope this helps!)

    The good news is, IPNs are clearly working properly for new recurring donations. Amounts updated properly, and the Status is correct, even after cancelling via PayPal. Nice work everyone!

  • Jose

    Hi Jim,

    I'll implement that CSS unless @Jose suggests otherwise.

    You can go with Ashok's workaround. The 'None' radio button is there only to provide a clear way to deselect a reward.
    It will be deselected if you enter a custom amount as weel, so you will be good by just hidding it with CSS.

    As for the $0 %DONATIONTOTAL% amount in the email, that may be caused by the way PayPal handles initial payments for recurring donations.

    Yes, you are right. We are now handling the IPN signals in the correct way, so the first sign-up signal should not log any amount until the subscription payment signal is received.
    This is causing the issue because the email is triggered with the sign-up, when the amount is still 0.

    I've fixed the emmail formatting routine and pushed the patch to your site. It should work fine now.

    Also, I added a handy hook in case you want to customize the email for recurring payments.

    You can use something like this now:
    function customize_email_body($msg, $trans, $is_for_mail, $raw_msg){
    //check if the transaction is a recurring payment.
    if( $trans['recurring'] && $is_for_email){
    //You can override the message or just add some custom lines
    $msg .= 'This line will be addded only for recurring payments.';
    }
    return $msg;
    }
    add_filter( 'wdf_thank_you_message_body', 'customize_email_body', 10, 4);

    Please let me know if everything works as expected and I'll include this last patch to the next release.

    Thanks!
    Jose

  • jcnjr

    The 'None' radio button is there only to provide a clear way to deselect a reward.

    That makes sense now!

    ...let me know if everything works as expected

    Well, there is one thing...
    and that is...
    to thank you for all your efforts on this!

    You've gone above and beyond the call of duty here for troubleshooting and adding the fixes. Hopefully some of the concerns I raised have helped improve the plugin.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.