We are using Civi 4.7.29 on Wordpress 4.9.4

Recently we moved our civi install of the root directory oursite.com to a subdomain subdomain.oursite.com.

While we were on the root directory, we were able to take recurring payments with out any problems. Suddenly on the subdomain, we are not able to accept recurring transactions anymore through paypal. It shows the recurring transactions as Pending/Incomplete in civi.

It just occurred to me that the IPN paths might still be hooking to the root directory and need to be changed to the subdomain.

Can someone tell me which folder these IPN hooks are in, so I can review them?

Thank you.

  • Is there a setting within your payment processor you need to update with the new domain?
    – petednz - fuzion
    Apr 9 '18 at 2:18

Your IPN path is configured in paypal - the best path to point it to is yoursite/civicrm/payment/ipn/x where x is the number of the processor. Once you have updated it in paypal it is possible to re-send missed ipns from the paypal console


Have a look at civicrm/extern/ipn.php.

Perhaps you could solve this by adding a rewrite or redirect statement in your .httaccess in the root directory.

  • But what am i redirecting?
    – fdarn
    Mar 11 '18 at 14:20
  • Redirect: Something like * From: oursite.com/blog\wp-content\plugins\civicrm\civicrm\extern/ipn.php * To: subdomain.oursite.com/blog\wp-content\plugins\civicrm\civicrm\extern/ipn.php Rewrite: Something like * From: ^/oursite.com/blog\wp-content\plugins\civicrm\civicrm\extern/ipn.php * To: subdomain.oursite.com/blog\wp-content\plugins\civicrm\civicrm\extern/ipn.php
    – BobS
    Mar 11 '18 at 18:44
  • Both of these solutions preclude you from using a payment processor with a Worpress site that may exist at oursite.com/blog, but you could work around this by changing the name of the WP installation directory. Beware that the rewrite method won't work if the payment processor does not honor redirect requests. And of course make sure that the parameter string of the initial request is passed on through any replace expressions you write in your .htaccess directives.
    – BobS
    Mar 11 '18 at 18:45

Which IPN file is used depends on what payment processor extension you use. So it might be a different file, not necessarily extern/ipn.php

The webhook URL that your payment processor tries to contact is sent along with the payment information. So for the old payments, your payment processor probably has the old URL stored and it's probably not possible to change that in their system.

The redirect option BobS mentioned here is probably what you need to do. Or add a Rewrite rule (that way the payment processor is not redirected)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.