Why does Fundraiser override the specified IPN in paypal?

I've realized that you over-ride the IPN I set in PayPal when someone makes a donation in Fundraiser. Is there any way to stop this? I have my IPN set to a broadcaster to send the notices to multiple systems, but because you over-ride the IPN within the plugin, the notifications only go direct to Fundraiser, and not the broadcaster. You tell people that the IPN in PayPal must be set to a certain URL, but this isn't true. It can be set to anything, as long as it is turned on, and then Fundraiser overrides it.

  • Andre Foisy

    Hello there @Kenneth

    Welcome to the WPMU Dev community, and thank you for contacting our support team with your question.

    I hope you're having a wonderful day! :slight_smile:

    I'm sorry to see that there may be a few pieces of information that you may have missed to understand exactly how this plugin works, and the very only reason why it must be implemented this way for it to work for its own purpose, and not how you may have expected.

    Let me quote a piece of the manual here:

    You need to setup your PayPal gateway to talk to your website. In order for the plugin to keep track of the payments and donations you will need to have a way for PayPal to tell the plugin what monies it has received. The thing that provides this communication is the IPN, or Instant Payment Notifications, settings in PayPal.

    Now, I do not know to where you set your PayPal IPN, and of course you can set it to where you want, but in order to have this plugin to work the PayPal IPN must be set as indicated, otherwise the plugin cannot be updated and calculate the amounts received and post the updated total of donation amounts and show the progress bar.

    The Fundraiser Manual here, explain all this in great details.

    I hope that helps you better understand how this works, and why the IPN must be set as indicated.

    Please, do not hesitate to ask if you need more help at anytime.

    Best regards,
    Andre

  • Kenneth

    Thank you for your quick reply. Yes, I think I do understand in detail how this plugin is working. I set the IPN notification in PayPal appropriately and the plugin works as it should. However, because of the way PayPal implements IPN, you can't use Fundraiser and other Enterprise solutions that depend on IPN. The solution is to use an IPN broadcaster that will send the notices to Fundraiser and multiple other plugins.

    However, in your file class.gateway.php, line 111, you override the PayPal set IPN. So no matter what you set your PayPal IPN to, your plugin overrides the IPN setting with its own. Therefore, the messages never go to the rebroadcaster. See code below.

    //Handle all our Instant Notifcations
    $this->ipn_url = admin_url('admin-ajax.php?action=wdf-ipn-return-'.$this->plugin_name);

    I would love to be able to modify this line to something like:
    $this->ipn_url = get_site_url(‘’,routerurl1.php,’’);
    but that doesn't seem to work.

    If I just comment out this line, then Fundraiser will stop overriding the IPN set in PayPal, but obviously the override goes deeper than that in the code.

    So my question remains, why do you override the IPN with PayPal, and isn't there an easy way to turn off the override and have Fundraiser work by sending the IPN messages to the correct Fundraiser ajax script (http://www.example.org/wp-admin/admin-ajax.php?action=wdf-ipn-return-paypal)?

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.