Fundraiser Plugin - Stop Sending Notify_URL to paypal

I just installed the latest update for Fundraiser. I see you made some coding changes to the IPN routing in Class.gateway.php. However, you are still overriding the IPN setting in PayPal. Why do you do this. Can't you just let users set the IPN in PayPal (per your instructions) and let it go? By overriding the IPN address, you prevent me from using an IPN broadcaster.

For example. I setup an IPN broadcaster, and set my PayPal IPN settings to send messages to http://www.example.com/ipnbroadcaster.php. The broadcaster is then set to forward the message to WPMU Fundraiser (at the correct IPN) and also multiple other 3rd party systems. But in your class, you override this setting and tell PayPal to send the message to Fundraiser instead of my IPN broadcaster. This is a little frustrating, as I have to go in and edit your code whenever you do an update.

To fix this you need to stop sending to PayPal the "notify_url" form field. Just let PayPal handle the IPN notification as the user configures it.

  • Jose

    Hi there @Kenneth,

    Thanks for your suggestion. I get what you say and it makes sense.

    We override the notify_url parameter because in that way the plugin will work without need to configure the IPN url in PayPal side. In fact, to set the IPN in PayPal is only required in order for recurring payments cancellation to be notified.

    Nevertheless, we are aware that in order to use the same PayPal account with different applications/plugins it is neccessary to use an IPN broadcaster. That's why we provide a proper hook for this.
    If you take a look at line 114 in the file ../wp-content/plugins/fundraising/lib/classes/class.gateway.php you will find the following:
    $this->ipn_url = apply_filters('wdf_payment_return_url_' . $this->plugin_name, trailingslashit( home_url('wdf-payment-return/' . esc_attr($this->plugin_name))));

    So, in your case you will need to use something like this in your code:

    function override_ipn_url($url){
        //return your custom url here.
    }
    add_filter('wdf_payment_return_url_paypal' , 'override_ipn_url', 99, 1)

    This way, you won't need to modify the plugin core anymore.

    Please let me know if this workaround works fine in your situation.

    Cheers,
    Jose

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.