• Resolved krutiw29

    (@krutiw29)


    Hello. I’m using the Charitable donation form in an Elementor page. All donations in test mode remain in “Pending” status. My client did one donation with the test mode turned off and that also remained “Pending” until it was manually changed to “Paid”. I’ve set up sandbox accounts, tested with the PayPal Tester tool and IPN has been manually configured on the PayPal account. With the PayPal Tester tool, there was no message with further details, except that there was no notification received from PayPal and that I should refresh the page.

    Please let me know what the problem could be and what I can try next to make this work. Thank you!

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author WPCharitable

    (@wpcharitable)

    Hi @krutiw29, thanks for reaching out.

    Although it sounds like you might have stumbled on it already, I do want to make sure you know about Charitable’s PayPal troubleshooting page:

    https://www.wpcharitable.com/documentation/paypal-ipn-troubleshooting/

    You didn’t mention if PayPal got the donation/payment, so as the document above asks – was there any information gleamed from the donation logs? Did you manually update the IPN and double check settings on the Paypal side? Other reminders:

    • Verify that the PayPal account you are using has a verified email address.
    • Check that PayPal is receiving payments in the same currency as Charitable is set up with.
    • If you have a firewall plugin or the Bad Behavior plugin installed, try disabling them temporarily to see if the issue persists.
    • Check your permalink settings under Settings > Permalinks. If you are using a Custom Structure that starts with index.php, this is likely to be the issue.

    If all of this was done and confirmed, the page above notes:

    If the IPN notification was not successful, it may mean that your web hosting server needs some upgrades; the email you received should have included more details about that.”

    Before you turn to the server to investigate, I would suggest the following:

    1. Enable WP_DEBUG and WP_DEBUG_LOG to catch any possible errors as you further test: https://developer.www.ads-software.com/advanced-administration/debug/debug-wordpress/
    2. Deactivate all addons and plugins outside of Charitable itself, and attempt a test with a legacy/simple campaign. This includes deactivating Elementor.
    3. Switch to a default WordPress theme and attempt a test.
    4. If by now things still haven’t been successful, conduct another test with the PayPal test tool. If the results are the same, see if there’s anything in debug log generated (via step 1 above) that indicates an error or communication issue with PayPal.

    Hopefully this helps troubleshoot or narrow down the issue.

    Plugin Author WPCharitable

    (@wpcharitable)

    We are going to go ahead and close this thread for now. But if you’d like us to assist further, please feel welcome to continue the conversation.

    Thanks!

    daridavis

    (@daridavis)

    I’ve followed the instructions/suggestions above. The IPN tester tool says the test was successful, but donations are still pending. How can I contact you? Is the only way to get support through a Premium subscription?

    Plugin Author WPCharitable

    (@wpcharitable)

    Hi @daridavis.

    So the tester tool went from “no notification received” (your first message) to “successful”? And this was in test mode (making sure Charitable’s “test” checkbox was checked on the gateway page in Charitable settings)?

    Focusing on the other tips we shared, just to confirm you (1) enabled debugging (2) deactivated all non-Charitable plugins including Elementor (3) switched to a default theme… and after all of these the test payments didn’t change from “pending”?

    What happens when you attempt to visit this link in your site? https://yourwebsite.com/charitable-listener/paypal

    If the debugging was on, then you or your hosting company could example the debug.log to see if there are any errors or warnings specific to Charitable in there. Contacting your host to make sure there isn’t anything in place that would prevent Paypal from contacting your server. I would try maybe to confirm that another Paypal related plugin works on your server (like EDD) to make sure it’s not a communication issue. Also double check the suggestions on our doc page (the ones not related to the IPN test plugin) and your Paypal settings.

    We do offer support in these forums for our lite plugin, so you don’t need a premium subscription for support. Such subscriptions cover more secure and advanced technical support and also include the addons in the paid plans. I hope this helps.

    Thread Starter krutiw29

    (@krutiw29)

    Hello @wpcharitable,

    Thank you for responding. I followed your suggestions from both your responses and unfortunately, I haven’t seen any changes.

    1. “We haven’t received a notification from PayPal yet. Refresh this page in a few minutes. We will also send you an email to notify you when we receive the notification from PayPal.” This is the notification I get every time I run a test with the tester, and there is no email received detailing any errors
    2. I enabled WP_DEBUG and WP_DEBUG_LOG and there is no debug file generated
    3. I can confirm that the one donation made outside of test mode did go through PayPal; my client got an email from PayPal that the money had been withdrawn from the account but the donation remained in pending status in Charitable until it was manually changed to “Done”. There was no other information in the donation logs.
    4. When I try to access https://yourwebsite.com/charitable-listener/paypal for the site I am working on, I get “Invalid Request” as the response

    Please let me know what I can do next to troubleshoot this, thank you!

    daridavis

    (@daridavis)

    I have (1) enabled debugging and (2) deactivate all other plugins.
    I’ve rand the Paypal Test Tool again and it says that everything looks fine. It was successful.

    I’ve noticed that if I make a donation in Test Mode, the donation does automatically get marked as paid. When I do live mode (non-Test Mode), the donations all remain pending.

    I also get “Invalid Request” when I go to my domain /charitable-listener/paypal.

    • This reply was modified 1 year ago by daridavis.
    • This reply was modified 1 year ago by daridavis.
    Plugin Author WPCharitable

    (@wpcharitable)

    @krutiw29 Thanks for the follow up.

    1. That Paypal notification message does hint that SOMETHING is wrong but hard to determine what. Going to suggest the following in the hope we can narrow down things a bit:
    2. If you don’t see a debug file generated where it should be, reach out to your hosting company to make sure they don’t have any settings that might be overriding the generation of the log file or where it’s located. They should be able to confirm this for you, since it’s part of standard WordPress site debugging/support.
    3. Go to PayPal to confirm again the IPN. Go to “Profile and Settings” and select “My selling tools”. From there find “Instant Payment Notifications” and click the “Update” link. Make sure you have a single IPN that matches your site URL exactly including the https (a secure SSL website is required for live payments).
    4. Ensure that there isn’t any odd or custom rules setup in your .htaccess file on your WordPress install.
    5. If you have truly deactivated ALL plugins BUT Charitable ask your host if you have any caching on their end to turn off (ask at the same time perhaps as the error logging above). The fact that you get “Invalid Request” when you tried the URL is actually a good thing – it means that the webhook on your end where Charitable receives webhook from Paypal is working (it’s invalid because you are going there directly and aren’t PayPal – in fact this url is likely the one that should be matching in your IPN).
    6. Try accessing the IPN History (this is your regular Paypal account, not your developer one – they have more information on their site about this) and see if you can locate the successful payment you mentioned, and if there was a “200” success code. Even if there was, it doesn’t mean Charitable didn’t get the notification but at least that’s a step to confirm. And if you can make sure there’s no caching, and with the error logging functional, and all plugins but Charitable deactivated, and on a default theme – you should be able to “resend selected” once you check off the payment, and then determine if an error is logged or if Charitable acknowledges the hook.

    Thread Starter krutiw29

    (@krutiw29)

    Hi @wpcharitable,

    Thanks for responding and for all the suggestions. After I flushed the cache, the Charitable Tester began showing positive results – I got the notification that the tests were successful. But donations still remained in Pending status.

    I got a debug.log file when I tried to resend PayPal IPN’s. This is the error I get: PHP Warning: Attempt to read property “comment_count” on null in /var/www/wp-includes/general-template.php on line 3194

    Resending IPN’s resulted in getting an error on the IPN history page itself and they remain stuck in “Resending” status. I can confirm however that I get the correct “200” code for all IPN’s.

    (I’m also going to add this here in case this helps anyone else – IPN History has to be accessed through your sandbox merchant account, not your personal one, as the latter isn’t a business account. Also, Paypal treats all accounts as separate so I had to log into the sandbox business account that I’ve been using for testing and enable IPN’s there with the appropriate URL.)

    All other plugins on the site are still deactivated except Charitable and its tester tool and the theme is a default one as well. I can also confirm that there are no .htaccess files and that it’s a secure SSL site.

    Hopefully this helps narrow it down further. Please let me know. Thanks

    daridavis

    (@daridavis)

    @wpcharitable,

    I added a comment a few days ago, but didn’t tag you. Maybe that’s why it was missed. I wrote:

    I have (1) enabled debugging and (2) deactivate all other plugins.
    I’ve rand the Paypal Test Tool again and it says that everything looks fine. It was successful.

    I’ve noticed that if I make a donation in Test Mode, the donation does automatically get marked as paid. When I do live mode (non-Test Mode), the donations all remain pending.

    I also get “Invalid Request” when I go to my domain /charitable-listener/paypal.

    Plugin Author WPCharitable

    (@wpcharitable)

    @krutiw29 Thanks for your response. Sadly we are running out of things to try here. The PHP Warning I don’t think is involved – if that is the only error you get throughout the entire donation/test. The fact that you cleared cache for tester to have results tells us that cache might still be involved (I believe earlier we suggested turning off any and all cache, even hosting side while trying to confirm payments).

    Can you confirm that your tests are coming up as paid in Charitable? Or is it test and live Paypal payments?

    Charitable processes that webhook/IPN and sets the donation to complete. If the webhook/IPN is unable to reach your site the donation will remain “Pending”. Sometimes this happens when a donor gives up during the payment (so PayPal does not communicate it to your website so we keep the donation pending). So can you confirm ALL the steps you are doing for your testing? What’s the last step in the process?

    Because Charitable processes the donation when Paypal sends the webhook/IPN back then either (1) PayPal isn’t sending the notification or it’s getting blocked or not arriving correctly (cache, firewall) or (2) Charitable for some reason isn’t recognizing the communication. Sounds like as far as PayPal is concerned it’s sending something and getting a 200 (but this doesn’t mean it’s reliable).

    I would double check with your hosting company to check for any network issues that might prevent communication between your server and PayPal’s servers. Be aware that tests might not always reflect real-time payment processing. Test transactions might remain in a pending state for longer than expected.

    The next step would be to locate another WordPress plugin to test PayPal test payments (such as EDD). If it works, then it leans more toward Charitable. If it doesn’t, leans more towards something not related to Charitable.

    I’ll let you know if there are any further suggestions from our team.

    Plugin Author WPCharitable

    (@wpcharitable)

    @daridavis thanks for the update. Your situation sounds similar, so I would go through the correspondence with @krutiw29 and try all the suggestions we provided including confirming the debug.log file generated by WP_DEBUG doesn’t show anything, checking the IPN history page on PayPal, confirming what the last step in the testing process is (do you get to a Charitable receipt page, for example), and finally… if it comes down to it, see if another plugin can do a test PayPal payment.

    I’ll let you know if there are any further suggestions from our team.

    Thanks!

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘PayPal donations remain in “pending” status’ is closed to new replies.